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