NEWS
Adapter "smartmeter"
-
Na, bitte hat doch geklappt, hier das log!
Die Objekte sind jetzt auch da, sind ja auch angelegt worden, das kann man ja im log sehen.
Das Auslesen hat übrigens ca. 6 min gedauert, dann brauchst du nicht erst nachrechnen!
Jetzt kommen auch schon ein paar Wünsche: Es wäre schön, wenn man die Flut an Datenpunkten bei den Objekten eingrenzen/auswählen könnte, das sind ja elendig viele!
Das ist auch schon mal super, dass dieser Zähler jetzt auch ausgelesen werden kann, die Hardware von ELV kann das leider nicht. Da habe ich noch den Zähler für die PV-Erzeugung (Easymeter Q3DA1004). Der ist mit dem ELV Gerät prima auslesbar, deine Variante mit dem Adapter wird aber sogar mit dem dann notwendigen Pi oder Ähnlichem preiswerter!
Jetzt muss ich nur noch die Datenpunkte auf meinen anderen PC kriegen, dazu hab ich schon was gelesen (Multihost). Wenn ich noch was testen soll, gib mir Bescheid!
Rappi
-
Die Objekte sind jetzt auch da, sind ja auch angelegt worden, das kann man ja im log sehen.
Das Auslesen hat übrigens ca. 6 min gedauert, dann brauchst du nicht erst nachrechnen! `
Na super!
Wenn Du jetzt noch experimentieren willst (oder Dir die 6 Minuten zu langsam sind) dann könntest Du nochmal mit verschiedenen Baudraten spielen. Warum er selbst sagt das er 9600baud kann, aber dann scheinbar die Bestätigung des "changeovers" nicht akzeptiert kapiere ich nicht.
Vllt nochmal ohne das 300er Override versuchen nachdem er wirklich von vorher keine Daten mehr sendet. Also Adapter beenden, mind 6 Minuten warten und ohne den Override nochmal versuchen.
Jetzt kommen auch schon ein paar Wünsche: Es wäre schön, wenn man die Flut an Datenpunkten bei den Objekten eingrenzen/auswählen könnte, das sind ja elendig viele! `
Naja, da wird es dann schwierig. Der Zähler liefert immer diesen Datensatz wenn er was liefert. Also sind immer alle da. Der Adapter prüft aber bei jedem Durchlauf was sich geändert hat und aktualisiert auch nur diese Datenpunkte im System. Also da wird schon optimiert. ABer an sich schaden Datenopunkte nicht. Musst Sie ja nicht nutzen ;-))
Jetzt muss ich nur noch die Datenpunkte auf meinen anderen PC kriegen, dazu hab ich schon was gelesen (Multihost). Wenn ich noch was testen soll, gib mir Bescheid! `
Was meinst Du mit "muss ich auf den PC kriegen? Das hat mit Multihost erstmal nix zu tun. Wenn Du die "Statistisch" verwerten willst ist der richtige Ansatz einen der History-Adapter zu nutzen. Der Loggt dann alle Werte z.B. in einer SQL-Datenbank oder InfluxDB und somit kannst DU dann auf die DB von überall aus zugreifen …
-
Ok, das mit dem Baudratenwechsel werde ich probieren.
Mit den "Daten auf den PC kriegen" meine ich, dass ich ja momentan ioBroker auf einem Windows PC nutze. Das läuft bei mir momentan am stabilsten. Ich hatte auch schon einen Raspi und eben den Banana probiert, beide liefen immer nur ein paar Tage oder Wochen, Der PC läuft jetzt schon Monate problemlos, das soll aber hier jetzt nicht weiter das Thema sein.
Unter Multihost habe ich verstanden, dass ich jetzt die Daten mit dem Banana erfasse und mit dem PC auch verwenden kann, ist das nicht so? Den History Adapter habe ich auf dem PC aktiv, wo ich eben dachten, dass dieser auch die Daten vom Banana verarbeiten kann.
Rappi
-
Multihost ist sogar noch cooler.
Du hast dann deinen Haupt-iobroker mit der Admin-Oberfläche auf dem PC. Den Bananapi richtest Du als Multihost Slave ein. Sobald Du das tust landen die States im Redis wie auch vom Hauptsystem und die anderen Sachen werden gesynct. Dann installierst Du den smartmeter Adapter als einziges auf dem Slave. Das läuft dann alles über die Admin-Oberfläche vom Master (der Slave hat quasi keine Admin-Oberfläche mehr. Auf dem Master wählst Du einfach den Slave als Host aus und dann erledigt ioBroker den Rest.
Und alle (aktuellen) Daten sind in einem Redis bzw einem Store. Damit ja, hast Du die aktuellen Werte immer da.
-
Genau, so ungefähr hab ich das verstanden!
Ich melde mich wieder wenn ich was getestet habe!
Rappi
-
Ist denn in deinem Adapter ein "baudrate_change_delay": 500 drin. Das ist beim Volkszähler noch drin für den Zähler, vielleicht erfolgt ja die Umschaltung zu schnell für den Zähler!?
Rappi
-
Ein Problem hab ich jetzt noch. Kann man die Doppelpunkte aus den Objektnamen rausprogrammieren oder ändern? Beim Speichern der Daten mit dem history-Adapter kommt ein Fehler, der auf den, im Namen enthaltenen Doppelpunkt zurückzuführen ist! :?:
Rappi
-
Ein Problem hab ich jetzt noch. Kann man die Doppelpunkte aus den Objektnamen rausprogrammieren oder ändern? Beim Speichern der Daten mit dem history-Adapter kommt ein Fehler, der auf den, im Namen enthaltenen Doppelpunkt zurückzuführen ist! :?: `
Welchen Fehler genau bekommst Du von History?
Das Delay muss ich mir noch ansehen … hab da ne befürchtung die in eine Ähnliche Richtung geht. Warte mal ein bissl
-
den hier:
Ich hatte noch probiert, eine leere Kopie anzulegen und da kam die Meldung, dass Doppelpunkte nicht erlaubt sind als Dateiname. Den Doppelpunkt aus der Wertbezeichnung kann ich ja ändern, die Objektbezeichnung aber nicht!
-
Soooo … Bitte 0.4.0 vom Github (noch nicht im npm) versuchen. Ich hab mal was an der Baudrate-Change Logik geändert ... jetzt könnte das tun.
Also bitte die 300er Overwrite raus, beenden. 6+Mins auslaufen lassen und in Debug neu starten lassen ... und Daumen drücken
History ... ich berate mich gerade mit Bluefox ob wir History patchen oder den Doppelpunkt verbieten ...
-
Soooo … Bitte 0.4.0 vom Github (noch nicht im npm) versuchen. Ich hab mal was an der Baudrate-Change Logik geändert ... jetzt könnte das tun.
Also bitte die 300er Overwrite raus, beenden. 6+Mins auslaufen lassen und in Debug neu starten lassen ... und Daumen drücken `
Ok, wird getestet.
-
Tja, das sieht aus wie ein Volltreffer! :lol:
Super! Damit kannst du dann den AS1440 in die Kompatibilitätsliste als kompatibel aufnehmen.
Rappi
-
Perfekt … und aus 6 Minuten mach 20 Sekunden :-))
Have fun!
-
Wichtig ist noch der Hinweis, dass beim Testen auch mal ne Weile gewartet werden sollte, bevor der Adapter neu gestartet wird. Und weil ja beim Ändern der Parameter immer ein Neustart des Adapters erfolgt, macht es sich besser, den Adapter vorher zu beenden. Ansonsten sucht man vergeblich.
Ich bin jetzt mit den Zeiteinstellungen schon ganz schön weit runter gekommen. Mal sehen, ob ich bis zum dauerhaften Auslesen komme, daswäre natürlich perfekt zum Analysieren des Verbrauchs und der Einspeisung.
Rappi
-
Ich bin jetzt mit den Zeiteinstellungen schon ganz schön weit runter gekommen. Mal sehen, ob ich bis zum dauerhaften Auslesen komme, daswäre natürlich perfekt zum Analysieren des Verbrauchs und der Einspeisung. `
Das kannst Du machen indem Du das Abfrageintervall auf 1s. Das Abfrageintervall ist quasi die Pause die er nach Abschluss einer Nachricht bis zum nächsten Start wartet. es kann also nie zu Überlappungen kommen. Bei Dir mit der langen Nachricht und damit ca. 25-30 Sekunden für die Verarbeitung einer Nachricht wäre ein Intervall von 1 dann quasi ein Auslesen alle 30 Sekunden ganz grob -
Irgenwas stimmt doch noch nicht so richtig.
Der Adapter läuft nach dem Neustarten ne ganze Weile durch und bleibt irgendwann stehen. Ich hatte dann das Loggen wiederauf debug gestellt und laufen lassen.
Der Adapter bleibt immer nach der Meldung "smartmeter.0 2017-02-24 13:03:35.595 debug BAUD CHANGEOVER DONE" stehen. Die Zeit, die er läuft ist glaub ich nicht immer gleich. Wenn du die große log-Datei haben willst, versuche ich die hochzuladen, unkomprimiert über 300MB.
Meine Einstellungen sind momentan so:
Mit den von gestern geposteten Einstellungen war das Problem aber auch schon.
Rappi
-
Mir reichen die sagen wir 10-20 Zeilen vor und nach so nem "Hänger". Muss nicht alles sein.
bzw. warte noch 10 Mins dann bitte vom Github aktualisieren … wenns dann nochmal passiert (habe eine stelle gefunden wo was gefehlt hat)
-
0.4.1 im npm und auf Github. Es kann faktisch jetzt nur noch hängen bleiben wenn seriell nicht geschrieben werden kann, was aber an sich "unmöglich" ist.
-
Test läuft!
-
So, hier dann der Fehler, sieht so aus, als wenn SIGABRT dafür verantwortlich ist.
Hier noch die letzten Logzeilen:
! ````
smartmeter.0 2017-02-24 17:37:32.578 debug smartmeter.0 BAUD CHANGEOVER DONE
smartmeter.0 2017-02-24 17:37:32.577 debug smartmeter.0 REMAINING DATA AFTER MESSAGE HANDLING:
smartmeter.0 2017-02-24 17:37:32.577 debug smartmeter.0 CURRENT PROCESS STEP 4 IN ISPROCESSCOMPLETE: false
smartmeter.0 2017-02-24 17:37:32.577 debug smartmeter.0 SET MESSAGE TIMEOUT TIMER: 120000
smartmeter.0 2017-02-24 17:37:32.576 debug smartmeter.0 TO SEND 1:
smartmeter.0 2017-02-24 17:37:32.575 debug smartmeter.0 BAUD CHANGEOVER TO 9600 baud
smartmeter.0 2017-02-24 17:37:32.573 debug smartmeter.0 CURRENT PROCESS STEP 4 IN GETNEXTMESSAGE
smartmeter.0 2017-02-24 17:37:32.399 debug smartmeter.0 TO SEND 2: 050
smartmeter.0 2017-02-24 17:37:32.399 debug smartmeter.0 CURRENT PROCESS STEP 3 IN GETNEXTMESSAGE
smartmeter.0 2017-02-24 17:37:32.398 debug smartmeter.0 MESSAGES TO SEND: 2
smartmeter.0 2017-02-24 17:37:32.398 debug smartmeter.0 CURRENT PROCESS STEP 3 IN ISPROCESSCOMPLETE: false
smartmeter.0 2017-02-24 17:37:32.397 debug smartmeter.0 D0 Protocol E (@) not fully supported! Let us try it Please contact the developer if you have problems
smartmeter.0 2017-02-24 17:37:32.397 debug smartmeter.0 CURRENT PROCESS STEP 2 IN HANDLEMESSAGE
smartmeter.0 2017-02-24 17:37:32.395 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 \r\n' -> ['/ELS5\@V9.30 \r\n','/ELS5\@V9.30 ']
smartmeter.0 2017-02-24 17:37:32.391 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.301 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 \r' -> null
smartmeter.0 2017-02-24 17:37:32.298 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.263 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.260 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.226 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.223 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.189 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.186 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.153 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.150 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.116 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.113 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.079 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.077 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.042 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.040 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:32.010 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:32.007 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.981 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:37:31.979 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.938 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30' -> null
smartmeter.0 2017-02-24 17:37:31.934 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.898 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.3' -> null
smartmeter.0 2017-02-24 17:37:31.895 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.862 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.' -> null
smartmeter.0 2017-02-24 17:37:31.857 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.823 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9' -> null
smartmeter.0 2017-02-24 17:37:31.820 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.790 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V' -> null
smartmeter.0 2017-02-24 17:37:31.787 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.760 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@' -> null
smartmeter.0 2017-02-24 17:37:31.754 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.731 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\' -> null
smartmeter.0 2017-02-24 17:37:31.715 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.677 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5' -> null
smartmeter.0 2017-02-24 17:37:31.674 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.643 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS' -> null
smartmeter.0 2017-02-24 17:37:31.638 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.604 debug smartmeter.0 MATCH-RESULT SIGNON: '/EL' -> null
smartmeter.0 2017-02-24 17:37:31.601 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.568 debug smartmeter.0 MATCH-RESULT SIGNON: '/E' -> null
smartmeter.0 2017-02-24 17:37:31.565 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.553 debug smartmeter.0 MATCH-RESULT SIGNON: '/' -> null
smartmeter.0 2017-02-24 17:37:31.550 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 SET MESSAGE TIMEOUT TIMER: 120000
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 CURRENT PROCESS STEP 1 IN GETNEXTMESSAGE
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 CURRENT PROCESS STEP 0 IN GETNEXTMESSAGE
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 INITIAL MESSAGES TO SEND: 2
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 SERIALPORT RESET BAUDRATE TO 300
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 SERIALPORT OPEN
smartmeter.0 2017-02-24 17:37:31.120 debug smartmeter.0 CREATE SERIALPORT: 300 7 1 even
smartmeter.0 2017-02-24 17:37:31.119 debug smartmeter.0 SmartmeterObis options: {'debug':2,'protocol':'D0Protocol','transport':'SerialRequestResponseTransport','requestInterval':'20','transportSerialPort':'/dev/ttyUSB1','transportSerialBaudrate':300,'transportSerialDataBits':7,'transportSerialStopBits':1,'transportSerialParity':'even','transportSerialMessageTimeout':null,'protocolD0WakeupCharacters':0,'obisFallbackMedium':1}
smartmeter.0 2017-02-24 17:37:31.118 info smartmeter.0 starting. Version 0.4.1 in /opt/iobroker/node_modules/iobroker.smartmeter, node: v6.10.0
ioBroker-BPi 2017-02-24 17:37:25.811 info host.ioBroker-BPi instance system.adapter.smartmeter.0 started with pid 2329
javascript.0 2017-02-24 17:37:00.996 info javascript.0 script.js.Sonnenstand: Script Sonnenstand; Erfolgreich gelaufen, Werte akzeptiert
ioBroker-BPi 2017-02-24 17:36:55.791 info host.ioBroker-BPi Restart adapter system.adapter.smartmeter.0 because enabled
ioBroker-BPi 2017-02-24 17:36:55.790 error host.ioBroker-BPi instance system.adapter.smartmeter.0 terminated with code null ()
ioBroker-BPi 2017-02-24 17:36:55.788 warn host.ioBroker-BPi instance system.adapter.smartmeter.0 terminated due to SIGABRT
smartmeter.0 2017-02-24 17:36:55.578 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.537 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 \r' -> null
smartmeter.0 2017-02-24 17:36:55.534 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.500 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.498 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.463 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.462 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.427 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.425 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.391 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.389 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.354 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.352 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.317 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.315 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.281 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> null
smartmeter.0 2017-02-24 17:36:55.279 debug smartmeter.0 CURRENT PROCESS STEP 2 IN CHECKMESSAGE
smartmeter.0 2017-02-24 17:36:55.243 debug smartmeter.0 MATCH-RESULT SIGNON: '/ELS5\@V9.30 ' -> nullIst aber jetzt von allein wieder gestartet.