Hallo zusammen,
ich habe das Problem, dass nach einem fhem Neustart der Wert von STATE auf initialized steht, obwohl ich mit stateFormat=state erreichen will, dass dort die aktuell eingestellte Szene verwendet wird. Beim Setzen einer Scene funktioniert das auch prima. Was ist an meiner Definition falsch oder geht das nach einem Neustart gar nicht?
Nachfolgend ein List direkt nach dem Neustart:
Internals:
DEF E3_hk_LP_Stehleuchte_oben E3_hk_LP_Stehleuchte_unten
HAS_DataDumper 1
HAS_JSON 1
NAME E3_hk_Stehleuchte_lScn_01
NR 273
NTFY_ORDER 50-E3_hk_Stehleuchte_lScn_01
STATE Initialized
TYPE LightScene
followDevices 1
mayBeVisible 1
CONTENT:
E3_hk_LP_Stehleuchte_oben 1
E3_hk_LP_Stehleuchte_unten 1
READINGS:
2018-01-17 18:20:18 state Kino
SCENES:
Essen:
E3.hk.BU.Stehleucht_oben ;wcrgb 0 255 0 0 0
E3.hk.BU.Stehleucht_unten
E3_hk_LP_Stehleuchte_oben ;set E3_hk_LP_Stehleuchte_oben on ; set E3_hk_LP_Stehleuchte_oben wcrgb 0 255 0 0 0 ; set E3_hk_LP_Stehleuchte_oben dim 99
E3_hk_LP_Stehleuchte_unten ;set E3_hk_LP_Stehleuchte_unten on; set E3_hk_LP_Stehleuchte_unten wcrgb 0 255 0 0 0; set E3_hk_LP_Stehleuchte_unten dim 99
Kino:
E3.hk.BU.Stehleucht_oben wcrgb 0 0 126 11 176
E3.hk.BU.Stehleucht_unten wcrgb 0 0 46 6 140
E3_hk_LP_Stehleuchte_oben ;set E3_hk_LP_Stehleuchte_oben on; set E3_hk_LP_Stehleuchte_oben wcrgb 0 0 232 96 28; set E3_hk_LP_Stehleuchte_oben dim 99
E3_hk_LP_Stehleuchte_unten ;set E3_hk_LP_Stehleuchte_unten on; set E3_hk_LP_Stehleuchte_unten wcrgb 0 0 46 6 140; set E3_hk_LP_Stehleuchte_unten dim 50
Kino2:
E3_hk_LP_Stehleuchte_oben ;set E3_hk_LP_Stehleuchte_oben on; set E3_hk_LP_Stehleuchte_oben wcrgb 0 0 121 0 191; set E3_hk_LP_Stehleuchte_oben dim 99
E3_hk_LP_Stehleuchte_unten ;set E3_hk_LP_Stehleuchte_unten on; set E3_hk_LP_Stehleuchte_unten wcrgb 0 0 0 0 175; set E3_hk_LP_Stehleuchte_unten dim 50
Weihnachten:
E3_hk_LP_Stehleuchte_oben ;set E3_hk_LP_Stehleuchte_oben on; set E3_hk_LP_Stehleuchte_oben wcrgb 0 0 0 199 40; set E3_hk_LP_Stehleuchte_oben dim 99
E3_hk_LP_Stehleuchte_unten ;set E3_hk_LP_Stehleuchte_unten on; set E3_hk_LP_Stehleuchte_unten wcrgb 0 0 175 0 0; set E3_hk_LP_Stehleuchte_unten dim 50
off:
E3.hk.BU.Stehleucht_oben off
E3.hk.BU.Stehleucht_unten off
E3_hk_LP_Stehleuchte_oben off
E3_hk_LP_Stehleuchte_unten off
on:
devices:
E3_hk_LP_Stehleuchte_oben
E3_hk_LP_Stehleuchte_unten
Attributes:
alias Stehleuchte
devStateIcon off:light_light_dim_00 Kino.*:scene_livingroom Weihnachten:scene_x-mas@darkgreen Essen:scene_dinner
followDevices 1
group Beleuchtung
icon light_floor_lamp
room Heimkino
showDeviceCurrentState 1
sortby 1
stateFormat state
webCmd scene
Beste Grüße
Torsten
Hi Torsten,
Zitatobwohl ich mit stateFormat=state erreichen will, dass dort die aktuell eingestellte Szene verwendet wird.
Das macht LightScene doch im Standard schon, also auch ohne stateFormat-Attribut.
Zitatich habe das Problem, dass nach einem fhem Neustart der Wert von STATE auf initialized steht
Das Thema habe ich auch. Erst bei der nächsten Änderung eines Readings wird STATE mit state gesetzt.
ZitatBeim Setzen einer Scene funktioniert das auch prima.
Siehe oben.
Mach doch einfach ein notify auf global:INITIALIZED und dann sowas:
{
my $scene = Value("E3_hk_Stehleuchte_lScn_01");
fhem "set E3_hk_Stehleuchte_lScn_01 scene $scene";
}
VG Sebastian
Hallo Sebastian,
leider liefert Value("E3_hk_Stehleuchte_lScn_01") nach dem Neustart initialized zurück und nicht den Namen der Szene vor dem Neustart :(
Das komische ist ja, dass in state der letzte Name auch nach dem Neustart vorhanden ist. Nur STATE wird nicht richtig gesetzt auch leider nicht mit dem stateFormat.
Beste Grüße
Torsten
Zitatleider liefert Value("E3_hk_Stehleuchte_lScn_01") nach dem Neustart initialized zurück und nicht den Namen der Szene vor dem Neustart :(
Hallo Torsten,
sorry mein Fehler! :-X
Probiers mal so:
{
my $scene = ReadingsVal("E3_hk_Stehleuchte_lScn_01","state","off");
fhem "sleep 120; set E3_hk_Stehleuchte_lScn_01 scene $scene";
}
Und wichtig mit sleep ein kleine Verzögerung einbauen. ;)
VG Sebastian
Hallo Sebastian,
danke, das passt.
Gruß
Torsten