NEWS
Adapter "smartmeter"
-
@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
-
-
@rewenode sagte in Adapter "smartmeter":
aber da müßte ich vieles umstricken
Was musst du denn umstricken, wenn du eine Basisconfig plus iob auf einer Speicherkarte installierst und dann in deinem Raspi nutzt? Da ist doch bis auf die Slave-Einrichtung nichts weiter zu tun. Im iob dann den smartmeter-adapter installieren und einrichten.
Docker ist zwar nice, aber bei einem Raspi, der nichts macht ausser den Stromzähler zu lesen brauchst du imho keine gr0ßartigen zusätzlichen Umgebungen. Wenn da wirklich mal was kaputt geht ist das schnell wieder aufgesetzt.Vielleicht hab ich es falsch verstanden, aber warum brauchst du ein "gut gepflegtes Image" für den Volkszähler? Du brauchst ein ios lite und den iobroker, mehr nicht.
Anleitung Installation -
@amg_666 sagte in Adapter "smartmeter":
@rewenode sagte in Adapter "smartmeter":
aber da müßte ich vieles umstricken
Das "umstricken" bezog sich die Änderungen am Dockerfile bei Änderung des Base-Image
Was musst du denn umstricken, wenn du eine Basisconfig plus iob auf einer Speicherkarte installierst und dann in deinem Raspi nutzt? Da ist doch bis auf die Slave-Einrichtung nichts weiter zu tun. Im iob dann den smartmeter-adapter installieren und einrichten.
Ja, das könnte ich noch testen. Da auf dem Raspi1 aber auf alle Fälle ein Docker-Container mit Postfix läuft ist abzuwarten, ob die Ressourcen reichen.
Aber ja, mal eben schnell meine SD-Card geclont und das Ganze testen ist ja schnell gemacht.Docker ist zwar nice, aber bei einem Raspi, der nichts macht ausser den Stromzähler zu lesen ...
s.o.
Vielleicht hab ich es falsch verstanden, aber warum brauchst du ein "gut gepflegtes Image" für den Volkszähler?
Habe das lediglich als Variante zum Auslesen des Smartmeter betrachtet und da wußte ich noch nicht, dass es so einfach ist den Zähler per python auszulesen. Und das "gut gepflegt" bezog sich darauf, dass es offiziell kein ARMv6 Image von Volkszähler.org gibt.
Und über die grundlegenden Vor-/Nachteile von Installationen Nativ/Container will ich hier nicht diskutieren. Das artet dann oft unsachlich aus.
Du brauchst ein ios lite und den iobroker, mehr nicht.
Anleitung InstallationDanke für den Link. Werde ich auf alle Fälle probieren und hoffen, dass der Pi-1 mit seinem parallel laufendem Postfix-Container dafür nicht zu schwachbrüstig ist.
Wenn es klappt, bin ich mit meiner Python-Frickelei jedenfalls nicht dümmer geworden -
@amg_666 sagte in Adapter "smartmeter":
aber bei einem Raspi, der nichts macht ausser den Stromzähler zu lesen
das ist aber nicht die hier vorhandene Basis!
@rewenode sagte in Adapter "smartmeter":
Außerdem läuft da ja schon ein docker-container (mit Postfix) drauf
-
Hallo zusammen,
ich habe gestern auch den Hichi IR Lesekopf in der USB Variante erhalten und direkt an meinem Smartmeter Q3A V10.04 an die Info-DSS (MSB-DSS ist bereits belegt) gehalten. Angebunden über 3m USB2.0 Kabel an einem Raspberry Pi 3b auf dem ioBroker als Salve läuft.
Nachdem direkt die Messwerte übermittelt wurden, habe ich den Sensor auf mit Tesa Powerstrip auf den Zähler befestigt.
https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/easymeter_q3a
Zuerst sah es gut aus und die Werte wurden im Sekundentakt übermittelt, aber sporadisch wurde dann für ~10 sek nichts übermittelt. Im Log habe ich dann auch Fehler gefunden. Der Fehler tritt auch auf, wenn ich das Abfrageintervall auf z.B. 10 Sek erhöhe.Ich habe daraufhin die Position des IR Kopfes überprüft und neue angeordnet. Es sah gut aus und ich habe für einen langen Zeitraum die Werte wieder im Sekundentakt erhalten, bis plötzlich das gleiche Verhalten wieder eingetreten ist.
Woran könnte das liegen, was kann ich machen?
Edit: Ich habe die Wartezeit mal auf 2sek gestellt. Das sieht bereits besser aus.
-
@e-i-k-e Sieht nach einem "mechanischem Problem" aus.
Ich nehme an, daß der Raspi kontinuierlich durchlief und nicht neu gestartet wurde.
Also Lesekopf neu positioniert und geht wieder ohne was am Raspi gemacht zu haben.
Ist der Lesekopf lichtdicht angebracht oder bekommt er Fremdlicht?
Was passiert, wenn man ihn Probeweise mit Panzertape befestigt? -
Ich hab den gestern versuchsweise mal neu gestartet und die USB-Verbindung getrennt. Ansonsten läuft der durch.
Der Zähler inkl. Sensor sind in einer geschlossenen Verteilung. Sollte somit recht lichtdicht sein.Werde den Lesekopf erneut positionieren und vorerst mit einem Klebeband befestigen.
-
@e-i-k-e log bitte nie als Screenshot, text in code-tags ist angesagt!
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@e-i-k-e Neben den Ideen bezüglich Kopfanordnung und so bitte auch die Kabelführung des USB kabels prüfen. Am besten so schnell wie es geht weg vom Zählergehäuse und nicht "drüber". Auch ggf andere Stromkabel beachten. Ggf mal schauen ob ein aktiver USB Hub vs direktanschluss einen vorteil bringt. Je nach "Schirmung" kann es halt auch Stör-Einstrahlung sein, wonach es aussieht weil die Position immer wo anders im Datenstrom ist.
-
@apollon77
Ich habe den IR Kopf nun direkt davor gehalten, unzählige Positionen ausprobiert. Die Fehlerhäufigkeit ändert sich, aber ich bekomme diese nicht komplett weg.Ein anderes USB 2.0 Verlängerungskabel brachte keine Änderung. Das ~0.5m Anschlusskabel am Hichi IR Kopf ist nicht geschirmt.
Morgen kommt noch ein aktiver USB 2.0 Hub, hoffentlich bringt dieser Besserung.