Hallo,
von Zeit zu Zeit liefern meine Rollladenaktoren als Wert für das Reading pct keine Zahl, sondern "on" oder "off". Da ich an verschiedenen Stellen die aktuelle Position der Rollläden auswerte (pct <= 50), hagelt es Fehlermeldungen, wenn sich dort ein on/off reinmogelt (PERL WARNING: Argument "off" isn't numeric in numeric le (<=) at (eval 375497) line 2.)
Kenn jemand dieses Phänomen und wie umschifft man es am Besten? Ein eigenes Reading bauen, das on in 100 und off in 0 umwandelt, oder entsprechenden Code beim Auswerten mit einbauen? Bevor die Frage kommt, warum ich nicht STATE benutze: da steht dann auch on/off, genauso bei den Readings Level und state. Einzige Abhilfe: das Rollo verfahren, dann kommt auch wieder ein Zahlenwert zurück.
Der Effekt ist natürlich nicht reproduzierbar, tritt aber doch jede Woche einige Male bei irgendeinem meiner 11 Rollos auf.
Ich stehe vor einem Rätsel...
Grüße
Reiner
ZitatIch stehe vor einem Rätsel...
ich auch.
bei mir kommt das nicht vor. pct und level sind immer Zahlen.
State ist dies nicht - das kann man nicht zum rechnen nutzen. Da soll on/off drin stehen.
ZitatEinzige Abhilfe: das Rollo verfahren, dann kommt auch wieder ein Zahlenwert zurück.
noch ein Rätsel. Warum sollte ein statusRequest nicht reichen?
Dein FHEM ist sicher aktuell.
Sicher jedoch könntest du die Events aus dem Log posten - das komplette Umfeld natürlich.
Hallo,
nach einem FHEM-Neustart stehen einige pct-Werte auf "off", Das Logfile sieht unspektakulär aus.
Wie im Screenshot zu sehen ist, wird fast bei allen Readings die Ziffer 0 durch off ersetzt, sogar bei R-driveTurn... Interessanterweise ist STATE auf 0.
Reiner
Anderes Szenario. Jetzt redest du von Neustart. Da macht cul_hm eigentlich nichts. Das wäre ein Fall für fhem generell. Prüfe einmal was im statefile steht. Du kannst ein save machen und es dann ansehen. Wenn das reading 0 ist, steht dann 0 oder off im statefile?
Wie Du schon vermutet hast: im statefile steht nach einem Neustart "off":
setstate E_KI_RO_S 2015-06-01 22:13:31 R-driveDown 20 s
setstate E_KI_RO_S 2015-12-05 18:02:34 R-driveTurn off.5
setstate E_KI_RO_S 2015-06-01 22:13:31 R-driveUp 20 s
setstate E_KI_RO_S 2015-04-27 17:43:56 R-sign off
setstate E_KI_RO_S 2016-11-28 16:15:57 deviceMsg off (to vccu)
setstate E_KI_RO_S 2016-11-28 16:15:57 level off
setstate E_KI_RO_S 2016-11-28 16:15:57 motor stop:off
setstate E_KI_RO_S 2016-11-28 16:15:57 pct off
Beim Neustart kann ich das Problem reproduzieren, habe ich durch Zufall bemerkt und deshalb erwähnt. Im laufenden Betrieb tut er mir gerade nicht den Gefallen.