Hi zusammen,
nachdem ich kürzlich auch ein EFR SGM-C4 Smartmeter bekommen habe, das ich in iobroker anbinden wollte, bin ich zwangsweise auf diesen Thread hier gestoßen. Möchte hier meine Erfahrungen niederschreiben, die ich mit der Odysee hatte, es mittels Serial Server zum Laufen zu bringen.
Iobroker auf Raspberry steht weit entfernt vom Zählerkasten, dementsprechend war mein Ansatz, einen NodeMCU mit ESPEasy als Serial Server über TCP anzubinden, um damit per Wlan die Verbindung herzustellen. Kurzum: ich hab es mit ESPEasy nicht zum Laufen gebracht.
Setup: Sensor war ein zuerst nach Anleitung umgebauter TCRT-5000, dann ein Hichi IR TTL. Ein NodeMCU ESP8266 4MB it ESPEasy als Firmware; Serial Server konfiguriert mittels Communication-Device basierend auf Ser2Net aber auch in den Advanced Firmware Einstellungen; 9600N1. Sowohl probiert als Software Serial (da kam hauptsächlich Datenmüll mit ein paar lesbaren Fragmenten an), dann auch als Hardware Serial auf allen per Firmware möglichen RX ports (da kam gar nichts an). Input Pullup am RX-Pin an/aus (wo möglich als Software-Einstellung), aber auch Widerstände mit 4-10kOhm gegen V++ probiert, kein Unterschied.
Geschirmte Kabel, kurze Leitungen Kurzum: ESPEasy (Release mega-20210802) hat irgendwelche Bugs oder macht irgendwas mit dem Encoding der Daten und ist für diese Anwendung scheinbar aktuell nicht geeignet. Ich hab nach drei vollen Tagen rumprobieren aufgegeben.
Nach langer Suche habe ich jetzt testweise ESP-Link auf den selben NodeMCU geflashed (https://github.com/jeelabs/esp-link) - selbes Hardware-Setup, selbe Sensorik, selbe Verkabelung - und es funktioniert astrein und auf Anhieb. RX-Pin hängt jetzt am HW-RX-Pin des NodeMCU (GPIO3).
Einschränkungen: TCP-Port nicht konfigurierbar (fix auf 23 - verschmerzbar) & Weboberfläche ist nicht passwortgeschützt (widerstrebt mir selbst im LAN, aber ich muss jetzt erstmal damit leben).
Flashing des NodeMCU ist wegen der Toolchain-Einrichtung ein wenig komplizierter (Python muss installiert werden), aber mit der Anleitung aus der Readme machbar. (Zur Info: die Anleitung ist etwas überholt; unter Windows ist das Kommando für den 4MB/1MB ESP8266 NodeMCU: "esptool.py --port COM7 --baud 460800 write_flash -fs 4MB -ff 80m 0x00000 boot_v1.6.bin 0x1000 user1.bin 0x3FC000 esp_init_data_default.bin 0x3FE000 blank.bin").
Im Anhang zur Info noch ein Output des EFR SGM-C4 Datenstreams, wie er eigentlich aussehen muss, und meine HW-Pin-Settings für den NodeMCU.
Hoffe, dem ein oder anderen damit hoffentlich meinen Frust zu ersparen.