User Login      + Register  


1      HA Interface Protocol / Devices

1.1                Sonoff Devices

1.1.1      Installing Tasmota Firmware

1.1.2      Flashing Sonoff Basic Switch

1.2                Zigbee Versus Z-Wave

1.3                Zigbee / Z-Wave Interface Gateways / Hubs

1.4                Zigbee Interface Devices

1.5                Z-Wave Interface Devices

1.6                Zigbee / Z-Wave Combination Devices

1.7                Identify USB Interface Devices

List of Figures

Figure 1:       Tasmotizer GUI

Figure 2:       Tasmotizer Config GUI

Figure 3:       Tasmota Web GUI

Figure 4:       HA Tasmota Sonoff Switches

Figure 5:       HA Tasmota Devices

List of Tables

Table 4:       EWeLink Versus Tasmota

Table 2:       Zigbee Versus Z-Wave Features

1      HA Interface Protocol / Devices

IOT devices such as switches, lights, alarms, sensors are physically distributed and communicate to a central Home Assistant controller using a protocol which may require an interface device.

To get an idea of the vast array of IOT devices available, go to "" and search "Zigbee" and "Z-Wave". This may also assist in protocol selection, by choosing devices of interest.

If updating an existing home automation system to use Home Assistant, the following considerations apply:

  • What are requirements to control existing devices? Zigbee, Z-Wave, both?
  • Can your existing home automation gateway / devices interface to HA? - internet research.

