NEWS
Adapter "smartmeter"
-
Zitat Hersteller:
"Da es sich bei unseren modernen Messeinrichtungen um summensaldierende Zähler handelt, ist die Anzeige der Verbrauchswerte der einzelnen Phasen am Display und eine Ausgabe über die Protokolle der Infrarotschnittstelle nicht möglich."
Schade, aber jetzt nicht mehr schlimm, da ich gestern meinen Shelly 3EM richtig angeschlossen habe und dieser
nun verlässliche Werte liefert. -
Ich hätte da mal 2 Fragen.
Habe einen eBZ DD3 im Keller stehen und habe einen IR-TTL Lesekopf. Der Zähler ist freigeschaltet. Mein ioBroker läuft aber ein Stockwerk höher und eine direkte Verbindung ist nicht möglich.
Würde den Zähler aber gerne an den Smartmeter-Adapter hängen.
Könnt ihr da eine Lösung empfehlen?Ich habe im Keller neben dem Zähler noch einen Raspi 1 am laufen, auf dem derzeit nur Postfix für die Mails meiner alten Cam's läuft. Der hätte also noch Platz für einen Python/MQTT Clienten oder ggf. den Volkszähler mit MQTT.
Für einen ioB-Host mit smartmeter-Adapter ist er aber sicher zu schwachbrüstig.-
Wie lesen ich am Besten den Zähler mit dem Raspi aus und übergebe die Daten an MQTT?
-
Kann ich die MQTT Daten in den Smartmeter-Adapter bekommen?
Was mir sonst noch einfällt:
- Am (Keller)Raspi seriell to Lan
Da habe ich aber keine Erfahrung. Und die daten müssten dann irgendwie in den Smartmeter-Adapter
Hat jemand einen Rat/Empfehlung?
Danke
Reiner -
-
Installier iobroker und den Smartmeter Adapter auf dem Raspi im Keller und mache ihn zum Slave.
So habe ich es auch.
Alles weitere machen wir dann -
@rewenode sagte in Adapter "smartmeter":
Was mir sonst noch einfällt:
- Am (Keller)Raspi seriell to Lan
Da habe ich aber keine Erfahrung. Und die daten müssten dann irgendwie in den Smartmeter-Adapter
Versuche mal diesen Weg. Der Smartmeter Adapter hat einen "TCP Eingang". Also mit ser2net ist das einen Versuch wert. Ich hatte das mal testweise an einem Orange Pi mit Homematic drauf im Einsatz für Zigbee. In meiner speziellen Konstellation wurde es allerdings instabil und hat sich immer nach ein paar Tagen aufgehängt.
Aber ich habe schon von anderen gelesen, bei denen es funktioniert.
Ich habe es letztlich mit speziellen seriell <-> Ethernet Wandlern gelöst (stabil seit Jahren, sowohl beim Smartmeter, Zigbee und anderen Einsätzen). Die gibt es für LAN, WLAN als Fertiggerät und als Modul. USRIOT und mittlerweile auch Wavershare.
Ich habe einiges davon in einem Guide erläutert https://forum.iobroker.net/topic/36936/guide-zwangsumstellung-auf-smartmeter-freut-euch-drauf?_=1676783193077 Viel Erfolg. - Am (Keller)Raspi seriell to Lan
-
@klassisch sagte in Adapter "smartmeter":
Versuche mal diesen Weg. Der Smartmeter Adapter hat einen "TCP Eingang". Also mit ser2net ist das einen Versuch wert. Ich hatte das mal testweise an einem Orange Pi mit Homematic drauf im Einsatz für Zigbee. In meiner speziellen Konstellation wurde es allerdings instabil und hat sich immer nach ein paar Tagen aufgehängt.
Danke für den Tip. Bin beim Lesen schon bei socat hängengeblieben. Werde beide testen und berichten. In der Smartmeterkonstellation würde es mich prinzipiell auch nicht stören, den Dienst jede Nacht neu zu starten.
In dem Fall müßte ich ja den Umweg über MQTT eigentlich gar nicht machen.@haselchen Ja, wenn nichts geht, ist es einen Versuch wert.
Aber wie gesagt, ist nur ein Raspi 1 und ich habe da noch einen Postfix-Docker-Container am laufen.Danke schon mal für die Tips.
Gruß und schönen Sonntag
Reiner -
@rewenode ob socat tut hängt davon ab was dein Zähler macht und so. Wenn es einer ist der einfach regelmäßig die Daten ausgibt dann kein Problem. Wenn es aber d0 als Protokoll mit seriell request/response und baud rate Änderung ist dann ist sogar raus.
Wenn der raspi daneben steht warum dann nicht wirklich. Einfach iobroker Slave drauf und fertig? Dann direkt anschließen. Nur nen ttl zu usb wandler brauchst dann noch oder so.
-
@apollon77 sagte in Adapter "smartmeter":
Wenn es aber d0 als Protokoll mit seriell request/response und baud rate Änderung ist dann ist sogar raus.
Laut Handbuch
6.1 Aufbau der Datentelegramme
Telegramm Mode (D:) Baudrate: Byte-Format:
nach DIN EN 625056-21 9600 Baud (Z=5) (7,even,1)2*DO
Info nach EN50470-1 10.000 Imp./kWh
MSB mit detaillierten Messwerten nach EN 625056-21Beide unidirektional. Also kein request/response ? Oder interpretiere ich das falsch?
Die DIN's finde ich nicht so auf die Schnelle jedenfalls nicht kostenlos;-)
Dafür sind aber etliche Demodatensätze zu finden.
Also mach ich mich dann mal in den Keller, klöppel den TTL Lesekopf an den Raspi und versuche mal sinnvolle Daten zu bekommen.Werde berichten
Gruß
Reiner -
@rewenode sagte in Adapter "smartmeter":
Die DIN's finde ich nicht so auf die Schnelle j
die erste ist SML, die zweite sind Impulse, also nichts für Smartmeter!
-
@rewenode sagte in Adapter "smartmeter":
Habe einen eBZ DD3
welchen?
die weiteren Kennungen sind entscheidend!
SMZ1 hat SML, der ODZ1 arbeitet mit D0 -
@homoran sagte in Adapter "smartmeter":
SMZ1 hat SML, der ODZ1 arbeitet mit D0
ODZ1
@apollon77 Habe diesbezüglich nochmal eine Nachfrage (falls ich nicht zu sehr nerve).
Da meine Produktivumgebung recht groß ist, will ich da kein Risiko eingeben was die Umstellung Master-Slave angeht.Ausgangslage:
-
ioB im Docker Container auf einem Rock4.
Alle Instanzen/node.js/npm auf aktuellem Stand.
Läuft seit Jahren perfekt -
Raspi 1 im Keller mit Postfix im Docker Container
Werkelt i.d.R. so vor sich hin:
top - 09:34:37 up 104 days, 18:12, 1 user, load average: 0.07, 0.07, 0.01 Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.3 us, 1.6 sy, 0.0 ni, 96.1 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 429.5 total, 90.7 free, 67.6 used, 271.2 buff/cache MiB Swap: 100.0 total, 99.5 free, 0.5 used. 308.7 avail Mem
Was ich vorhabe:
a. ioB auf dem Rock64 soll zum Master werden. Alle derzeitigen Instanzen sollen auf dem Master verbleiben
b. auf Raspi im Keller soll ein neuer Slave hinzukommen.
- als Docker-Container.
- Darin nur eine Instanz - Smartmeter
Port durchreichen sollte ja nicht viel anders gehen als im Docker auf dem Master
Fragen:
- Kann ich den derzeitigen ioB so migrieren, dass alle Instanzen ohne Änderungen/Einschränkungen weiter im Master laufen?
- Läuft der Master ohne Einschränkungen weiter, wenn der slave abstürzt oder nicht erreichbar ist? Dass dann die Daten vom Smartmeter fehlen ist klar.
- Kann der slave temporär oder auf Dauer deaktiviert werden, ohne den master jedesmal wieder als Einzelsystem migrieren zu müssen?
Gruß und danke an euch
Reiner -
-
@rewenode sagte in Adapter "smartmeter":
Läuft der Master ohne Einschränkungen weiter, wenn der slave abstürzt oder nicht erreichbar ist? Dass dann die Daten vom Smartmeter fehlen ist klar.
Kann der slave temporär oder auf Dauer deaktiviert werden, ohne den master jedesmal wieder als Einzelsystem migrieren zu müssen?Ich hab eine ähnliche Konfiguration (iob auf proxmox container und raspi-slave für das smartmeter).
Zu 2. Frage: Wenn ich den Raspi mal runterfahre z.B. wg nodes update dann werden die Instanzen im Master als inaktiv angezeigt, alles läuft weiter stabil
Zu 3. Frage: Klar geht das , siehe Frage 2, du kannst auch die Instanzen beliebig hin und her schieben zwischen Master und Slave, also z.B. den Smartmeter-Adapter auf den Master ziehen und danach den Slave deaktivieren. -
@amg_666 sagte in Adapter "smartmeter":
Wenn ich den Raspi mal runterfahre z.B. wg nodes update dann werden die Instanzen im Master als inaktiv angezeigt, alles läuft weiter stabil
Mit im Master als inaktiv angezeigt meinst du die Instanzen auf dem slave denke ich mal?
Danke, das beruhigt mich schonmal.
-
@rewenode sagte in Adapter "smartmeter":
Instanzen auf dem slave denke ich mal?
ja klar, wenns die Instanzen auf dem Master wären, wäre das sub-optimal
Ich hab den Raspi jetzt mal kurz gestoppt und das sieht dann so aus:
Slave läuft:
Slave ist offline:
und wenn ich den wieder starte wirds wieder grün... -
@amg_666 Danke für deine Mühe!
Dann werde ich heute Nacht mal das komplette gemountete /opt/iobroker sichern und dann gehts los.
Ist bei mir nicht ganz so trivial, weil der ioBroker bei mir mit redis läuft, das ebenfalls in einem eigenen Container werkelt. -
@amg_666 sagte in Adapter "smartmeter":
Ich hab eine ähnliche Konfiguration (iob auf proxmox container und raspi-slave für das smartmeter).
das ist das Gegenteil!
@rewenode sagte in Adapter "smartmeter":
auf Raspi im Keller soll ein neuer Slave hinzukommen.
als Docker-Container.
Darin nur eine Instanz - Smartmeterdu willst wirklich auf einem Pi1, das schon einige Klimmzüge bedarf um dort iob zu installieren, noch zusätzlich einen Docker installieren?
Außerdem lief da ja beteits noch mehr. -
@homoran sagte in Adapter "smartmeter":
du willst wirklich auf einem Pi1, das schon einige Klimmzüge bedarf um dort iob zu installieren, noch zusätzlich einen Docker installieren?
Außerdem lief da ja beteits noch mehr.Schwachbrüstig ja. Ob er für die eine Instanz noch brauchbar ist will ich rausfinden.
Generell habe ich habe vor Jahren einen Pi 3 mit ioB rausgeschmissen, weil der mit seinem 1GB alle paar Tage verabschiedet hat.
Außerdem läuft da ja schon ein docker-container (mit Postfix) drauf und der scheint nicht annähernd ausgelastet.
Prinzipiell (und das bitte nur als meine Erfahrung/Meinung interpretieren) würde ich sowas nicht mehr ohne Docker machen. Wer einmal unter Docker mit iob/redis/influx/grafana u.a. eine Maschine gewechselt hat wird docker unbedingt zu schätzen wissen. Da kopierst du dann nur eine kleine yml und gehst Kaffee trinken Und da spielt es noch nicht mal eine Rolle ob dein Zielsystem Linux/Mac zur Not auch Windows ist.Ganz allgemein habe ich festgestellt, dass Docker-container kaum mehr Leistung benötigen als native Installationen im Gegensatz zu virtuellen Maschinen.
-
@rewenode sagte in Adapter "smartmeter":
Generell habe ich habe vor Jahren einen Pi 3 mit ioB rausgeschmissen, weil der mit seinem 1GB alle paar Tage verabschiedet hat.
und der Pi1 hat bestenfalls die Hälfte, wenn er älter ist sogar nur 256MB.
Schwierig wird es auch schon mit dem nodejs, da der Pi1 ein ARM v6 ist, für den es von nodesource keine fertige Version mehr gibt.
-
@homoran sagte in Adapter "smartmeter":
und der Pi1 hat bestenfalls die Hälfte, wenn er älter ist sogar nur 256MB.
Ja, ich werde sehen. Zur Not muß da halt wenigstens ein Pi3+ ran. Auch wenn ich Dinge nicht gern wegwerfe, wenn sie es noch irgendwie tun
-
@rewenode sagte in Adapter "smartmeter":
ich werde sehen
ich habe vor etwa einem Jahr (oder länger) ein ioBroker auf einem Pi1 installiert.
Da kommt es auf jedes freie Bit an.@rewenode sagte in Adapter "smartmeter":
Zur Not muß da halt wenigstens ein Pi3+ ran.
wobei + oder nicht irrelevant ist.
Aber der reicht auf jeden Fall für ioBroker + smartmeter.Ich habe bisher einen Pi2 im Schaltschrank gehabt, mit noch ein paar weiteten Instanzen. Ohne Probleme.
-
@homoran Kurzer Zwischenstand.
Also mit deinen Argumenten insbesondere der sterbenden ARM V6 Architektur hast du absolut recht.Ich habe mir ja in den Kopf gesetzt einen Raspi 1 der da direkt neben dem Zähler steht mit zu nutzen. Und da kamen mehrere Möglichkeiten in Frage.
-
Meine bevorzugte Lösung ioB als Slave im Dockercontainer
Scheitert daran, dass die von mit bevorzugte Lösung (buanet/iobroker) ARM v6 nicht mehr unterstützt.
Nun habe ich zwar die Möglichkeiten, ein eigenes Base-Image (z.B. das sehr schlanke alpine) einzusetzen, aber da müßte ich vieles umstricken und auf Architektur-Kompatibilität testen. Vor Jahren als das buanet-Image ARMv8 noch nicht unterstützt hat, habe ich das für meinen Rock64 gemacht. Muss man nicht haben, den Aufwand für einen Pi1 -
Volkszähler
Da läßt sich zwar ein gut gepflegtes Image (stefanschoof/volkszaehler) für ARMv6 finden, aber ich brauche ja nur den Teil TTL-Lesekopf -> Lan -> ioB -
Seriell->Lan mit socat/ser2net
Habe ich kurz getestet. War etwas instabil. Das will ich aber nochmal genauer betrachten. Kann sein, dass es nicht an socat/ser2net lag, weil ich ähnliche Probleme beim Lesen der seriellen Schnittstelle mit Grabserial festgestellt habe. Warum auch immer.
Wegen der Probleme mit Grabserial habe ich mir ein eigenes kleines Python-Script gebastelt. So als Minimal-Serial-Reader.
Und weil das (zu mindest bis jetzt) stabil läuft und das D0 Datagram wirklich recht simpel und zudem gut dokumentiert ist, habe ich es um paho-mqtt erweitert und schicke die Daten per mqtt an ioB. Dabei habe ich die Topic-Struktur so gemacht, dass sie einigermaßen kompatibel zum Smartmeter-Adapter ist.
Falls der Raspi 1 dann mal das Zeitliche segnet und ich im Keller dann einen ioB-Slave einsetzte, hoffe ich, dass sich die nötigen Änderungen an der Grafana-Auswertung damit in Grenzen halten.Nochmals Danke für die Tips
-