NEWS
Smart Meter von Netz Oö (Energie AG)
-
@alealdata
Ah danke. Ich war zwar in der richtigen Datei, habe aber nicht gesehen, dass man man da noch umblättern kann.
So, wieder ein Schritt weiter und wieder einiges gelernt...
Die Flows hatte ich ja schon importiert.
Den Key habe ich auch schon hinterlegt.
Werden die Daten eigentlich in einem fixen Intervall ausgelesen oder muss man das irgendwie anstoßen?
Muss die IR Schnittstelle vom Smart Meter nur 1x mit dem Key "freigegeben" werden oder muss das vor jedem Lesevorgang gemacht werden?
Die im Flow hinterlegten Übertragungsparameter (Baudrate usw.) stimmen eh oder muss man da noch was korrigieren? -
@manuel001
den Node Serialport hast du installiert?
Einstellungen kannst auch im Subflow AMIS Meter ändern (bei mir 9600;8;even;1)
Doppelklick auf "AMIS Client" rechts Subflow bearbeiten - Neues Register AMIS CI Client anwählen - Doppelklick "AMIS Zähler" rechts Subflow bearbeiten - Neues Registerblatt AMIS Meter anwählen - Serial Node bearbeitenbeim Intervall brauchst du nichts einstellen
den AES Code kannst du auch in der UI/Weboberfläche eingeben und dann sollte er auch die Daten ausspucken
oder AES Code hinterlegen in Subflow AMIS Client Ci Funktionsnode "Set AES Key" -
@alealdata
Ja Serialport habe ich installiert.
Bei mir ist auch 9600;8;even;1 eingestellt. Das sollte für den Netz OÖ Zähler passen, oder?
Irgendwie gibt am IR-Schreib-/Lesekopf nichts ausgegeben.
Normalerweise sieht man das mit der Handykamera. (Zumindest mit einem Windows Testprogram bei dem die Zeichen "Test" ausgegeben werden, sieht man es deutlich)
Wenn ich aber im Dashboard den Key eingebe und bestätigen klicke, tut sich nichts. -
@manuel001 wird die serielle Schnittstelle erkannt?
AES Code kannst du auch hier eingeben
Ein Hinweis in den Debugnachrichten?
-
@alealdata
Ja die Schnittstelle wird sauber erkannt. Wenn ich den Lesekopf abstecke ist die Verbindung weg und kurz nach dem Anstecken wieder da.
AES Code direkt eingeben hatte ich auch schon versucht.
In den Debugnachrichten kommt nur das, wenn ich den Key über das Dashboard eingebe:
Mod edit: key entfernt
Ich werde jetzt mal versuchen in einem neuen Flow eine Testausgabe über den Lesekopf zu machen. -
(Der Key oben im Bild war absichtlich nicht vollständig)
Also wenn ich in einem neuen Flow mit einem Inject Note auch nur eine einzelne Zahl mit dem Lesekopf ausgebe, sehe ich das sehr deutlich mit der Handykamera.
Der Flow CI AMIS dürfte also irgendwie nicht laufen.
Was für mich unklar ist, wie der Flow einen Trigger erhält, dass er etwas tun soll. -
Ich habe jetzt noch ein Debug Note eingefügt:
Und immer wenn ich im Dashboard den Key eingebe, kommt der auch dort an.
Aber beim USB wird es nicht ausgegeben.
Wenn ich aber dieses Device in einen neuen Flow kopiere, habe ich eine Ausgabe:
Kann mir das jemand erklären? -
@manuel001 schau dir sicherheitshalber die anderen settings.js die mit Node Red zusammenhängen an. Eventuell muss man dort den Eintrag machen. Der Zähler spricht einfach noch nicht mit dir da er erst was ausgibt wenn er den Schlüssel akzeptiert hat.
-
@alealdata
OK kann ich machen, aber es kommt ja beim USB-IR Kopf gar nichts raus.
Zumindest der unverschlüsselte Key müsste ausgegeben werden, weil dieser bis zum Schnittstellen-Node kommt.
Leider kann ich im Sub-Flow kein Injection-Note einfügen weil die Bearbeitung der Sub-Flows gesperrt ist. -
@manuel001 läuft bei mir mittlerweile per NodeRed innerhalb vom IOBroker - bei mir war nur ein Reboot erforderlich nach dem Anpassen der "settings.js" in /opt/iobroker/node_modules/iobroker.node-red
Hört sich vielleicht komisch an aber ist der Lesekopf richtig drauf - bei meinem Weidmann ist der USB Anschluss unten.Hatte unterschiedliche Node Versionen - @Thomas-Braun danke für deine Anleitung
hoobs@hoobs:~ $ which nodejs node npm && nodejs -v && node -v && npm -v && apt p olicy nodejs /usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.17.0 v14.17.0 6.14.13 nodejs: Installed: 14.17.0-1nodesource1 Candidate: 14.17.0-1nodesource1 Version table: *** 14.17.0-1nodesource1 500 500 https://deb.nodesource.com/node_14.x buster/main armhf Packages 100 /var/lib/dpkg/status 10.24.0~dfsg-1~deb10u1 500 500 http://mirrors.ocf.berkeley.edu/raspbian/raspbian buster/main armhf Packages hoobs@hoobs:~ $
aes hat sich in meinem Fall hier eingenistet
/home/hoobs/node_modules/aes-js
-
@alealdata
Hmm, reboot habe ich sicherheitshalber nach der Änderung gleich durchgeführt.
Ja Lesekopf habe ich mit allen Ausrichtungen getestet.
Wobei das Problem ist, dass gar nichts ausgegeben wird. -
@manuel001 kannst du hier mal schauen
hoobs@hoobs:~ $ npm list aes-js /home/hoobs └── aes-js@3.1.2 hoobs@hoobs:~ $
-
pi@iobroker:~ $ npm list aes-js /home/pi └── aes-js@3.1.2 pi@iobroker:~ $
-
Ich glaube es nicht, es funktioniert.
Absolut nichts geändert zu gestern (auch kein reboot) und jetzt funktioniert es.
Danke! -
@manuel001 cool freut mich
-
@manuel001 Servus, ich hätte noch eine Frage zu deinem Lesekopf. Welchen verwendest du? Welche werden hier von den meisten generell verwendet? Ich verwende einen Raspberry für den ioBroker. Danke!
-
@tomturbo-0
Ich verwende den Lesekopf von Hichi. (Über ein Forum daran gekommen)
Aber im Prinzip sollten eh alle gehen wenn die Wellenlänge der IR Dioden passt.
Bei mir läuft es über einen Raspi 2. -
@tomturbo-0 Weidmann Lesekopf vom großen Axxxxx
-
@manuel001 @alealdata Alles klar danke euch!
-
Seit dem Update (Node.js, Adapter) funktioniert leider das AMIS Script nicht mehr:
Das ist das das entsprechende Node:let aesjs = context.global.get('aesjs'); let tmp = msg.payload; msg.received_telegram = aesjs.utils.hex.fromBytes(msg.payload); if((tmp[0]==0x68)&&(tmp[1]==0x5f)&&(tmp[2]==0x5f)&&(tmp[3]==0x68)&&(tmp[5]==0xf0)&&(tmp[6]==0x5b)&&(tmp[100]==0x16)){ //node.warn("Daten-Telegramm: RX[" + msg.received_telegram.length + "] " + msg.received_telegram); return [msg,null,null]; } else if((tmp[0]==0x10)&&(tmp[1]==0x40)&&(tmp[2]==0xf0)&&(tmp[3]==0x30)&&(tmp[4]==0x16)){ node.warn("Such-Telegramm: RX[" + msg.received_telegram.length + "] " + msg.received_telegram); return [null,msg,null]; } else { node.warn("Unbekanntes Telegramm: RX[" + msg.received_telegram.length + "] " + msg.received_telegram); return [null,null,msg]; }
Irgend jemand eine Idee?
Es liegt vermutlich am Update vom JavaScipt Adapter. Da ab es auch den Hinweis bezüglich "breaking change bei den Objekttypen object und array".
Was das im konkreten Fall bedeutet, weiß ich aber nicht.