IoT Hubs
An entry in the IoT Hubs scaffold defines a device capable of controlling IoT devices. The rXg supports two controllers currently, RUCKUS IoT and RG Nets Piglet. The RUCKUS IoT (RIoT) controller is a virtualized software application that connects to RUCKUS IoT-enabled access points to provide support for BLE and ZigBee devices. One RIoT application per 500 IoT devices is the typical deployment model. RG Nets Piglet runs on a Raspberry Pi 4 and supports multiple protocols. One Piglet per account is the typical deployment model.
IotHubs
The online field when green, this indicates that the Iot Websocket Client is running and subscribed to streaming changes from this device. If red, the websocket client is not subscribed to streaming changes, so the state of iot entities may not accurately reflect the actual, current state.
The OS field indicates the version of the piglet software running on the IotHub.
The HA version indicates the version of home_assistant running on the IotHub.
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The Host field is the IP address of the Iot Hub.
The Port field is used to change ssh port, default is 22.
The Api Port field sets the API port for the Pi, default is 8123.
The Username field is used to set the username for the IotHub.
The Password field is used to set the password for the IotHub.
The Monitor state changes box if checked idndicates the websocket client should subscribe to streaming changes from this IotHub.
The Iot hub profile field is currently reserved for future use.
The Pms property field is optional, used to select the PMS property that the IotHub is associated with.
The Pms room field is optional, used to select the PMS room that the IotHub is associted with.
IotHubProfiles
Reserved for future use.
IotGroups
IotGroups are used to logically group IotHubs, IotEntities, and nested IotGroups. In addition, admin role access is granted at the IotGroup level. At a minimum, you will need to define an IotGroup that consists of the IotHubs you will want to control and assign the appropriate admin role access. Otherwise, IotHubs will not be populated on the iot hub dashboard in the operator portal due to lack of privileges.
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The Description field is a place for the administrator to enter a comment. This field is purely informational and has no bearing on the configuration settings.
The Group type field is reserved for future use.
The Admin roles field allows the operator to select which admin roles should have access to the group.
The Iot hubs field allows the operator to select the IotHubs included in the group.
The Iot entities field allows the operator to select which IotEntities are included in the group.
The Iot groups field is the nested IotGroups for the group.
IotEntities
IotEntities are the devices that are controlled and/or monitored by an IotHub. They can be lights, switches, sensors, or any supported IoT device. These are typically Z-Wave or Zigbee devices, but there are many different types of IoT control. These entities will be populated during an Import Entities for each hub. If you add devices after the initial import, you will want to run the import entities again.
The Iot type field is used to specify the type of entity, light, sensor, binary_sensor, etc.
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The Description field is a place for the administrator to enter a comment. This field is purely informational and has no bearing on the configuration settings.
The Is property controlled field is reserved for future use.
The State field is the last recored state of this entity, for example 'on' for a light.
The Iot actions field is reserved for future use.
The Iot hub field indicates the IotHub that this entity is associated with.
vRIoT Integration
The following section will outline the process of attaching RUCKUS vRIoT as an IoT hub in rXg and setup the MQTT service.
Add vRIoT as IoT Hub
- Browse to Services >> IoT Hubs
- In the IoT Hubs scaffold, click Create New
- Name the controller
- Set the Model dropdown to RUCKUS IoT Controller
- Add the IP address of the vRIoT server to the host field
- Provide a username and password to access the vRIoT server
- Press Create
- In the IoT Hubs scaffold, click Create New
- Click Import Entities link to complete the process.
Setup MQTT on the vRIoT Server
- On the vRIoT server, Browse to Admin >> Plugins
- From the dropdown, select Controller Data Stream
- Press the Activate button
- Configure the controller data stream as follows:
MQTT Broker IP: 127.0.0.1
MQTT Broker Port: 1883
MQTT Publish Topic: /events
Device Reporting: Yes
Device Reporting Topic: /events
- To confirm the MQTT service is working, SSH to the rXg and type
tail -f /var/log/mqtt_subscriber_iot.log
to check for activity.