Hallo,
leider ist mein OneWire Bus nicht ganz stabil. Nicht jeder Sensor ist immer da, aber nach einer Weile findet sich dann doch jeder Sensor.
Allerdings werden die Sensoren in SH nicht, oder sehr selten aktualisiert:
Ich habe das Gefühl, dass sobald es zu einem "No connection to owserver" kommt, die weiteren Items nicht mehr abgearbeitet werden. Kann das sein?
Der Fehler "no payload for..." stammt ja aus diesem code:
(https://github.com/smarthomeNG/plugi...init__.py#L144)
owex(msg) ist ja das gleiche wie exception(msg)
Ich kenne mich da nicht gut genug aus. Was macht das raise owex(msg)? Was passiert im code als nächstes?
Ich frage mich, wo und warum close() ausgeführt wird. Denn dies ist m.W. die einzige möglichkeit, dass self.connected = False werden kann.
Meine Befürchtung ist, dass immer wieder beim gleichen Item die Abfrage fehlschlägt und damit die darauf folgenden Items nie abgefragt werden.
Ich habe gerade das momentan problematische Item entfernt und das bestätigt meine Befürchtung:
Der Zyklus ist nun durchgelaufen. Das hat vorher nicht funktioniert -und zwar nicht einmal am ganzen Tag.
Es wäre gut, wenn wir das Plugin dahingehend ändern können, dass es *während* eines Cycles ein Reconnect versucht, bzw. wenn es die Verbindung garnicht erst aufgeben würde (denn self.close() muss m.M. aufgerufen werden).
Übersehe ich etwas?
Gruß,
Hendrik
leider ist mein OneWire Bus nicht ganz stabil. Nicht jeder Sensor ist immer da, aber nach einer Weile findet sich dann doch jeder Sensor.
Allerdings werden die Sensoren in SH nicht, oder sehr selten aktualisiert:
Code:
2018-10-02 23:41:28;1-Wire: 28.3AC71B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.8AC81B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.F29C1B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.D2C61B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.D24AE0020000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.EC931B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.F412E0020000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.14B51B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: 28.309E1B030000 with sensors: T10, T, T11, T9, T12 2018-10-02 23:41:28;1-Wire: Starting I/O detection 2018-10-02 23:41:39;1-Wire: problem reading 28.EC931B030000 /bus.0/28.EC931B030000/temperature10: no payload for /uncached/bus.0/28.EC931B030000/temperature10 2018-10-02 23:41:39;1-Wire: path not found for Daten.Aussen_temp 2018-10-02 23:41:39;1-Wire: problem reading 28.3BCD1B030000 /bus.0/28.3BCD1B030000/temperature10: No connection to owserver. 2018-10-02 23:41:39;1-Wire: connected to 192.168.177.3:4304 2018-10-02 23:43:36;1-Wire: problem reading 28.EC931B030000 /bus.0/28.EC931B030000/temperature10: no payload for /uncached/bus.0/28.EC931B030000/temperature10 2018-10-02 23:43:36;1-Wire: path not found for Daten.Aussen_temp 2018-10-02 23:43:36;1-Wire: problem reading 3A.778F07000000 2018-10-02 23:43:36;1-Wire: problem reading 28.3BCD1B030000 /bus.0/28.3BCD1B030000/temperature10: No connection to owserver. 2018-10-02 23:43:36;1-Wire: problem reading 3A.778F07000000 2018-10-02 23:43:39;1-Wire: connected to 192.168.177.3:4304 2018-10-02 23:45:36;1-Wire: problem reading 28.EC931B030000 /bus.0/28.EC931B030000/temperature10: no payload for /uncached/bus.0/28.EC931B030000/temperature10 2018-10-02 23:45:36;1-Wire: path not found for Daten.Aussen_temp 2018-10-02 23:45:37;1-Wire: problem reading 28.3BCD1B030000 /bus.0/28.3BCD1B030000/temperature10: No connection to owserver. 2018-10-02 23:45:40;1-Wire: connected to 192.168.177.3:4304 2018-10-02 23:47:37;1-Wire: problem reading 28.EC931B030000 /bus.0/28.EC931B030000/temperature10: no payload for /uncached/bus.0/28.EC931B030000/temperature10 2018-10-02 23:47:37;1-Wire: path not found for Daten.Aussen_temp 2018-10-02 23:47:37;1-Wire: problem reading 28.3BCD1B030000 /bus.0/28.3BCD1B030000/temperature10: No connection to owserver. 2018-10-02 23:47:39;1-Wire: connected to 192.168.177.3:4304 2018-10-02 23:49:38;1-Wire: problem reading 28.EC931B030000 /bus.0/28.EC931B030000/temperature10: no payload for /uncached/bus.0/28.EC931B030000/temperature10 2018-10-02 23:49:38;1-Wire: path not found for Daten.Aussen_temp 2018-10-02 23:49:38;1-Wire: problem reading 28.3BCD1B030000 /bus.0/28.3BCD1B030000/temperature10: No connection to owserver. 2018-10-02 23:49:39;1-Wire: connected to 192.168.177.3:4304 2018-10-02 23:50:51;1-Wire: unknown sensor 2D.02A1C70B0000 DS2431 2018-10-02 23:50:52;1-Wire: unknown sensor 2D.0AA1C70B0000 DS2431
Der Fehler "no payload for..." stammt ja aus diesem code:
Code:
if length == 0: self._lock.release() if cmd != 3: raise owex('no payload for {0}'.format(path)) return
owex(msg) ist ja das gleiche wie exception(msg)
Ich kenne mich da nicht gut genug aus. Was macht das raise owex(msg)? Was passiert im code als nächstes?
Ich frage mich, wo und warum close() ausgeführt wird. Denn dies ist m.W. die einzige möglichkeit, dass self.connected = False werden kann.
Meine Befürchtung ist, dass immer wieder beim gleichen Item die Abfrage fehlschlägt und damit die darauf folgenden Items nie abgefragt werden.
Ich habe gerade das momentan problematische Item entfernt und das bestätigt meine Befürchtung:
Code:
2018-10-03 00:12:00;1-Wire: connected to 192.168.177.3:4304 2018-10-03 00:12:14;1-Wire: unknown sensor 2D.02A1C70B0000 DS2431 2018-10-03 00:12:14;1-Wire: unknown sensor 2D.0AA1C70B0000 DS2431 2018-10-03 00:12:15;1-Wire: sensor 26.CFA82E010000 voltage: 5.0 2018-10-03 00:12:15;1-Wire: 26.CFA82E010000 with sensors: V 2018-10-03 00:12:16;1-Wire: sensor 26.4AA02E010000 voltage: 5.0 2018-10-03 00:12:16;1-Wire: 26.4AA02E010000 with sensors: T, L, H, VDD 2018-10-03 00:12:16;1-Wire: 3A.E19307000000 with sensors: OB, OA, IA, IB 2018-10-03 00:12:16;1-Wire: 28.D5FEAA030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.55C11B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.E94AE0020000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.FACE1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.62C41B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.28C21B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.88A61B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:16;1-Wire: 28.00A61B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:17;1-Wire: unknown sensor 2D.B378C70B0000 DS2431 2018-10-03 00:12:18;1-Wire: sensor 26.3FBE30010000 voltage: 5.01 2018-10-03 00:12:18;1-Wire: 26.3FBE30010000 with sensors: V 2018-10-03 00:12:19;1-Wire: sensor 26.07BE30010000 voltage: 5.0 2018-10-03 00:12:19;1-Wire: 26.07BE30010000 with sensors: T, L, H, VDD 2018-10-03 00:12:21;1-Wire: sensor 26.EDA82E010000 voltage: 5.0 2018-10-03 00:12:21;1-Wire: 26.EDA82E010000 with sensors: V 2018-10-03 00:12:22;1-Wire: sensor 26.46AF30010000 voltage: 5.0 2018-10-03 00:12:22;1-Wire: 26.46AF30010000 with sensors: T, L, H, VDD 2018-10-03 00:12:22;1-Wire: 3A.778F07000000 with sensors: OB, OA, IA, IB 2018-10-03 00:12:22;1-Wire: 3A.DE8E07000000 with sensors: OB, OA, IA, IB 2018-10-03 00:12:22;1-Wire: 3A.AA2A08000000 with sensors: OB, OA, IA, IB 2018-10-03 00:12:22;1-Wire: 28.BFBA1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.67DE1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.3BCD1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.F3BE1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.43DF1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.219A1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.5ED7AA030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.F633E0020000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.86AE1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.7A921B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.3AC71B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.8AC81B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.F29C1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.D2C61B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.F412E0020000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:22;1-Wire: 28.309E1B030000 with sensors: T, T9, T10, T12, T11 2018-10-03 00:12:23;1-Wire: Starting I/O detection 2018-10-03 00:12:30;1-Wire: path not found for Daten.Aussen_hum 2018-10-03 00:12:30;1-Wire: path not found for Daten.Aussen_temp 2018-10-03 00:12:32;1-Wire: path not found for Daten.Keller_hum 2018-10-03 00:12:37;1-Wire: path not found for Daten.Kessel_Ruecklauf 2018-10-03 00:12:41;1-Wire: path not found for Daten.Kinderbad_temp 2018-10-03 00:12:42;1-Wire: path not found for Daten.Kessel 2018-10-03 00:12:45;1-Wire: path not found for Daten.Kessel_Vorlauf 2018-10-03 00:12:45;1-Wire: path not found for og.Schlafzimmer.heizung.ist 2018-10-03 00:12:49;1-Wire: sensor cycle takes 22.3266921043396 seconds
Es wäre gut, wenn wir das Plugin dahingehend ändern können, dass es *während* eines Cycles ein Reconnect versucht, bzw. wenn es die Verbindung garnicht erst aufgeben würde (denn self.close() muss m.M. aufgerufen werden).
Übersehe ich etwas?
Gruß,
Hendrik
Kommentar