NEWS
Adapter "smartmeter"
-
Nein, die kommen manchmal auch in ioBroker. Ich kann nur noch nicht genau sagen, wann das u0000 kommt und wann er anfängt die ja eigentlich richtigen Daten auszulesen.
Die Abstürze scheine dadurch zu kommen, weil er im Milisekundentakt Daten vom Zähler bekommt, wie gesagt jede Zeile ein Stelle mehr.
Ich probiere noch weiter ein ordentliches log zu bekommen.
-
Die u000 kommen an sich wenn die Baudrate-EInstellungen falsch sind und er Daten sendet. ALso ggf wenn er abgestürzt ist und noch Daten sendet wenn der Adapter dann wieder startet.
Also am besten mach Adapter aus. Warte paar Minuten und dann aktiviere Ihn neu.Dann sollte das nicht mehr sein weil der Zähle rja an sich nur "auf request" Daten sendet.
-
…so, das Warten hat sich hoffentlich gelohnt. Jetzt habe ich nochmal sauber mit nem neuen log begonnen, das alte log hatte inzwischen schon über 100 MB
-
Das sieht doch schon mal viiiiiiiel besser aus!!
Wenn DU jetzt noch das "Baudrate Changeover Overwrite" mit "300" aus der Konig rauswirfst schafft er auch in einer Minute alle Daten zu senden
DU hast Damit seine Sendegeschwirndigkeit sooooooooo langsam gemacht das das zu lange dauert.
Also mach nochmal mit der geänderten Konfig
-
…so hier das nächste log:
Kann es sein, dass der Adapter nicht merkt, dass alle Daten gesendet wurden und macht immer weiter? Weil jetzt sind ja mittendrin wieder diese u0000 Werte drin.
Rappi
-
Hm … scheinbar macht er den angeforderten Baudrate Change nicht. Daher kommen die u0000er.
Also doch wieder das Overwrite rein mit den 300 und neueste Version vom Github. Da habe ich die maximale Lesezeit mal aus 2 Minuten erhöht. Mal schauen ob er da fertig wird
Versuch bitte mal die tests aktuell wo der Debug Modus an ist an der Kommandozeile zu machen und das "Admin" im Web zu zu haben. Ich denke das deine Redis crashes daher kommen.
in /opt/iobroker kannst Du mit
iobroker stop smartmeter die Instanzen stoppen und mit iobroker start smartmeter starten ... musst Du nicht per Admin machen.
Die 300 Baud sind halt eeeecht lahm Aber wenn es nur so gesichert geht ists halt so. Wenn das mal klappt kann man andere Baudraten testen.
-
Hat ne Weile gedauert. Hat aber so auch funktioniert.
Die zwei Minuten haben scheinbar noch nicht gereicht. Ich verstehe den Fehler nicht, aber liegt es möglicherweise an der SD Karte? Da ist zwar nicht die billigste drin aber ein so gute auch nicht!
Hier die log-Datei:
Rappi
-
Ne das ist schon alles so korrekt und liegt an der Geschwindigkeit von 300 baud.
Dann sag ich Dir jetzt wo der Timeout definiert ist dann kannst Du den mal selber hochsetzen und testen was er sein müsste
File ist /opt/iobroker/node_modules/smartmeter_obis/lib/transport/SerialRequestResponseTransport.js
dort ist Zeile 20 heisst es:
if (!this.options.transportSerialMessageTimeout) this.options.transportSerialMessageTimeout = 120000;
120000ms=120s … jetzt kannste um es einfach zu machen da einfach mal ne 0 dranhängen dann sind das 1200s=20min ... das sollte langen Dann kannst DU im Log sehen wann er mit lesen fertig ist.
Ich schaue das ich den Lese-Timeout in der nächsten Version einfach im Adapter Konfigurierbar mache, dann geht das einfacher.
Nur noch zur SIcherheit: Es gibt nur den Smartmeter-Prozess der die seriellen Daten liesst ?! Nicht das deswegen die baudrate nicht geändert werden kann ... an sich laut Doku sollte er das nämlich können.
-
Es sollte keinen weiten Zugriff auf das Gerät geben, ich habe extra eine neue Installation für den Banana gemacht, um alle anderen möglichen Einflüsse auszuschließen.
Ich werde jetzt mal den Timeout hochsetzten und berichten.
Es werden auch noch keine Objekte angelegt, aber das ist ne andere Baustelle, oder?
Rappi
-
Kannst wenn der Adapter läuft auch mal ein "cat" auf dein serielles device machen und gucken ob da die Daten ausgegeben werden.
Gesendet von iPhone mit Tapatalk Pro
-
Es werden auch noch keine Objekte angelegt, aber das ist ne andere Baustelle, oder? `
Objekte werden erst angelegt wenn er mal eine korrekte Message erhalten hat Er bricht bei Dir halt immer vorher ab -
Kannst wenn der Adapter läuft auch mal ein "cat" auf dein serielles device machen und gucken ob da die Daten ausgegeben werden.
Gesendet von iPhone mit Tapatalk Pro `
cat und dann das USB Gerät dahinter?
"cat ttyUSB0" So?
Es sieht so aus, als wenn die Erhöhung des Timeouts nicht übernommen wird. Ich habe die angegebene Zeile geändert und trotzdem beginnt das log mit einer Null weniger. Ich habe den Banana und auch iobroker schonmal neu gestartet.
-
Nope, bitte kein cat … dann kann das Baudratechenge erst recht nicht gehen.
Zu deinem Log:
Das umfasst gerade mal eine Minute und sieht für mich so aus als ob manuell abgebrochen ... und es fing schon mitten im Datenstrom an.
Also nochmal Adapter beenden. 15 Minuten warten
Starten und laufen lassen mind 5 Minuten. Kannst ja parallel in nem zweiten SSH-Fenster das logfile einfach anschauen, dann siehst Du grob wo er ist.
-
Ich wollte mit dem log nur zeigen, dass die Timeout Änderung nicht übernommen wurde, da steht immer noch 120000 und nicht 1200000! :oops:
-
Komisch.
Naja … installier mal vom Github, dann kannst du es in der Adapter-Konfig konfigurieren. ABer ich habs nicht getestet bisher, sondern "trocken" gebaut ... aber versuch mal.
Update vom Github: Adapter oben links ist ein Button, wo man Adapter von Custom-Location installieren kann. Dort ins Textfeld dann https://github.com/Apollon77/ioBroker.smartmeter eintragen ... updaten und dann konfigurieren ... Dort aber in Sekunden! also 3 Nullen weg
-
Danke, das mit Github kenn ich schon, die Änderung wurde schon mal übernommen, ich hab erstmal 10 min eingestellt, Ergebnis kommt dann!
-
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.