mruettgers / SMLReader

ESP8266 based smart meter (SML) to MQTT gateway
GNU General Public License v3.0
289 stars 67 forks source link

Mehrere Sensoren gleichzeitig #65

Open geronet1 opened 7 months ago

geronet1 commented 7 months ago

Hi Michael, ich verwende dein Projekt jetzt dann in 3 Häusern um jeweils 2 Zähler auszulesen. Bei mir daheim hab ich den fork umprogrammiert damit ich den Verbrauchszähler über Modbus RTU mit übertragen kann, siehe https://github.com/geronet1/SMLReader, die Doku hab ich auch entsprechend angepasst mit Bildern. Die Webkonfiguration hab ich gleich mit reingenommen, bis auf die auszulesenden Register kann man alles OTA einstellen.

Soweit funktioniert das ganze recht gut und läuft schon länger im Zählerschrank, aber: Die https://github.com/geronet1/SDM_Energy_Meter lib hab ich abgeändert damit möglichst asyncron keine Zeit mit warten verplempert wird, trotzdem gibt es (auch ohne Modbus Erweiterung) bei zwei Zählern anscheinend öfters sekundenlange Aussetzer (bis zu 40 sek). Liegt wohl irgendwie an der Software UART Geschichte mit den Interrupts daß er dann kein komplettes SML Paket empfängt und es nicht dekodieren kann obwohl Interrupts doch eigentlich immer funktionieren sollten.

Die Zähler senden ja unterschiedlich lange Nachrichten und sind anscheinend nicht zeitsyncronisiert, somit "wandern" die Datenpakete asyncron immer mal übereinander. Das ganze hatte ich auch mit dem Oszi versucht zu erfassen bin aber bis jetzt noch nicht dahinter gekommen warum er dann nichts empfängt. Mehrere Hardware UARTS wären die Lösung aber soviele hat nichtmal der ESP32..