foxthefox / ioBroker.jeelink

Jeelink adapter for ioBroker
MIT License
6 stars 12 forks source link

Adapter zeigt im ioBroker keine Daten der Sensoren an #92

Closed tis-cs closed 1 year ago

tis-cs commented 1 year ago

Describe the bug
Adapter empfängt keine H/T Daten von einem TX29DTH-IT

To Reproduce
Steps to reproduce the behavior:

  1. Adapter auf /dev/ttyUSB0 mit Baud 57600 konfiguriert und gestartet
  2. In den Protokollen für den Adapter jeelink.0 geschaut (alle Modi getestet debug/info/warn/silly)
  3. keine Daten von den Sensoren zu sehen
  4. See error

Expected behavior
Sensordaten im DTH Format als undefiniert

Screenshots & Logfiles
per Console läuft der Stick

pi@iobroker-slave:~ $ sudo -u iobroker cat /dev/ttyUSB0 OK 9 35 1 4 196 50 OK 9 35 1 4 197 50

Der Adapter kann auch drauf zugreifen

pi@iobroker-slave:~ $ sudo lsof /dev/ttyUSB0 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME io.jeelin 17540 iobroker 32uW CHR 188,0 0t0 252 /dev/ttyUSB0

Versions:

foxthefox commented 1 year ago

Sorry für die späte Antwort, war im Urlaub. Werde mir das Problem dieses WE anschauen

foxthefox commented 1 year ago

Also der Sensor muß mit der ID=35 und als LacrosseDTH konfiguriert sein. Mit der Version 1.1.0 habe ich den serialport Treiber erneuert, könnte daran liegen. Bitte auch einmal die Version 1.0.3 von npm testen, die hatte noch den vorherigen serialport Treiber drin und sollte mit der obigen Konfiguration etwas empfangen. Was sagt denn jeweils das DEBUG log?

foxthefox commented 1 year ago

habe auf github die Version 1.1.1 erstellt, bitte einmal testen und berichten. Ich habe diverse loglevel geändert, beim Start gibt es nun Infos zum SerialPort. Falls nichts danach passiert, bitte auf debug umstellen und berichten, was geloggt wird.

tis-cs commented 1 year ago

Ich habe nun auf 1.1.1 geupdated und jeweils einen Sensor mit der ID35 hinzugefügt. Im Log kommt leider immer noch nichts. Auch nicht, wenn man auf DEBUG stellt. Kann man sonst irgendwie unterstützen?

Log

