Berto IOT Gateway

The Berto IOT Gateway driver provides integration with a variety of IoT devices running the Tasmota firmware such as the Sonoff range of hardware, Shelly IOT devices, Sonoff DIY range, TP-Link Smart Plug devices, Lifx Lights, Yeelight and Flic smart buttons and Zigbee devices using zigbee2mqtt. Drivers are available for relay, sensor, button and light devices which all link via the gateway driver.

Integration to Google Assistant via the Berto Assist service and to Apple Homekit is also available for a list of devices that you select. Integration with Google Assistant, Home Assistant and Flic buttons requires a Berto Hub which can be installed on your own hardware or virtual machine instance from the Action tab. The install option requires that the targeted system is running Raspberry Pi OS or Ubuntu 18.04. Alternatively you can purchase a pre-installed Raspberry Pi 4 with POE and case, see the Subscription Plan property in the Berto Cloud driver. The Berto Hub Homebridge interface can be accessed from a browser at http://berto-iot.local:8581, username admin and password admin. You can also SSH into the hub using username "admin" and password "bertoiot".

Zigbee support is provided using either the Sonoff Zigbee Bridge, Zigbee2MQTT or ZWaveJS2MQTT with a suitable USB Router such as the CC2652 for Zigbee or the AeoTec Z-Stick Gen5+ for ZWave. The Zigbee2MQTT web interface can be found at http://berto-iot.local:8080 and the ZWaveJS2MQTT web interface can be found at http://berto-iot.local:8091.

The following devices are currently supported :-

Tested Shelly devices include :-

Tested Sonoff DIY devices include :-

Tested Tasmota Modules include :-

All Lifx light devices should be supported that are compatible with version 2 of the Lifx LAN Protocol.

For each device you need to install a Berto IOT Generic, Berto IOT Light or Berto IOT Dimmer driver which links to the IoT Gateway.

Devices are discovered and controlled using a variety of protocols depending on the device. For Shelly and Tasmota devices the recommended method is to use an MQTT Broker as this method provides instant realtime feedback when the device state is changed external to the Control4 system. An IoT hub can be automatically installed and configured from the Action menu which installs the required software on a Raspberry Pi models 3 and 4. Once the Pi is installed it will automatically reboot. You will then need to enter the IP address in the MQTT Server property, you do not need a Username or Password. The installed MQTT server also provides the necessary software for integration with Apple Homekit and Flic smart buttons. The Homebridge user interface can be accessed on the IoT Hub at http://{IP Address}:8581, username admin and password admin, where you can find the Homekit Pin Code.

Devices can also be controlled directly using HTTP such as the Sonoff DIY range of hardware but also Shelly and Tasmota devices. External device feedback can be received by polling the devices at the frequency defined in Properties. Sonoff DIY devices provide feedback using mDNS broadcasts meaning those devices do not need to be polled. Using HTTP control negates the need for an MQTT broker. By default Tasmota devices do not respond to mDNS discovery broadcast unless option 55 is turned on using the SetOption55 On command on the console.

Devices can also be entered manually using their IP address causing the gateway to attempt to autodetect the type of device to see if it is supported.

The capabilities of discovered devices are read automatically from the device ie. number of relays, inputs, sensors or the type of light, colour, dimmer etc.

When using an MQTT Server you can also specify additional topics in the Custom Topics property which will cause the gateway to accept messages on those topics and update the MESSAGE and TOPIC variables and also fire the CUSTOM_MESSAGE_RECEIVED event. Messages can also be published to the MQTT broker using the PUBLISH_MESSAGE command in programming. You can insert variables from other devices by specifying the device id and variable name in the format ${Id::Name} within the message. Third party drivers can also integrate with the IoT Gateway to use the connected MQTT broker. A sample driver with source code is available showing how simple it is to integrate, email support@berto.co.uk for details.

When starting the discovery process all supported devices and protocols are scanned, in the case of Flic buttons the Berto Hub is put into pairing mode and pressing the Flic button will cause the pairing process to start. Pairing Flic buttons requires that the Flic is not already connected to an existing bluetooth hub, see Flic troubleshooting to factory reset a button.

The gateway also supports the Sonoff RF bridge and the April Brother bluetooth gateway is in development. To add devices that use a bridge to connect to the gateway the RF and bluetooth codes need to be learned. To do this you need to select the bridge device in the Devices property which will show some additional properties and put the gateway into learning mode. In learning mode you should tigger the device so the RF or bluetooth code is transmitted and recorded for selection in the Close and Open state properties. Select the appropriate code for Close and Open, along with a device name, and then Add Device in the Action property to add the device to the Devices list. Buttons should be added with the close code selected only and contact sensors, such as door & window contacts, motion sensors etc. require both the close and open code. Up to 8 pairs of codes can be added to a device covering 4 button key fobs allowing groups of up to 8 contacts or motion sensors to be assigned to a single device. The codes generated by the device are displayed in the LUA window.

Zigbee support is provided by adding a suitable USB router attached to the Berto Hub eg. CC2652 Router and also the Sonoff Zigbee Bridge. Zigbee devices can be paired to the appropriate bridge by selecting the bridge and using the Pair action in properties. Once devices are paired to the bridge a new discovery must be run to find the newly paired zigbee devices.

Support form all the core devices is builtin to each service that the IoT Gateway provides. Additionally custom plugin modules are downloaded for models not builtin if they exist allowing for easy addition of new devices without the need to update the IoT Gateway driver itself. Currently plugin support is provided for the Tasmota Zigbee service only.

Custom topic messages can be sent to an HTTP RestFUL endpoint which can parse the payload and return name/value pairs which are used to update variables on the IoT Gateway. The Berto Hub install creates a REST server on port 3000 with an iot.js script that can be modified to suit the users individual needs. The endpoint is accessed at http://{Hub IP Address}:3000/iot.js.

Properties

Actions

Release Notes

v1.00 - 2020-03-15

v1.10 - 2020-03-29

v1.11 - 2020-04-17

v1.12 - 2020-06-05

v1.13 - 2020-06-11

v1.14 - 2020-06-12

v1.15 - 2020-06-15

v1.16 - 2020-06-17

v1.17 - 2020-06-23

v1.18 - 2020-06-30

v1.19 - 2020-07-13

v1.20 - 2020-09-07

v1.21 - 2020-09-18

v1.22 - 2020-09-22

v1.23 - 2020-10-31

v1.24 - 2021-01-31

v1.25 - 2021-03-31

v1.26 - 2021-08-06

v1.27 - 2021-08-13

v1.28 - 2021-08-29

v1.29 - 2021-09-04

v1.30 - 2021-11-20

Licence

DM