NEWS
Test Adapter wireless-mbus v0.9.x
-
@lvogt
ja, da sollte auch was kommen. Habe das ESYS-WM20 Modul auf dem Zähler drauf und es bekommt Spannung über die Schnittstelle vom Zähler. Lt. Beschreibung sollten min. alle 20 Sekunden Datentelegramme kommen.
Beschreibung zum Modul:
https://www.easymeter.com/downloads/products/module/ESYS-WM20/BA_ESYS-WM20_Rev14.pdf -
Also prinzipiell sieht das nach einen korrekten Initialisieren des Amber Sticks aus.
Du könntest evtl. in der Datei lib/receiver/amber.js in Zeile 152 mal folgendes reinschreiben:
that.logFunc(data);
Dann den Adapter neu starten und warten ob irgendwas im Log ankommt...
EDIT: Senden des Easymeter Modul ist das ein... wie sieht es denn mit der Reichweite aus?
-
@lvogt
gemacht.
Zeil 149 - 155 der amber.jsonData(data) { let that = this; that.parserBuffer = Buffer.concat([that.parserBuffer, data]); that.logFunc(data); if (that.parserLength == -1) { if (that.parserBuffer.length < 3) { return;
hier da Log dazu:
wmbus.0 2019-03-21 17:21:00.557 debug AMBER: Autosleep is disabled wmbus.0 2019-03-21 17:21:00.555 debug ��?H wmbus.0 2019-03-21 17:21:00.537 debug AMBER: RSSI is enabled wmbus.0 2019-03-21 17:21:00.535 debug �E3 wmbus.0 2019-03-21 17:21:00.526 debug � wmbus.0 2019-03-21 17:21:00.506 debug connected set to true wmbus.0 2019-03-21 17:21:00.506 debug connected set to true wmbus.0 2019-03-21 17:21:00.506 debug AMBER: UART_CMD_Out is enabled wmbus.0 2019-03-21 17:21:00.506 debug ��s wmbus.0 2019-03-21 17:21:00.473 debug AMBER: Receiver channel set to T-Mode wmbus.0 2019-03-21 17:21:00.472 debug ��z wmbus.0 2019-03-21 17:21:00.444 debug Created device of type: Amber Wireless AMB8465 wmbus.0 2019-03-21 17:21:00.443 info starting. Version 0.4.3 in /opt/iobroker/node_modules/iobroker.wmbus, node: v8.15.1
@lvogt sagt:
Senden des Easymeter Modul ist das ein
Ja, ist an.
@lvogt sagt:
wie sieht es denn mit der Reichweite aus
Im Testaufbau ist das Modul ca. 4m Luftlinie (ohne Hindernisse) vom Amber-Stick entfernt.
-
Tja, ... sieht alles soweit richtig aus. Wenn, aber da nach der letzten Meldung nichts mehr kommt, dann kommt einfach gar nichts an.
that.logFunc(data.toString('hex'));
wäre cleverer gewesen (hab da vorhin nicht nachgedacht), dann würden da hübsche Hexstrings statt des unlesenbaren Zeugs stehen und ich könnte nochmal überprüfen, aber der Stick wirklich korrekt auf die Initialisierung antwortet, aber eigentlich sollte es sonst sowieso eine Fehlermeldung irgendwo geben.
Für mich sieht alles danach aus, das einfach kein Telegramm ankommt.
Hast du mal mit anderer Software getestet ob was ankommt?
-
ich muss erst mal ein bissel basteln.
Nachdem du sagtest, dass event. nichts kommt, habe ich nach einem Prog. gesucht mit dem ich sniffen kann. Weiterhin habe ich mal der der Config vom Stick geschaut und die dabei offensichtlich zerschossen.Ergebnis: immer ein Timeout im Log. Das kam sonst nur wenn ich eine andere Baudzahl als 9600 eingestellt habe.
Weist du wie man beim Amber-Stick nen Factory-Reset macht?
@lvogt sagt:
Hast du mal mit anderer Software getestet ob was ankommt?
hast du da eine die gut funktioniert bzw. einen Link zum Download? Welche empfiehlst du?
-
Eine besonders gute Software Empfehlung habe ich leider nicht...
Von Amber selbst gibt es einmal das AMBER Config Center (ACC) - damit solltest du einen Reset machen können, falls der Stick nicht völlig hin ist (hast du damit die Config zerschossen?) und zum Empfangen gibt es den AMBER Commander. Der Commander ist aber alles andere als benutzerfreundlich...
Falls der Stick so konfiguriert wäre, dass er im passenden Mode lauscht, dann reicht aber auch einfach das öffnen des seriellen Ports und du müsstest irgendwas sehen, wenn ein Telegram empfangen wird...
-
@lvogt
Ja nach dem Spielen mir dem Amber Commander ging nix mehr.
Hatte dann mit dem Amber Config Center die FW drüber gebügelt. Habe dann noch ein kleines Tool zum Sniffen gefunden. Leider dort immer "TimeOut NoStartByte"Egal, grad am Broker nochmal angesteckt und dann lief es plötzlich wieder bis
AMBER: Autosleep is disabled
Und dann war mir klar warum nicht empfangen wird. Bei meiner Teststellung habe ich den Zähler nur 1-phasig angeschossen. Das Modul wird aber nur bei Anschluß der Phase 3 mit Spannung versorgt.
Jetzt schaut auch alles gleich viel besser aus (ich lasse mal den Krypto-Kram weg, sonnst muss ich zuviel schwärzen) :
wmbus.0 2019-03-22 12:49:20.731 debug Value ESY-60790220.data.8-0-VIF_ELECTRIC_POWER: 0 wmbus.0 2019-03-22 12:49:20.731 debug Value ESY-60790220.data.7-0-VIF_ELECTRIC_POWER: 0 wmbus.0 2019-03-22 12:49:20.731 debug Value ESY-60790220.data.6-0-VIF_ELECTRIC_POWER: 0 wmbus.0 2019-03-22 12:49:20.731 debug Value ESY-60790220.data.5-0-VIF_ELECTRIC_POWER: 0 wmbus.0 2019-03-22 12:49:20.731 debug Value ESY-60790220.data.4-0-VIF_ENERGY_WATT: 210 wmbus.0 2019-03-22 12:49:20.730 debug Value ESY-60790220.data.3-0-VIF_ENERGY_WATT: 960 wmbus.0 2019-03-22 12:49:20.730 debug Value ESY-60790220.data.2-0-VIF_ENERGY_WATT: 188.8 wmbus.0 2019-03-22 12:49:20.730 debug Value ESY-60790220.data.1-0-VIF_ENERGY_WATT: 1185.1 wmbus.0 2019-03-22 12:49:20.730 debug Updating device: ESY-60790220 wmbus.0 2019-03-22 12:49:20.730 debug VIF_ELECTRIC_POWER: Value raw 0 value calc 0 wmbus.0 2019-03-22 12:49:20.730 debug VIF_ELECTRIC_POWER: Value raw 0 value calc 0 wmbus.0 2019-03-22 12:49:20.730 debug VIF_ELECTRIC_POWER: Value raw 0 value calc 0 wmbus.0 2019-03-22 12:49:20.729 debug VIF_ELECTRIC_POWER: Value raw 0 value calc 0 wmbus.0 2019-03-22 12:49:20.729 debug VIF_ENERGY_WATT: Value raw 21 value calc 210 wmbus.0 2019-03-22 12:49:20.729 debug VIF_ENERGY_WATT: Value raw 96 value calc 960 wmbus.0 2019-03-22 12:49:20.729 debug VIF_ENERGY_WATT: Value raw 1888 value calc 188.8 wmbus.0 2019-03-22 12:49:20.729 debug VIF_ENERGY_WATT: Value raw 11851 value calc 1185.1
-
Also fürs erste alles in Ordnung?
Mich würde noch interessieren ob das Modul jetzt im Security Mode 7 sendet. Das ist bisher nämlich (fast) ungetestet.
-
@lvogt : nochmals vielen Dank, auf solch ein Adapter habe ich schon lang gewartet.
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
Also fürs erste alles in Ordnung?
Im Groben und Ganzen läuft das erst ein einmal .
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
Mich würde noch interessieren ob das Modul jetzt im Security Mode 7 sendet.
hmmm... schau mal, dass steht dazu im Manual Link zum pdf:
2 Anmerkungen hätte ich dennoch:
-
Die Namen der Datenpunkte kommen aus dem Gerät selbst? Könnte man da noch ein "Mapping" einbauen oder wäre das kontraproduktiv?
-
ist es Möglich einen "Faktor" einzubauen? Speziell kommen die Werte hier in "Wh" aus den Gerät. "kWh" wäre natürlich schöner.
Heut Abend werde ich mal eine Last über alle 3 Phasen legen und beobachten.
-
-
@Lenny-CB said in [Aufruf] Adapter iobroker.wmbus:
hmmm... schau mal, dass steht dazu im Manual Link zum pdf:
Ja das hatte ich im Handbuch gesehen, aber so verstanden, dass es konfigurierbar ist, ob Mode 5 oder 7 verwendet wird. Falls was von "Kenc: " und "Kmac: " im Debug-Log steht, ist es Mode 7.
2 Anmerkungen hätte ich dennoch:
- Die Namen der Datenpunkte kommen aus dem Gerät selbst? Könnte man da noch ein "Mapping" einbauen oder wäre das kontraproduktiv?
Die Namen sind im Adapter hinterlegt, kommen aber aus der M-Bus bzw. OMS Spezifikation. Da jetzt nochmal ein Mapping drüber zu legen, ginge zwar schon irgendwie, finde ich aber nicht so gut. Du kannst ja einfach manuell den Text ändern. Wenn der State mal angelegt wurde, dürfte der Text vom Adapter nicht mehr geändert werden.
- ist es Möglich einen "Faktor" einzubauen? Speziell kommen die Werte hier in "Wh" aus den Gerät. "kWh" wäre natürlich schöner.
Auch hier gilt wieder, irgendwie geht alles, aber nur weil dir gerade zu diesem Zähler kWh sinnvoller vorkommen, kann das für jemanden anderen/einen anderen Zähler ganz anders sein.
Hart im Adapter einbauen fällt mMn also raus und für was einzeln konfigurierbares fehlt mir gerade die Zeit (und auch die Lust )
- Die Namen der Datenpunkte kommen aus dem Gerät selbst? Könnte man da noch ein "Mapping" einbauen oder wäre das kontraproduktiv?
-
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
Falls was von "Kenc: " und "Kmac: " im Debug-Log steht, ist es Mode 7.
tut es:
wmbus.0 2019-03-22 16:38:24.106 debug Kmac: 94e69dxxxxxxxxxxxxxxxxxxxxxxxxxxx wmbus.0 2019-03-22 16:38:24.106 debug Kenc: a85bec5xxxxxxxxxxxxxxxxxxxxxxxxxx
-
@lvogt :
wo kann ich sehen wie die einzelnen Phasen aus dem Payload geholt werden?
Ich habe auf der 3. Phase einen Momentanverbrauch von 49,5 MW (ja, Mega angezeigt werden 49578494 Wh ) das is ja nen bissel arg viel.
Wie bekomme ich raus ob das Modul bums sendet oder was im Code falsch läuft? -
Wenn kein Fehler auftritt, werden gerade tatsächlich nirgendwo die Rohdaten des Telegramms ausgespuckt (sollte ich mal noch ändern...). Evtl. kann man sich aber am Debug Log entlang hangeln.
Vermutlich würde der Teil ab "Dec: " reichen (da dürften dann auch keine Keys mehr drin stehen) - wenn du willst kannst du mir aber auch mal einen kompletten Log Auszug per PN schicken.
Prinzipiell klingen so große Zahlen, aber immer eher nach Problemen auf der Zähler-Seite.
-
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
Prinzipiell klingen so große Zahlen, aber immer eher nach Problemen auf der Zähler-Seite.
Fehler gefunden. Lag nicht am Programm sondern am Versuchsaufbau. Modul hat korrekt gesendet.
-
So ich habe in der Zwischenzeit ein paar Kleinigkeiten am Adapter ergänzt. Heute gibt es aber ein größeres Update - wobei beide neuen Features sehr wenig getestet sind:
@Lenny-CB Zum einen kann jetzt doch in der Konfiguration eingestellt werden, dass Energien (statt in Wh oder J) jetzt in kWh ausgegeben werden. Dabei ist aber zu beachten, dass Einheiten von bestehende States nicht verändert werden. Neu eintreffende Werte, werden allerdings umgerechnet (und passen dann also nicht zur angezeigten Einheit)!
Zum anderen habe ich versucht Unterstützung für Techem Zähler einzubauen. Dazu zählen Wasserzähler, Heizkostenverteiler und Wärmemengenzähler. Ich habe mich hier wieder beim FHEM Projekt bedient. Ich habe keine Ahnung ob die Einheiten der Wasser- und Wärmemengenzähler korrekt sind und nehme gerne Hinweise dazu entgegen
-
Dann werde ich den Adapter mal mit Engelmann Wärmemengezähler testen.
Nur leider ist die Heizung im Moment aus, somit wird nichts gesendet. Also dauert noch ein wenig.
Gruß und Danke für deinen Adapter. -
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
So ich habe in der Zwischenzeit ein paar Kleinigkeiten am Adapter ergänzt. Heute gibt es aber ein größeres Update - wobei beide neuen Features sehr wenig getestet sind:
@Lenny-CB Zum einen kann jetzt doch in der Konfiguration eingestellt werden, dass Energien (statt in Wh oder J) jetzt in kWh ausgegeben werden. Dabei ist aber zu beachten, dass Einheiten von bestehende States nicht verändert werden. Neu eintreffende Werte, werden allerdings umgerechnet (und passen dann also nicht zur angezeigten Einheit)!
Zum anderen habe ich versucht Unterstützung für Techem Zähler einzubauen. Dazu zählen Wasserzähler, Heizkostenverteiler und Wärmemengenzähler. Ich habe mich hier wieder beim FHEM Projekt bedient. Ich habe keine Ahnung ob die Einheiten der Wasser- und Wärmemengenzähler korrekt sind und nehme gerne Hinweise dazu entgegen
Habe grad mal aktualisiert.
Installation lief erst einmal problemlos.
Aber, wo kann man von Wh in kWh umstellen? Habe deine Version 0.5.0 drauf.
Unter Einstellungen in der Adapterkonfiguration ist nichts zu finden.
Unter "AES Schlüssel" und "Blockierte Geräte" auch nicht.Edit:
Browser-Cache hatte ich gelöscht, Adapter natürlich auch neu gestartet. Die entsprechenden Änderungen sind aber in der index_m.html vorhanden. Wenn ich die Datei vom System kopiere und separat mit einem Browser öffne, wird es angezeigt.
edit 2:
mir kam grad noch die Idee ein iobroker upload wmbus zu machen. Jetzt sind auch die beiden fehlenden Checkboxen da.
Muss man immer, wenn man mit der Katze eine Adapter "Überinstalliert" einen "Upload" machen. Instanz selbst anlegen war ja klar... -
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
So ich habe in der Zwischenzeit ein paar Kleinigkeiten am Adapter ergänzt. Heute gibt es aber ein größeres Update - wobei beide neuen Features sehr wenig getestet sind:
@Lenny-CB Zum einen kann jetzt doch in der Konfiguration eingestellt werden, dass Energien (statt in Wh oder J) jetzt in kWh ausgegeben werden. Dabei ist aber zu beachten, dass Einheiten von bestehende States nicht verändert werden. Neu eintreffende Werte, werden allerdings umgerechnet (und passen dann also nicht zur angezeigten Einheit)!
Frage: kann man nicht die if-Abfrage "forcekWh" direkt in der vifinfo.js machen? Hätte den Vorteil, dass auch die Bezeichnung passend zur Einheit wäre.
--> 1-0-VIF_ENERGY_WATT --> Wh
--> 1-0-VIF_ENERGY_KILOWATT --> kWhif (........) { VIF_ENERGY_WATT: { typeMask: 0b01111000, expMask: 0b00000111, type: 0b00000000, bias: -3, unit: 'Wh', calcFunc: "numeric", description: "Energy" }, } else { VIF_ENERGY_KILOWATT: { typeMask: 0b01111000, expMask: 0b00000111, type: 0b00000000, bias: -6, unit: 'kWh', calcFunc: "numeric", description: "Energy" }, }
-
Wenn du vorne die Bezeichnung änderst, führt das dazu das ein neuer State angelegt werden wird, weil die ja "LaufendeNr-StorageNr-VIF_Code" heißen. (Wer lesen kann... Du hast das ja quasi selber oben geschrieben... ) Kann natürlich ein Vorteil sein, weil dann kein Chaos mit umgerechneten Einheiten und falsch angelegter Einheit entsteht, sorgt aber auch evtl. für weitere Probleme weil der State halt anders heißt...
Ansonsten würde das im Grunde so funktionieren wie du es vorgeschlagen hast (bzw. man müsste die Umrechnung in main.js dann wieder rausnehmen...)
[Wenn du das gerne möchtest, könntest du natürlich auch einfach selber Hand anlegen und die Option wieder deaktivieren und einfach die Zeile in vifinfo.js hart ersetzen...]
Grundsätzlich möchte ich aber lieber weiterhin den wmbus Parser möglichst "neutrale / spezifikationstreue" Daten ausspucken lassen.
@Lenny-CB said in [Aufruf] Adapter iobroker.wmbus:
edit 2:
mir kam grad noch die Idee ein iobroker upload wmbus zu machen. Jetzt sind auch die beiden fehlenden Checkboxen da.
Muss man immer, wenn man mit der Katze eine Adapter "Überinstalliert" einen "Upload" machen. Instanz selbst anlegen war ja klar..Ja da habe ich irgendwie auch "gemischte" Ergebnisse. Wenn man so Adapter installiert, wird glaube ich auch der Upload ausgeführt, allerdings scheint dass nicht immer korrekt zu funktionieren. Ein manueller Upload führt aber für gewöhnlich dann immer zum Erfolg...
Ich hätte noch eine ganz andere Frage an dich. Du scheinst den Adapter jetzt ja schon ne Weile zu nutzen, um dein "Easymeter" auszulesen. Wie ist dein Eindruck zu den Leistungswerten, die per wmbus ausgegeben werden? Sind das glaubwürdige und aktuelle Werte? Die fliegen alle 16 Sekunden ein oder?
-
@lvogt sagte in [Aufruf] Adapter iobroker.wmbus:
[Wenn du das gerne möchtest, könntest du natürlich auch einfach selber Hand anlegen und die Option wieder deaktivieren und einfach die Zeile in vifinfo.js hart ersetzen...]
ja, dass hatte ich auch schon bei der letzten Version des Adapters gemacht.
Grundsätzlich möchte ich aber lieber weiterhin den wmbus Parser möglichst "neutrale / spezifikationstreue" Daten ausspucken lassen.
im Grunde ist das auch richtig so . War halt nur so "eine Überlegung".
Ich hätte noch eine ganz andere Frage an dich. Du scheinst den Adapter jetzt ja schon ne Weile zu nutzen, um dein "Easymeter" auszulesen. Wie ist dein Eindruck zu den Leistungswerten, die per wmbus ausgegeben werden? Sind das glaubwürdige und aktuelle Werte? Die fliegen alle 16 Sekunden ein oder?
Also die Werte sind m.E. in Ordnung. Optisch vergleichen kann ich nur den übertragenen Wert "momentane Leistung gesamt" da dieser auch als momentane Leitung am Zählerdisplay angezeigt wird.
Die momentanen Leistungen der einzelnen Phasen müssten auch passen.
Ich habe noch aus der Zeit vor dem easyMeter ein zWave-Zangenmessgerät in der abgehenden Leitung vom Zähler installiert.
Zwischen beiden Messungen ist ein leichter Drift, was aber durch die Messmethode zu begründen ist.