2022-12-11 18:45:21.221 - info: host.iobroker-slave stopInstance system.adapter.jeelink.0 (force=false, process=true) 2022-12-11 18:45:21.235 - info: jeelink.0 (29652) Got terminate signal TERMINATE_YOURSELF 2022-12-11 18:45:21.242 - info: jeelink.0 (29652) terminating 2022-12-11 18:45:21.246 - info: jeelink.0 (29652) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2022-12-11 18:45:21.276 - info: host.iobroker-slave stopInstance system.adapter.jeelink.0 send kill signal 2022-12-11 18:45:21.843 - info: host.iobroker-slave instance system.adapter.jeelink.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2022-12-11 18:45:24.343 - info: host.iobroker-slave instance system.adapter.jeelink.0 started with pid 29865 2022-12-11 18:45:27.448 - info: jeelink.0 (29865) starting. Version 1.1.1 (non-npm: foxthefox/ioBroker.jeelink#ccbca53f2b4568cbb7d797d44e0f7d845d26754b) in /opt/iobroker/node_modules/iobroker.jeelink, node: v16.18.1, js-controller: 4.0.23 2022-12-11 18:45:27.502 - info: jeelink.0 (29865) start of main 2022-12-11 18:45:27.549 - info: jeelink.0 (29865) RFM12B setting up object = emonTH1 2022-12-11 18:45:27.585 - info: jeelink.0 (29865) RFM12B setting up object = LaCrosse 2 2022-12-11 18:45:27.595 - info: jeelink.0 (29865) RFM12B setting up object = LaCrosse 3 2022-12-11 18:45:27.609 - info: jeelink.0 (29865) configured port : /dev/ttyUSB0 2022-12-11 18:45:27.610 - info: jeelink.0 (29865) configured baudrate : 57600 2022-12-11 18:45:27.611 - info: jeelink.0 (29865) instantiating SerialPort path: /dev/ttyUSB0 baudrate : 57600 2022-12-11 18:45:27.624 - info: jeelink.0 (29865) adapter opened the SerialPort 2022-12-11 18:45:30.903 - info: host.iobroker-slave stopInstance system.adapter.jeelink.1 (force=false, process=true) 2022-12-11 18:45:30.917 - info: jeelink.1 (29667) Got terminate signal TERMINATE_YOURSELF 2022-12-11 18:45:30.922 - info: jeelink.1 (29667) terminating 2022-12-11 18:45:30.926 - info: jeelink.1 (29667) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2022-12-11 18:45:30.956 - info: host.iobroker-slave stopInstance system.adapter.jeelink.1 send kill signal 2022-12-11 18:45:31.527 - info: host.iobroker-slave instance system.adapter.jeelink.1 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2022-12-11 18:45:34.014 - info: host.iobroker-slave instance system.adapter.jeelink.1 started with pid 29891 2022-12-11 18:45:37.099 - info: jeelink.1 (29891) starting. Version 1.1.1 (non-npm: foxthefox/ioBroker.jeelink#ccbca53f2b4568cbb7d797d44e0f7d845d26754b) in /opt/iobroker/node_modules/iobroker.jeelink, node: v16.18.1, js-controller: 4.0.23 2022-12-11 18:45:37.153 - info: jeelink.1 (29891) start of main 2022-12-11 18:45:37.196 - info: jeelink.1 (29891) RFM12B setting up object = emonTH1 2022-12-11 18:45:37.226 - info: jeelink.1 (29891) RFM12B setting up object = LaCrosse 2 2022-12-11 18:45:37.235 - info: jeelink.1 (29891) RFM12B setting up object = LaCrosse 3 2022-12-11 18:45:37.248 - info: jeelink.1 (29891) configured port : /dev/ttyUSB1 2022-12-11 18:45:37.249 - info: jeelink.1 (29891) configured baudrate : 57600 2022-12-11 18:45:37.250 - info: jeelink.1 (29891) instantiating SerialPort path: /dev/ttyUSB1 baudrate : 57600 2022-12-11 18:45:37.263 - info: jeelink.1 (29891) adapter opened the SerialPort

foxthefox commented 1 year ago

also die 3 Sensoren, die beispielhaft in der Konfiguration drin sind, kannst du löschen. Dann ein neuen Sensor einfügen der meinetwegen die id und uid mit 35 und als type den LaCrosseDTH hat. Dann nochmal in debug die Sache anschauen und ein wenig Zeit lassen (30min oder so), die Sensoren senden ja nicht jede Sekunde. Dann sollte auch mal eine Meldung eingefangen werden. Falls das mit dem neuen seriellen Treiber in 1.1.0/1.1.1 zusammenhängen sollte, dann bitte den Adapter löschen und 1.0.3 installieren und wieder die Konfiguration einstellen und im debug die Sache länger beobachten und berichten

tis-cs commented 1 year ago

Wenn ich die 1.1.1 oder die 0.1.4 installiere, bekomme ich noch immer nichts im Log (Level egal). Jedoch werden unter beiden Versionen Objekte in ioBroker erzeugt, wenn ich den Sensor mit der ID35 manuell anlege. Somit bekomme ich zumindest einen Sensor ans laufen.

Jedoch kann ich so keinen 2. Sensor betreiben. Dieser liefert dann keine Werte. Wenn man in den Sensor reinhaucht, sendet er innerhalb von fünf Sekunden neue Daten, das geht ganz zuverlässig.

Wenn ich den Adapter bei ioBroker zuerst lösche und dann per Console mit iobroker url https://github.com/foxthefox/ioBroker.jeelink oder über das UI über die Github URL installiere, wird mir immer die aktuelle Instanz 1.1.1 installiert. In der Anzeige bei der Versionsauswahl sind immer nur die ganz alten Versionen aufgelistet.

Bildschirm­foto 2022-12-11 um 23 22 31

Ich habe nun via NPM die 1.0.3 installiert, die mir zumindest einen neuen Logeintrag beschert:

jeelink.0 | 2022-12-12 00:03:13.491 | info | check group user admin group admin: false jeelink.0 | 2022-12-12 00:03:13.482 | info | check user admin pw iobroker: false,system.user.admin

Aber auch hier nur Daten für einen manuell angelegten Sensor mit ID 35, somit keine Info im Log und auch kein 2. Sensor möglich. Haben die bei ioBroker evtl. was am Log gemacht?

Danke!

foxthefox commented 1 year ago

1.0.3 ist schonmal gut, die funktioniert auch. War evtl. oben nicht ganz ersichtlich, das diese bei npm liegt, ist ja jetzt am laufen. Ich weiß nichts von Änderungen beim logging. Kannst du dennoch den debug modus einschalten (nicht nur im logging umschalten, sondern auch bei der Instanz) und dann neu starten. Das log würde ich mir dann mal ansehen, da muß was drin stehen. Welche FW ist denn auf dem Stick?

tis-cs commented 1 year ago

Ich traue es mich fast nicht zu sagen, aber es lag an mir und nicht am Adapter... Es laufen wohl alle Versionen (1.0.3 und 1.1.1 getestet). Ich hatte es nicht mehr auf dem Schirm, dass ich bei den Instanzen die jeweils installierte Instanz auch zuvor im Loglevel auf Debug stellen muss, damit im Protokoll auch unter Debug was auftaucht. Nun sehe ich dort beide Sensoren mit ihren ID's als undefinded, sofern dies noch nicht geschehen ist. Wenn man ihn dann hinzufügt kommen auch alle 5 Sekunden neue Daten rein und werden in den Objekten hinterlegt. Vielen Dank für deine Bemühungen. Ich poste es auch mal im Forum, damit andere vielleicht auch was davon haben. Danke und liebe Grüße!

PS: ich habe v.1.67 auf den Sticks geflasht. Ich dachte ich hätte einen mit 433MHz und einen mit 868MHz, wobei nun beide die TX29 empfangen, die mit 868MHz senden.