phifogg / ioBroker.sainlogic

An IoBroker Adapter for Sainlogic based weather stations
MIT License
20 stars 11 forks source link

Scheduler received data for unkown command 84 subcommand 49 #142

Closed grichter24 closed 1 year ago

grichter24 commented 1 year ago

Hallo,

heute wollte ich den Adapter auf Version 0.10.0 updaten von glaube 0.8.0?

Dabei ist mein ganzes iobroker abgestürzt. Danach waren unter opt/iobroker/node-modules ganz viele Ordner weg. Habe ich alle aus einer Sicherung wiederhergestellt. iobroker läuft wieder.

Im Protokoll kommen jetzt aber immer beim Adapter die Meldung "Scheduler received data for unkown command 84 subcommand 49"

Habe sainlogic schon komplett deinstalliert und neu installiert. Leider bleibt der Fehler.

Die Werte der Station werden auch aktualisiert. Zusätzlich sollen die Daten noch über eine Weiterleitungs-URL an meine Homepage geschickt werden. Dort kommen sie aber nicht an.

Hilfe!

Gruß Gordon

phifogg commented 1 year ago

Huch.. .ein kompletter ioB absturz? Hast Du da vielleicht noch irgendwelche Logs gezogen davon? Syslog oder so? Das klingt ziemlich heftig - tut mir leid und wüsste leider auch nicht woran das liegen sollte.

Was für eine Station hast Du? Bei einigen Stationen geht der Scheduler nicht. Weiterleitung klingt eigentlich nach Listener Mode. Versuche doch den Adapter in Debug modus zu setzen, dann kann ich Dir mit dem Log mehr helfen.

grichter24 commented 1 year ago

Guten Morgen,   ja, war ein Komplettabsturz. Aber ist nichts weiter passiert, konnte alles reparieren. Und gute Erinnerung daran, mal wieder ein Backup zu machen :)   Im Verzeichnis opt/iobroker/node_modules waren es knapp 200 Verzeichnisse weniger als in meiner Sicherung. Die kompletten "node-..."-Verzeichnisse waren z.B. weg.   Also mit der Version 0.8.0 funktioniert die Datenübertragung tatsächlich. Ich lass die erstmal installiert. Komischerweise kommen die Meldungen trotzdem.   Ich schau mal nach den Logs --> hängen an der Mail.   Ich habe eine Sainlogic WS3500.   Danke für die Hilfe :)   LG Gordon Logs.zip

phifogg commented 1 year ago

Puh.. in den Logs was zu finden ist nicht leicht wenn man nicht weiss nach was man suchen soll :D Wann hast Du denn das Upgrade des Adapters angeworfen? Das IOBroker log ist nur von danach, also da sehe ich eh nichts mehr.

Der erste Fehler den ich im syslog sehe wäre der hier:

Jan 10 21:39:03 openhabian bash[1384]: Cannot get installed host information: The "path" argument must be of type string. Received undefined
Jan 10 21:39:03 openhabian bash[1384]: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
Jan 10 21:39:03 openhabian bash[1384]:     at new NodeError (internal/errors.js:322:7)
Jan 10 21:39:03 openhabian bash[1384]:     at validateString (internal/validators.js:124:11)
Jan 10 21:39:03 openhabian bash[1384]:     at Object.join (path.js:1148:7)
Jan 10 21:39:03 openhabian bash[1384]:     at Object.getInstalledInfo (/opt/iobroker/node_modules/@iobroker/js-controller-common/lib/common/tools.js:872:41)
Jan 10 21:39:03 openhabian bash[1384]:     at writeUpdateInfo (/opt/iobroker/node_modules/iobroker.admin/main.js:335:27)
Jan 10 21:39:03 openhabian bash[1384]:     at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.admin/main.js:65:21)
Jan 10 21:39:03 openhabian bash[1384]:     at listOnTimeout (internal/timers.js:557:17)
Jan 10 21:39:03 openhabian bash[1384]:     at processTimers (internal/timers.js:500:7)

Das kommt irgendwo aus den (Un-)tiefen des IOB. Da kann ich nichts zu sagen. Kann aber natürlich ein Folgefehler sein von dem abgestürtzten upgrade.

