SMS4IOT MQTT gateway

Assuming you have a SMS4IOT capable device running anywhere in the world, just entering its device id and keys in the .db file below will have you communicating with it via MQTT. This opens the door to connecting your SMS4IOT device to your favorite smart home front end. Below is an example of how this works with Home Assistant.

SMS4IOT for Home Assistant

Prerequisites: Running Home Assistant and running local MQTT server. (this is common especially if also running Zigbee2MQTT).

On the same or other Linux machine or VM download s4i3imqtt (a binary) sha256 hash 1040caa1501eddc5d7df4ace35190cb552530b01304e9f19f142ed721109b20c to some directory. The program will create/maintain log, config, and device files in that directory. Run the program (e.g. "./s4i3imqtt"). If an error is returned, regarding MQTT server address or such, edit s4i3imqtt.conf to fix it. Once running, in a separate terminal window or same if you did "nohup ./s4i3imqtt >/dev/null &" to daemonize s4i3imqtt, edit s4i3imqtt.db. Add a line with device id, key-2, key-1, for each remote device like the example (without the # prefix). The program regularly reloads the .db file so if you entered the correct device id and keys, within a minute you should see s4i3imqtt communicating with it and displaying responses in s4i3imqtt.log (you can "follow" this file live with "tail -F s4i3imqtt.log").

conffiot:10000123 IE_STATUS2
conffiot:|s4i/10000123|{"state":"ON","tamper":"false","adc":"-3","uptime":"5day 19hr","tstamp":"2022-08-05T23:30:59+0000","ssid":"xxpassRPT"}|
conffiot:V0.043 ON L ssid:xxpassRPT uptime:5:days 19:hrs
80:2a:a8:51:b5:5d -68  (top 3 SSID's near the remote device)
82:2a:a8:52:b5:5d -68
86:2a:a8:53:b5:5d -68
Even better, via the MQTT Home Assistant integration your should be able to see the device.

Thats it. You can now incorporate the SMS4IOT devices into your home automation. Note: There is an approx 30 second built-in round trip delay in communicating with SMS4IOT devices as a trade off for eliminating the remote device provisioning requirements (e.g., ssid, pass, etc..).
Next: Native Home Assistant integration.

For how to build your own SMS4IOT devices, see here like modifying off the shelf devices (eg S31).

replace esp8266 daughter board with sms4iot daughter board (ea$y to make. fw=here)

now it works almost anywhere at 5Ghz and 2.4Ghz without wifi provisioning.


Patented. Copyright 2022-2023 Department C Inc.