If creating a new installation, the following considerations apply:

  • If considering gateways / hubs, is it standalone, works without internet connection or sharing information with third party cloud services? This is important for information privacy and reliability (doesn't work without internet) and latency (internet / server load slows down).
  • What are interface requirements to control desired devices? Zigbee, Z-Wave, both? This implies reviewing the devices you are interested in and choosing one, or, to avoid being locked into one protocol, choosing both (recommended, for future flexibility and broadest device compatibility).
  • Is the device / hub supported by Home Assistant? - internet research.

1.1                Sonoff Devices

Sonoff has a wide variety of inexpensive WiFi IOT devices (search "sonoff" at This is a very inexpensive way to start home automation without the necessity of investing in Zigbee or Z-Wave interface devices.

The Sonoff RF Bridge, allows access to many inexpensive 433MHZ RF devices.

Two options exist for controlling Sonoff devices, stock firmware which uses the EWeLink protocol or install Tasmota firmware (geeks only) on the device (requires technical skills). EWeLink versus Tasmota features are contrasted in the table below:





Protocol Interface Required

No, uses WiFi

No, uses WiFi

Major cost advantage.

Communication Protocol


MQTT, HTTP, Serial or KNX

Choose one or other.

Added Functions

Only basic device functions

Protocols, device web UI, sensors, expanded timers, full device control.


Ease of setup

Use EWeLink app to discover and configure devices, config stored on cloud server.

Requires technical skills: soldering, flash firmware and USB / Serial dongle. geeks only.


Firmware Updates

Use EWelink app

OTA, using web interface


Uses Internet

Yes, for device configuration, unless each device manually configured.



Device Support

Mainly Sonoff and a few others. Internet search for device compatibility with EWeLink.

Very broad, not just Sonoff. Supported devices.

MQTT appears to be the way Home Assistant and home automation industry is trending due to architectural superiority.

Supports the Sonoff RF Bridge



Allows access to many inexpensive 433MHZ RF devices

Voids Warrantee





Table 4: EWeLink Versus Tasmota

For Sonoff devices, it is suggested that novices start with stock devices and defer upgrading to Tasmota until more experience with Home Assistant is gained and the need arises.

Many users will find that available Sonoff devices meet all their needs at the right price and will opt to not choose the added expense of Zigbee or Z-Wave.

1.1.1      Installing Tasmota Firmware

Do not do this until the Mosquitto Broker has been installed on Home Assistant and configured.

There is a wealth of HowTo's on the internet for installing Tasmota Firmware on Sonoff and generic ESP82xx based devices. A USB / serial dongle, soldering and flashing firmware skills are required. If not intimidated by this, it is assumed that internet HowTo's and research should be enough to proceed.

The following links provide useful Tasmota information and HowTo's:

Tasmota Code Repository

Tasmota Device Compatibility List

HowTo Flash Tasmota - Hint: Using Tasmotizer as the flash programmer is the easiest option.

Plus internet research for devices of interest.

1.1.2      Flashing Sonoff Basic Switch

Flashing a Sonoff Basic switch with Tasmota will be used as an example. The procedure for flashing any ESP82xx device will be similar.

Install serial interface pins (soldering required) on Sonoff Basic switch. It is possible (highly technical) to flash Tasmota using Over The Air (OTA) updates, which may be worthwhile if many devices need to be flashed.

Download Tasmotizer.

Connect a USB / Serial dongle to the Sonoff Basic (caution: no AC power connected).

Insure that:

  • The USB / Serial interface provides 3.3 and not 5V
  • No AC power is connected to Sonoff, else danger of electrocution and / or damaging your PC
  • TX of serial interface connected to Sonoff RX
  • RX of serial interface connected to Sonoff TX

Hold down Sonoff the button while connecting the serial interface dongle to PC. Release the button after ten seconds. This places the Sonoff device in programming mode.

Start Tasmotizer. You will see the Tasmotizer GUI, as shown below.

Figure 1: Tasmotizer GUI

  • Ensure that the correct serial port is selected.
  • Select "Backup original firmware", "Erase before flashing"
  • Select "Release x.y.z" (current Tasmota release) and "tasmota-lite.bin"
  • Press "Tasmotize". The Sonoff will be programmed. Fix any errors before proceeding. Possible errors are the wrong serial port has been autodetected. Confirm port using Windows device manager. Wiring error, RX and TX pins may be reversed. Check connections.
  • Disconnect the USB / Serial dongle from PC. Reconnect the dongle without holding the Sonoff button down.
  • Select "Send Config". The configuration GUI will appear as shown below (not in program mode for configuration):

Figure 2: Tasmotizer Config GUI

Prior to proceeding, to avoid confusion regarding which IP devices are where and to easily manage your IOT network, it is best to create an IP device naming plan, to manage device names and IP addresses.

Enter the following values (per figure above unless stated otherwise):

  • SSID: WiFi SSID that device is to connect to. Must be on same LAN as Home Assistant. SSID cannot contain spaces.
  • Password: WiFi password.
  • Host: MQTT server. "home-assistant" (preferred, assumes that "home-assistant" resolves to IP address of Home Assistant using DHCP Reservation) else numeric IP address of Home Assistant on LAN.
  • Topic: Unique name for device such as "Sonoff-Basic-Tasmota-Switch-2" (no spaces). Name all Sonoff tasmota switches "Sonoff-Basic-Tasmota-Switch-N" where N goes from 1 to number of switches. For other devices use "manufacturer-device-N". This will allow you to keep track of devices by following the IP device naming plan recommendations. Home-assistant aliases such as "Living_Room_Lamp" can be later assigned to relate devices to physical locations.
  • FriendlyName: Same name as Topic
  • User: The MQTT user created when Mosquitto Broker was installed. (default "mqtt")
  • Password: The Mosquitto Broker password (default "mqtt")
  • Press Save

After the device is successfully flashed, configured and power cycled (still using serial dongle), it will be visible on your LAN, with an IP address assigned by DHCP. The IP and MAC addresses must be determined to assign it a fixed IP address using dnsmasq (DHCP reservation).

At a SecureOffice command prompt, enter "cat /tmp/dhcp.leases | grep tasmota". You will see entries of the following form: "1582625054 dc:4f:22:29:fb:9b tasmota-7067 *" showing IP and MAC addresses for all Tasmota devices.

If, for some reason the device does not show up, a serial terminal program or PuTTY connected to the USB / Serial port (baud: 115.2K, 8 bits, no parity, 1 stop bit, no flow control) will display diagnostic information.

The device IP address can be entered in a browser to access the Tasmota web GUI, as shown below:

Figure 3: Tasmota Web GUI

The web GUI can be used to set all Tasmota config values. After ANY Tasmota configuration change (such as initial config above), use the Tasmota console to enter the following command: "SetOption19 1". This is required for Home Assistant to auto discover Tasmota devices. After a minute or so, the newly configured devices will show up in the Home Assistant overview, as shown below.

Figure 4: HA Tasmota Sonoff Switches

As a final check, navigate to Home Assistant -> Configuration -> Devices. You will see the Tasmota devices (with names you assigned), handled by MQTT, as shown below.

Figure 5: HA Tasmota Devices

In choosing a reserved LAN IP address for the device, be aware of and conform to the SecureOffice IP address numbering plan.

Tasmota devices cannot be configured for a static IP address, so a reserved address must be assigned by the SecureOffice DHCP server which allows central control of device IP addresses and names.

A static LAN IP address should be assigned for devices, since the address needs to be predictable across boots to access the device web GUI at a predictable IP address. Further, some IOT devices attempt to call home to spy on you. Non DHCP addresses are blocked from internet access, a security precaution discussed in SecureOffice IP address numbering plan.

You will need the IP address chosen above (numbering plan) and the Tasmota device MAC address previously determined to assign a reserved IP address and device name.

The device will be accessible by name both locally and using remote VPN. Subsequent configuration instructions depend on this step.

Using the chosen device <LAN IP address>, <MAC address> and <device name> (Use the name assigned for tasmota Topic above) for hostname, assign a pseudo-static IP address using this method which relates MAC to IP address and DNS name.

After the pseud-static IP address has been configured, from a SecureOffice console enter: "/etc/init.d/dnsmasq stop; rm -f /tmp/dhcp.leases; /etc/init.d/dnsmasq start" to restart the SecureOffice DHCP server with updated configuration.

The device needs to be power cycled to acquire the new IP address. Confirm the address is correct by accessing it using a browser. Fix if not.

You can now "ping <device name>" or "http://<device name> rather than remember the IP address.

Instructions regarding using Tasmota flashed devices are in subsequent configuration sections.

1.2                Zigbee Versus Z-Wave

After researching Home Assistant and the home automation markets. It became apparent that Zigbee and Z-Wave are the dominant home automation interface protocols. Both together are called "SmartThings" by Samsung.

For documentation / configuration purposes, MQTT and the Mosquito Broker were chosen as the interface to HA. Mosquito / MQTT are used to proxy and abstract Zigbee and Z-Wave protocols / devices. The main reason is that MQTT can proxy / abstract many protocols, so adding new protocols (X10, Amazon Web Services, Microsoft Azure, etc, becomes a matter of adding protocols to MQTT code / configuration). This (system design perspective) is the "correct" approach.

There are pro's / cons for each protocol.






No - International Standard

Yes, patented, adds to cost

Due to higher costs and lack of inexpensive development tools for Z-Wave, innovators are more attracted to Zigbee, which is pulling ahead in popularity.


Far Lower



Product Selection



Both protocols well supported by market.

Interface Device Requires

Yes, Zigbee radio / interface

Yes, Z-Wave radio / interface



2.4GHz (WiFi)

865.2 to 926 MHz


Global Standard

Yes, shares WiFi frequencies, a global standard

No, operates at 868.42MHz in Europe, at 908.42MHz in the North America and uses other frequencies in other countries depending on their regulations

Lack of global standard makes it harder and adds costs for manufacturers to target variations for various regions. With a global standard, one product for all.

Competes with WiFi bandwidth, interference



May be performance issues if WiFi crowded and channels not managed. See "Further Reading"

Transmission Rate

250 Kbits / second

40 or 9.6 Kbits / second



10-20 Meters

20-30 Meters

Max range between devices in mesh network. Indoors, not line of sight

Battery Life



Zigbee uses less power due to lower RF power (lower range)

Mesh Network




Secure (encryption)




Max Devices (nodes)





Good. Home-assistant users have contributed quirks to automatically handle devices that are non-compliant.


Ability of devices from various manufactures to interact. Z-Wave strict compliance testing guarantees. Zigbee had issues in past, now mostly resolved.

Max Hops

10-20 (Depends on implementation)


Maximum number of devices messages can be repeated through before lost.


Table 2: Zigbee Versus Z-Wave Features

There is no compelling reason to choose either protocol unless you already have devices. For new deployments and lower costs, Zigbee is recommended. For tinkers, Zigbee has many more hackers creating HowTo's (better support).

1.3                Zigbee / Z-Wave Interface Gateways / Hubs

A smart home gateway / hub is a standalone unit with integrated radios and controller. A HA installation is also a smart home gateway / hub with far more features and broader compatibility than commercial offerings.

This section discusses alternatives to SecureOffice Home Assistant using commercial offerings and hybrid approaches where a commercial hub is integrated with Home Assistant to provide greater functionality.

Tom's Guide has an excellent market overview: Best smart home hubs of 2020.

Only standalone (no cloud server required) hubs are considered. This is due to reliability (doesn't work when internet / cloud server down), privacy (do you really want third parties to snoop on your activities?) and latency (takes longer for devices to respond due to internet / server delays) concerns. Further, the point of SecureOffice and services is "cutting the cord" and securing independence from third party cloud services and all the security / privacy risks they pose.

Standalone gateways / hubs have the following pro's / cons:

  • PRO: Can be in a central location, away from main router, reducing Zigbee WiFi interaction issues. Best to use a wired ethernet interface, not WiFi.
  • CON: Far more expensive than Zigbee / Z-Wave / combo USB devices.
  • CON: The hub and home assistant will both detect devices, resulting in duplicate devices which both will attempt to control. Duplicate devices must be manually removed from one controller.

The following Gateways / Hubs can integrate with Home Assistant (internet research, to choose one):

Hubitat Elevation - Worst Review, Best Review, Home Assistant Support (geeks only), Discussion Thread

Vera Plus - Worst Review, Best Review, Home Assistant Support

Mixtile Hub - New to market, just started shipping, no useful reviews, looks good for geeks, too new for Home Assistant (yet).Good concept, something to watch.

nCube Smart Hub - Defunct product, customers abandoned.

DIY Home Assistant on Raspberry PI - (geeks only) build your own Home Assistant hub, independent of SecureOffice. This approach will have major reliability issues due to SD card reliability. "Somehow" (device dependent), a way must be found to move the root filesystem to more reliable storage.

Sonoff / eWeLink - Honorable mention since Sonff devices are inexpensive and use standard WiFi for communication. Does not require any interface device (Zigbee / Z-Wave). It is also possible (geeks only) to program sonoff devices to be Zigbee compatible and control with Home Assistant. It is also possible to integrate un-modified sonoff devices with Home Assistant.

Note the list of standalone gateway / hubs is very short. Could not find any more. The Mixtile hub looks promising and further information will be provided as it becomes available.

1.4                Zigbee Interface Devices

To control Zigbee devices, a Zigbee controller is required.

Home Assistant has a review and recommendations for Zigbee interface devices.

Inexpensive Chinese CC2531 USB Dongle - Technical skills required to flash firmware. May require programmer.

1.5                Z-Wave Interface Devices

To control Z-Wave devices, a Z-Wave controller is required.

Home Assistant has a review and recommendations for Z-Wave interface devices.

1.6                Zigbee / Z-Wave Combination Devices

Choose a combination interface device if you want to control both Zigbee and Z-Wave devices for maximum flexibility.

The Nortek HUSBZB-1 combo device is known to work with Home Assistant.

1.7                Identify USB Interface Devices

Whichever interface device is chosen for Z-Wave and / or Zigbee, it will appear as a tty device in /dev. The device path must be known to configure HA to use the interface. To find the path of your interface USB stick, connect it (for very first time or after a reboot) to your system and enter:

"ls -la /dev/tty* | grep dialout"


This will output something like below:

crw-rw---- 1 root dialout 4, 64 May 20 14:14 /dev/ttyS0

crw-rw---- 1 root dialout 4, 65 May 20 14:14 /dev/ttyS1

crw-rw---- 1 root dialout 4, 66 May 20 14:14 /dev/ttyS2

crw-rw---- 1 root dialout 4, 67 May 20 14:14 /dev/ttyS3

crw-rw---- 1 root dialout 4, 68 May 20 14:14 /dev/ttyS4

crw-rw---- 1 root dialout 188, 1 May 20 15:21 /dev/ttyUSB0

crw-rw---- 1 root dialout 188, 2 May 20 15:21 /dev/ttyUSB1

The USB devices with the most recent timestamp were inserted last. The above output is for a Nortek HUSBZB-1 combo device. Trial and error proved that /dev/ttyUSB0 is Z-Wave, /dev/ttyUSB1 is Zigbee.

Technologies Used:

Design by: XOOPS UI/UX Team