Currently I’m not an Homeassistant user, only a SMO20 user. I’m using my own logging system, but plan to use Homeassistant in the near future.
As the SMO20 is not supporting the modbus standard method to get data from the SMO20 is not straightforward.
Currently I’m using 2 methods:
(1) is it possible to listen the RS485 communication between different components within the SMO20. A lot of data is exchanged regular. All basic temperatures BT1 BT50 etc are broadcasted and can be extracted near real time.
However it is not possible to change a setting and some parameters like degree minutes are missing.
(2) the ESP32-S3 controller now supports full USB. Using this device you can emulate an USB stick.
Using this method it is possible to intercept data logged in an external USB device placed in the SMO20. My first implementation now emulates an usb stick containing one file with parameters which the SMO20 should log, the SMO20 starts logging, the ESP32-S3 intercepts the data and posts the data via wifi to an external server/database.
Using this method the data is available with a delay of about 5 minutes (because the data is written in blocks to the usb device).
However also using this method it is not possible to change settings.
Both methods can be used so be integrated in Homeassistant.
[/wrap]