Fabric-Admin and Fabric-Bridge example applications are provided to demonstrate Fabric Synchronization feature. You can find them in the examples.
Fabric-Admin example app implements the Fabric Administrator role and communicate with the Fabric-Bridge-App on the other side, facilitating the Fabric Synchronization process.
Fabric-Bridge-App example app implements the Aggregator device type with Fabric Synchronization condition met and demonstrates the end-to-end Fabric Synchronization feature using dynamic endpoints.
Fabric Synchronization can be triggered from either side. The initiator of the Fabric Synchronization process, who shares their devices, takes on the Commissioner role. The recipient of the Fabric Synchronization request, who receives the shared devices, assumes the Commissionee role. This flexibility enables a seamless and efficient synchronization process.
-
Building the Fabric-Admin Application
-
Building the Fabric-Bridge Application
Connect to the Fabric Source server:
ssh ubuntu@xxx.xxx.xxx.xxx
Password:
Run the Fabric Source script:
./run_fabric_source.sh
Connect to the Fabric Sink server:
ssh ubuntu@xxx.xxx.xxx.xxx
Password:
Run the Fabric Sink script:
./run_fabric_sink.sh
Enable Fabric Auto Sync:
In Fabric-Sync console:
fabricsync enable-auto-sync 1
Pair the Fabric-Source bridge to Fabric-Sync with node ID 1:
fabricsync add-bridge 1 <fabric-sink-ip>
Pair the Light Example with node ID 3 using its payload number:
pairing already-discovered 3 20202021 <ip> 5540
After the Light Example is successfully paired in Fabric-Source, it will be synced to Fabric-Sink with a new assigned node ID.
Toggle the Light Example:
From Fabric-Source:
onoff on <node-id> 1
onoff off <node-id> 1
From Fabric-Sink: (Use the node ID assigned)
onoff on x 1
onoff off x 1
Unpair the Light Example:
pairing unpair <node-id>
After the Light Example is successfully unpaired from Fabric-Source, it will also be removed from the Fabric-Sink.
Pair the switch using its payload number:
In Fabric-Source console:
pairing code-wifi <node-id> <ssid> <passwd> <payload>
After the switch is successfully paired in Fabric-Source, it will be synced to Fabric-Sink with a new assigned node ID.
Toggle the switch:
From Fabric-Source:
onoff on <node-id> 1
onoff off <node-id> 1
From Fabric-Sink: (Use the node ID assigned)
onoff on <node-id> 1
onoff off <node-id> 1
Unpair the switch:
pairing unpair <node-id>
After the switch is successfully unpaired from Fabric-Source, it will also be removed from the Fabric-Sink.