FHEM Forum

FHEM => Automatisierung => Thema gestartet von: M_I_B am 15 November 2016, 21:29:40

Titel: Problem: Dummy:time > Notify
Beitrag von: M_I_B am 15 November 2016, 21:29:40
Moin Kinnaz,

ich bin hier auf ein komisches Problem gestoßen... Erst mal der Code; ganz einfach...

define set_MO notify time_MO:ende.* set time_MO [time_MO:start] - [time_MO:ende]
... das ganze von MO-SO und FT (Montag bis Sonntag und Feiertag) ...
define time_MO dummy
attr time_MO alias Tagbetrieb Montags (von - bis)
attr time_MO group Steuerzeiten
attr time_MO readingList start ende
attr time_MO room KG.Zeiten
attr time_MO setList start:time ende:time
attr time_MO sortby 11
attr time_MO webCmd start:ende

... ebenso von MO-SO und FT (Montag bis Sonntag und Feiertag) ...

Wenn ich jetzt bei MO die Startzeit setze und anschließend die Endzeit, ist alles ok. Mache ich das jetzt bei DI, wird zwar nach Auslösen des Notify die Zeit in State (dient lediglich der optischen Rückmeldung) und ebenso in den Readings "start" und "ende" korrekt gesetzt, aber im Eingabe- DropDown der Zeit für ENDE steht dann die Startzeit.
Intetessant dabei ist, das dieses Phänomen nicht immer auftritt, wenn aber an einem Tag, dann reproduzierbar.
Die Dummy's sind natürlich alle gleich excl. des Namens (Copy>Past> Namen geändert).

Woran liegt denn das? Behindert zwar nicht die grundsätzliche Funktion, nervt aber tierisch, wenn man sich nicht sicher sein kann, ob in den Readings auch wirklich das steht, was eingegeben wurde ...
Titel: Antw:Problem: Dummy:time > Notify
Beitrag von: rudolfkoenig am 16 November 2016, 13:04:07
Falls beim Erzeugen des Widgets kein Reading mit dem Namen existiert (also kein start oder ende), dann wird state als readingname gesetzt, d.h. dieser Widget "hoert" auf die Aenderungen von state.  Da state 2 Zahlen enthaelt, gewinnt bei dem Slider die Erste.
Titel: Antw:Problem: Dummy:time > Notify
Beitrag von: M_I_B am 16 November 2016, 14:38:06
... hmmm ... ok. Das kann ich so halbwegs nachvollziehen; is aber doof...
Die Readings "start" und "ende" existieren aber schon. Sie werden zum einen mit readingList gesetzt, zum anderen steht da nach spätestens dem ersten Versuch ja bereits jeweils eine Zeit inne.

Kann man das irgendwie aushebeln?
Titel: Antw:Problem: Dummy:time > Notify
Beitrag von: rudolfkoenig am 16 November 2016, 14:44:49
Alle Readings einmal setzen und dann ein Reload der Seite im Browser.
Titel: Antw:Problem: Dummy:time > Notify
Beitrag von: M_I_B am 16 November 2016, 14:49:36
... na mein Gutster, das ist bestimmt schon 100 mal passiert ;)
Alle Readings sind gesetzt, es stehen also überall Zeiten drin. Fasse ich jetzt einen an und ändere die Zeiten, dann werden zwar die Readings und der Inhalt von "state" korrekt gesetzt, nicht aber das widget "ende". Das springt dann oft auf den Wert von "start".
Ist übrigens nach ungezählten Versuchen nicht immer reproduzierbar. Mal ist alles ok, mal zickt es an dem Tag, mal an einem anderen Tag...
Titel: Antw:Problem: Dummy:time > Notify
Beitrag von: rudolfkoenig am 16 November 2016, 15:09:52
Gutster ist mir neu. :)

Kannst du bitte in FHEM/01_FHEMWEB.pm, Funktion FW_widgetFallbackFn vor dem letzten return folgendes
  Log 1, "$FW_wname $d $cmd $reading $current";
einfuegen, und in einem Problemfall mir die Ausgabe zeigen?
Titel: Antw:Problem: Dummy:time > Notify
Beitrag von: M_I_B am 17 November 2016, 08:39:59
Zitat von: rudolfkoenig am 16 November 2016, 15:09:52Gutster ist mir neu. :)
... immerhin  ;D

Zitat von: rudolfkoenig am 16 November 2016, 15:09:52
  Log 1, "$FW_wname $d $cmd $reading $current";
einfuegen, und in einem Problemfall mir die Ausgabe zeigen?

Hab ich heute Morgen getan und mal alles neu gestartet... nur jetzt taucht das Problem nicht mehr auf ?!? Zumindest nicht innert der 5 Minuten, die ich anschließend mit den Einstellungen rumgedamelt habe... Gnome? Poltergeister?  ::)
Ich lasse das mal so laufen in der Hoffnung, das es noch mal auftaucht ...