Zu der Fehlermeldung im Log jetzt, Deine WS3500 geht nur über den Listener. Du must den Scheduler/Zeitplan ausschalten. Dann ist die Meldung auch weg.

Der Listener dagegen scheint nicht aktiv zu sein. Zumindest sehe ich davon in den Logs nichts.

grichter24 commented 1 year ago

ok, danke schonmal :)

Ich weiß nicht mehr wann ich das Update gestartet hatte. Hat aber auch grundsätzlich dann seeeeehr lange gedauert. Die Neuinstallation war ja innerhalb von Sekunden durch.

Vielleicht teste ich das Update nochmal. Aber da kamen ja irgendwie keine Daten auf meiner Homepage an...

Also ich hänge mal 3 Screenshots von den Einstellungen ran. Damit funktioniert alles in der 0.8.0 (nur die Fehlermeldungen kommen trotzdem, weiß aber nicht mehr, ob das vorher auch so war.

Screen3 Screen2 Screen1

grichter24 commented 1 year ago

sieht man auf den Screenshot nicht, aber bei Listener und Zeitplan ist der Haken bei "aktiv" gesetzt

update: Und habe jetzt mal den Zeitplaner deaktiviert. Daten kommen trotzdem an, Fehler ist verschwunden.

Vielleicht traue ich mich nochmal ans update. Vielleicht läuft es ja diesmal. Kann ja durchaus ein anderes Problem gewesen sein (RAM, Openhabian...)

grichter24 commented 1 year ago

und nochmal...

habe jetzt Update zu 0.10.1 gemacht. Lief problemlos durch... komisch gestern das war ;)

aber trotzdem werden die Daten mit der 0.10.0 nicht an die Weiterleitungs-URL geschickt. Die Daten im iob bekommen das Update, aber weiter an meine Homepage geht es nicht

grichter24 commented 1 year ago

und ein letrztes Mal.

Ich habe mal ein Log gespeichert. Der erste Teil ist mit 0.10.0, der 2. Teil mit 0.8.0

0.10.0: 12:16:56 0.08.0: 12:18:05 Uhr iobroker.2023-01-11.log

Sieht für mich gleich aus. Ich lese in der Weiterleitungs-URL die Daten mit $_get aus und speichere sie in eine Datenbank. Das funktioniert nur mit der 0.8.0, bei der 0.10.0 kommen keine Daten an. Hat sich an der Weiterleitung evtl. etwas geändert?

phifogg commented 1 year ago

Das hier ist aus dem 0.8.0-er log, da sieht man die forward URL schön:

2023-01-11 12:18:06.372  - debug: sainlogic.0 (32647) Listener IP: 192.168.77.47
2023-01-11 12:18:06.374  - debug: sainlogic.0 (32647) Listener port: 45000
2023-01-11 12:18:06.375  - debug: sainlogic.0 (32647) Listener path: /weatherstation/updateweatherstation.php
2023-01-11 12:18:06.376  - debug: sainlogic.0 (32647) Listener protocol: wunderground
2023-01-11 12:18:06.377  - debug: sainlogic.0 (32647) Forward URL: http://www.fam-richter.de/meteo/wetterupload.php?

Mit dem 0.10.0-er update sehe ich diese Meldung:

2023-01-11 12:17:09.208  - info: sainlogic.0 (32586) undefined

Das dürfte das problem sein. Jetzt muss ich suchen was 'undefined' ist. Eigentlich habe ich da nichts wissentlich geändert. Ich schaue später mal rein. Danke für das log!

phifogg commented 1 year ago

Sehe gerade, das sieht auch spannend aus mit 0.10.0

