A large number of devices in my home automation system are running the Tasmota firmware. Its easy to use, provides a wide range of features, and integrates nicely with Home Assistant. My configuration of these devices has evolved to make configuring a new device for the network as simple as possible, while remaining (somewhat) secure.
As described in network_segregation, the home automation devices connect to a separate SSID and VLAN. Configuring a new device requires this SSID and WPA credentials to be configured, as well as unique hostname. Currently I link the hostname to the device role and location, although there is an argument to be made to simply having a generic hostname schema.
Tasmota has a number a default settings for MQTT. To ease the configuration of new devices I have started leaving this settings as default and setting up Mosquitto to match. In particular the Client and User settings are left as default. As I use authentication for MQTT, a matching user (DVES_USER) must be provisioned within Mosquitto. The unique client ID allows concurrent access to the MQTT server using the same credentials.
Another slight adjustment from defaults is setting the topic to “tasmota/%06X”. Whilst not strictly required, this does make MQTT Clustering much easier by grouping all of the devices under a single topic, as well as giving each device a unique topic through which Home Assistant can control it.
Tasmota has a number of options which may be used to change the behaviour of a device. Of these, the most important for my set up is SetOption19 - Home Assistant automatic discovery. This makes the device announce itself to Home Assistant using the standard topic homeassistant/. Home Assistant is then able to detect new devices, as well as changes to existing devices, and create the relevant entities. Auto discovery makes the provisioning of new Tasmota devices within Home Assistant trivial.
Options can be applied to a device using the Console page.
SetOption30 is also useful for Home Assistant. This allows a switch style device to be discovered by Home Assistant as a light.