Hallo @offline
bingo - jetzt läufts :-)
Die Funktion mit insert_suspend_time peile ich noch nicht ganz.. So wie ich die Sache verstehe müsste die Restzeit jetzt ins Item State.suspend_end geschrieben werden. Dies bleibt jedoch leer..
kann die Rest-Zeit auch ins "as_laststate_item_name" eingefügt werden?
Gruß Ivan
bingo - jetzt läufts :-)
Du hast in der Konfiguration noch ein "as_lock_item" drin. Das ist der alte Lock-Mechanismus, von dem zwar nichts mehr in der Doku steht, der aber trotzdem noch funktioniert. Nimm das mal raus.
Eg.Kueche.Jalousie.Tuer
Eg.Kueche.Jalousie.Tuer.AutoBlind
Eg.Kueche.Jalousie.Tuer.AutoBlind.State
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.stateId = Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.stateName = Automatik ausgesetzt
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.lock = False
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend = True
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.manuell = True
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend_en d =
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules = True
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Lock = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Lock.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend.en ter_manuell
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend.en ter_stay
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Referenz = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Referenz.e nter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Morgendaem merung = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Morgendaem merung.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Tag = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Tag.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Abenddaemm erung = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Abenddaemm erung.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nacht = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nacht.ente r
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Sonne_ost = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Sonne_ost. enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.enter_sonne_ost
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.enter_sonne_sued
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.enter_sonne_west
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.leave_todark
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.leave_sun_azimut
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.leave_sun_altitude
Eg.Kueche.Jalousie.Tuer.Auf_ab = False
Eg.Kueche.Jalousie.Tuer.Lamellenverstellung_stop = False
Eg.Kueche.Jalousie.Tuer.Position = 41.2
Eg.Kueche.Jalousie.Tuer.Lamellenposition = 44.7
Eg.Kueche.Jalousie.Tuer.Position_gueltig = True
Eg.Kueche.Jalousie.Tuer.ReferenzFahren = False
Eg.Kueche.Jalousie.Tuer.Automatik_sperren = False
Eg.Kueche.Jalousie.Tuer.AutoBlind
Eg.Kueche.Jalousie.Tuer.AutoBlind.State
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.stateId = Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.stateName = Automatik ausgesetzt
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.lock = False
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend = True
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.manuell = True
Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend_en d =
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules = True
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Lock = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Lock.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend.en ter_manuell
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Suspend.en ter_stay
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Referenz = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Referenz.e nter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Morgendaem merung = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Morgendaem merung.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Tag = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Tag.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Abenddaemm erung = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Abenddaemm erung.enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nacht = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nacht.ente r
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Sonne_ost = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Sonne_ost. enter
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n = None
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.enter_sonne_ost
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.enter_sonne_sued
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.enter_sonne_west
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.leave_todark
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.leave_sun_azimut
Eg.Kueche.Jalousie.Tuer.AutoBlind.Rules.Nachfuehre n.leave_sun_altitude
Eg.Kueche.Jalousie.Tuer.Auf_ab = False
Eg.Kueche.Jalousie.Tuer.Lamellenverstellung_stop = False
Eg.Kueche.Jalousie.Tuer.Position = 41.2
Eg.Kueche.Jalousie.Tuer.Lamellenposition = 44.7
Eg.Kueche.Jalousie.Tuer.Position_gueltig = True
Eg.Kueche.Jalousie.Tuer.ReferenzFahren = False
Eg.Kueche.Jalousie.Tuer.Automatik_sperren = False
Code:
[[[[[AutoBlind]]]]] [[[[[[State]]]]]] #$order = 2 [[[[[[[stateId]]]]]]] type = str visu_acl = ro cache = True [[[[[[[stateName]]]]]]] type = str visu_acl = ro cache = True [[[[[[[lock]]]]]]] #�ber dieses Item wird die Automatik gesperrt type = bool visu_acl = rw cache = True [[[[[[[suspend]]]]]]] #Status: Automatik ist deaktiviert type = bool visu_acl = ro [[[[[[[manuell]]]]]]] type = bool name = Manuelle Bedienung eval = not sh.Eg.Kueche.Jalousie.Tuer.AutoBlind.State.manuell() if sh.autoblind.is_changed_by(caller, source, ['Visu:*']) else sh.Eg.Kueche.Jalousie.Tuer.AutoBlind.State.manuell() eval_trigger = Eg.Kueche.Jalousie.Tuer.Position | Eg.Kueche.Jalousie.Tuer.Lamellenposition [[[[[[[suspend_end]]]]]]] #Ermitteln der Rest-Zeit type = str visu_acl = ro [[[[[[Rules]]]]]] as_plugin = active name = Raffstore EG K�che T�r #$order = 3 type = bool eval_trigger = Eg.Trigger | Eg.Kueche.Jalousie.Tuer.AutoBlind.State.manuell | Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend | Eg.Kueche.Jalousie.Tuer.AutoBlind.State.lock as_repeat_actions = false as_laststate_item_id = Eg.Kueche.Jalousie.Tuer.AutoBlind.State.stateId as_laststate_item_name = Eg.Kueche.Jalousie.Tuer.AutoBlind.State.stateName as_item_Position = Eg.Kueche.Jalousie.Tuer.Position as_item_Lamellenposition = Eg.Kueche.Jalousie.Tuer.Lamellenposition as_item_Brightness_ost = Wetterstation.Helligkeit.Ost as_item_Brightness_sued = Wetterstation.Helligkeit.Sued as_item_Brightness_west = Wetterstation.Helligkeit.West as_item_tag = System.Sonne.Tag as_item_Daemmerung = Wetterstation.Daemmerung as_item_lock = Eg.Kueche.Jalousie.Tuer.AutoBlind.State.lock as_item_suspend = Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend as_item_manuell = Eg.Kueche.Jalousie.Tuer.AutoBlind.State.manuell as_item_PositionGueltig = Eg.Kueche.Jalousie.Tuer.Position_gueltig as_item_ReferenzFahren = Eg.Kueche.Jalousie.Tuer.ReferenzFahren as_item_suspend_end = Eg.Kueche.Jalousie.Tuer.AutoBlind.State.suspend_end [[[[[[[Lock]]]]]]] #$order = 1 type = foo name = Automatik gesperrt as_set_suspend = False [[[[[[[[enter]]]]]]]] as_value_lock = True [[[[[[[Suspend]]]]]]] #$order = 2 type = foo name = Automatik ausgesetzt as_set_suspend = True as_set_suspend_end = eval: autoblind_eval.insert_suspend_time('State.suspend', suspend_text='Ausgeset bis %X') [[[[[[[[enter_manuell]]]]]]]] as_value_trigger_source = eval: autoblind_eval.get_item('State.manuell', 1) [[[[[[[[enter_stay]]]]]]]] as_value_laststate = var:current.state_id as_agemax_manuell = var:item.suspend_time as_value_suspend = True
kann die Rest-Zeit auch ins "as_laststate_item_name" eingefügt werden?
Gruß Ivan
Kommentar