Extracting value for weather.maxvalues.daily.UVraw_time(ID)
2023-01-11 12:17:08.392  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(PASSWORD)
2023-01-11 12:17:08.394  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(indoortempf)
2023-01-11 12:17:08.395  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(tempf)
2023-01-11 12:17:08.396  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(dewptf)
2023-01-11 12:17:08.397  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(windchillf)
2023-01-11 12:17:08.398  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(indoorhumidity)
2023-01-11 12:17:08.399  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(humidity)
2023-01-11 12:17:08.400  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(windspeedmph)
2023-01-11 12:17:08.401  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(windgustmph)
2023-01-11 12:17:08.403  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(winddir)
2023-01-11 12:17:08.404  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(absbaromin)
2023-01-11 12:17:08.405  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(baromin)
2023-01-11 12:17:08.406  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(rainin)
2023-01-11 12:17:08.407  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(dailyrainin)
2023-01-11 12:17:08.408  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(weeklyrainin)
2023-01-11 12:17:08.409  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(monthlyrainin)
2023-01-11 12:17:08.410  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(solarradiation)
2023-01-11 12:17:08.411  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(UV)
2023-01-11 12:17:08.412  - debug: sainlogic.0 (32586) Extracting value for weather.maxvalues.daily.UVraw_time(dateutc)

Der scheint alle Attribute auf UVraw_time setzen zu wollen. das ist nicht gut.

grichter24 commented 1 year ago

was mir noch aufgefallen ist gerade...

Es werden nur die Listenerwerte aktualisiert. Unter Objekte --> sainlogic.0.weather.current steht alles auf NULL.

Der Upload auf die Weiterleitungurl hat aber die Daten. Nur im current steht nichts drin. Dadurch sind die Daten dann im MQTT auch leer. Kannst du da nochmal schauen?

Oder ist es das was du oben meintest? Die Meldung mit UVraw steht aktuell im Log, bei Version 0.8.0

update: vergiss es. Habe den Adapter deinstalliert und neu installiert, jetzt geht es wieder. Jetzt sind auch die UVRaw-Fehler verschwunden.

Sorry für das Durcheinander. Sag gern bescheid, wenn ich nochmal alles testen soll um den evtl. bug zu bestätigen oder zu revidieren.

Ich denke das Problem liegt an meiner Installation. Ich habe den Adapter neu installiert. Es steht da, das Version 0.8.0 installiert ist, obwohl ich die nicht ausgewählt habe. Und in den Instanzen steht dann 0.10.0

Wie kann ich den kompletten Adapter entfernen? Inkl. aller Dateien. Würde den gern nochmal bei 0 starten. Vielleicht ist gestern beim Absturz doch etwas schief gelaufen.

Bei der Deinstallation kommt auch: $ iobroker del sainlogic --custom

Delete adapter "sainlogic"

host.openhabian Counted 2 states (system.adapter.sainlogic.*) from states

host.openhabian object sainlogic deleted

host.openhabian object sainlogic.admin deleted

host.openhabian Deleting 2 state(s).

Error deleting adapter sainlogic from disk: Cannot find module 'iobroker.sainlogic/io-package.json'Require stack:- /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupInstall.js- /opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js- /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js

You might have to delete it yourself!

phifogg commented 1 year ago

Da ist wirklich was schief bei Dir. Hängt sicher noch an dem Absturz. Habe eben mein 0.10.0er angeschaut, da klappt das mapping auf die Werte.

Um ihn komplett loszuwerden in ioB deinstallen (soweit halt möglich), dann alle Objekte in sainlogic löschen und zur sicherheit auf der Disk in node-modules das Verzeichnis iobroker.sainlogic löschen. Dann sollte eine neue installation auch wieder gehen.

phifogg commented 1 year ago

Funktioniert es nun bei Dir? Würde sonst gerne das issue schliessen.

grichter24 commented 1 year ago

Funktioniert nach Neuinstallation alles wieder super. Da war scheinbar in der iob-Installation der Wurm drin...

Vielen Dank

grichter24 commented 1 year ago

Hallo Daniel,

neuerdings habe ich in unregelmäßigen Abständen merkwürdige Werte bei mir stehen.

Die Außentempertur liegt dann bei -5572,8 und die Luftfeuchtigkeit bei -9999

Nach ein paar Minuten ist wieder alles schick. In dieser Zeit werden auch keine Daten an Weatherunderground geschickt. Auch auf meine Homepage (Meteotemplate) kommen diese Daten nicht an. Per MQTT werden sie allerdings veröffentlicht.

Ist das Gerät defekt? Oder sagt dir das irgendetwas?

Vielen Dank.

Gruß Gordon

Message ID: @.***>