Sieht gut aus, thanks!
Ankündigung
Einklappen
Keine Ankündigung bisher.
Automatische Beschattung
Einklappen
X
-
Ich hab jetzt mal develop ausgecheckt und auf ".get_relative_itemid" umgestellt. Die Fehlermeldung ist weg.
Jetzt hab ich aber ein neues Problem.
Das Autoblind Log File zeigt mir zwar den Init Teil an, aber dann nichts mehr. Ich hab gerade mal die Neuigkeiten der letzten Monate eingebaut und mich recht genau an das deutsche Beispiel gehalten. Ich seh im smarthome debug log, dass der Trigger alle 5min die Autoblind Items anstößt. Der Autoblind Log zeigt aber bis auf folgendes nichts mehr an. Sonstige Warnings oder Errors im smarthome log erhalte ich auch nicht.
Code:2016-02-17 17:13:34.451556 Initialize Item EG.Bad.Rollo.AutoBlind.Rules =================================== 2016-02-17 17:13:34.457542 Init state EG.Bad.Rollo.AutoBlind.Rules.lock 2016-02-17 17:13:34.488474 Init state EG.Bad.Rollo.AutoBlind.Rules.suspend 2016-02-17 17:13:34.520552 Init state EG.Bad.Rollo.AutoBlind.Rules.night 2016-02-17 17:13:34.540787 Init state EG.Bad.Rollo.AutoBlind.Rules.morning 2016-02-17 17:13:34.586258 Init state EG.Bad.Rollo.AutoBlind.Rules.evening 2016-02-17 17:13:34.637095 Init state EG.Bad.Rollo.AutoBlind.Rules.day 2016-02-17 17:13:34.654502 Configuration of item Rolladenautomatik ======================================== 2016-02-17 17:13:34.656232 Startup Delay: 60 2016-02-17 17:13:34.657953 Cycle: Inactive 2016-02-17 17:13:34.659437 Cron: Inactive 2016-02-17 17:13:34.660943 Trigger: EG.Zentral.Rollo.Trigger, EG.Bad.Rollo.AutoBlind.State.lock, EG.Bad.Rollo.AutoBlind.State.suspended, EG.Bad.Rollo.AutoBlind.State.manuell 2016-02-17 17:13:34.662650 Repeat actions if state is not changed: True 2016-02-17 17:13:34.664297 Item 'Laststate Id': EG.Bad.Rollo.AutoBlind.State.stateId 2016-02-17 17:13:34.665823 Item 'Laststate Name': EG.Bad.Rollo.AutoBlind.State.stateName 2016-02-17 17:13:34.667576 State EG.Bad.Rollo.AutoBlind.Rules.lock: 2016-02-17 17:13:34.669316 Name: Automatik manuell gesperrt 2016-02-17 17:13:34.671044 State Name: Automatik manuell gesperrt 2016-02-17 17:13:34.684656 Condition sets to enter state: 2016-02-17 17:13:34.686398 Condition Set 'enter': 2016-02-17 17:13:34.688347 Condition 'lock': 2016-02-17 17:13:34.689976 item: EG.Bad.Rollo.AutoBlind.State.lock 2016-02-17 17:13:34.691524 value: True 2016-02-17 17:13:34.693230 negate: False 2016-02-17 17:13:34.695032 Actions to perform if state becomes active: 2016-02-17 17:13:34.696649 Action 'suspend': 2016-02-17 17:13:34.713964 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:34.715595 value: False 2016-02-17 17:13:34.717602 State EG.Bad.Rollo.AutoBlind.Rules.suspend: 2016-02-17 17:13:34.734070 Name: Ausgesetzt 2016-02-17 17:13:34.735680 State Name from eval: autoblind_eval.insert_suspend_time('..State.suspended','Automatik ausgesetzt bis %X') 2016-02-17 17:13:34.737472 Condition sets to enter state: 2016-02-17 17:13:34.754042 Condition Set 'enter_manuell': 2016-02-17 17:13:34.755659 Condition 'trigger_source': 2016-02-17 17:13:34.757617 eval: plugins.autoblind.AutoBlindItem.get_update_trigger_source 2016-02-17 17:13:34.774013 value from eval: autoblind_eval.get_relative_itemid('..State.manuell') 2016-02-17 17:13:34.775622 negate: False 2016-02-17 17:13:34.777535 Condition Set 'enter_stay': 2016-02-17 17:13:34.795946 Condition 'suspend': 2016-02-17 17:13:34.797791 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:34.799373 value: True 2016-02-17 17:13:34.800953 negate: False 2016-02-17 17:13:34.802551 Condition 'manuell': 2016-02-17 17:13:34.804151 item: EG.Bad.Rollo.AutoBlind.State.manuell 2016-02-17 17:13:34.805869 negate: False 2016-02-17 17:13:34.807656 agemax: 3600 2016-02-17 17:13:34.816538 Condition 'laststate': 2016-02-17 17:13:34.818511 eval: plugins.autoblind.AutoBlindItem.get_laststate_id 2016-02-17 17:13:34.820094 value from variable: current.state_id 2016-02-17 17:13:34.821808 negate: False 2016-02-17 17:13:34.823569 Actions to perform if state becomes active: 2016-02-17 17:13:34.825175 Action 'suspend': 2016-02-17 17:13:34.826824 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:34.841758 value: True 2016-02-17 17:13:34.843439 State EG.Bad.Rollo.AutoBlind.Rules.night: 2016-02-17 17:13:34.845095 Name: Night 2016-02-17 17:13:34.846695 State Name: Night 2016-02-17 17:13:34.855288 Condition sets to enter state: 2016-02-17 17:13:34.856882 Condition Set 'enter': 2016-02-17 17:13:34.863927 Condition 'weekday': 2016-02-17 17:13:34.865621 eval: plugins.autoblind.AutoBlindCurrent.get_weekday 2016-02-17 17:13:34.867547 min: 0 2016-02-17 17:13:34.874281 max: 6 2016-02-17 17:13:34.875829 negate: False 2016-02-17 17:13:34.877880 Condition 'time': 2016-02-17 17:13:34.884998 eval: plugins.autoblind.AutoBlindCurrent.get_time 2016-02-17 17:13:34.886832 min: 06:00:00 2016-02-17 17:13:34.895317 max: 22:00:00 2016-02-17 17:13:34.896860 negate: True 2016-02-17 17:13:34.903971 Condition 'daynight': 2016-02-17 17:13:34.905608 item: EG.Zentral.Status.Nacht_Tag 2016-02-17 17:13:34.907157 value: False 2016-02-17 17:13:34.915834 negate: False 2016-02-17 17:13:34.917828 Actions to perform if state becomes active: 2016-02-17 17:13:34.924839 Action 'suspend': 2016-02-17 17:13:34.926616 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:34.935271 value: False 2016-02-17 17:13:34.936887 Action 'height': 2016-02-17 17:13:34.944013 value: 90 2016-02-17 17:13:34.945737 State EG.Bad.Rollo.AutoBlind.Rules.morning: 2016-02-17 17:13:34.947710 Name: Twilight in the morning 2016-02-17 17:13:34.954565 State Name: Twilight in the morning 2016-02-17 17:13:34.956126 Condition sets to enter state: 2016-02-17 17:13:34.964685 Condition Set 'enter': 2016-02-17 17:13:34.966461 Condition 'sun_altitude': 2016-02-17 17:13:34.973596 eval: plugins.autoblind.AutoBlindCurrent.get_sun_altitude 2016-02-17 17:13:34.975218 min: 0 2016-02-17 17:13:34.976745 max: 5 2016-02-17 17:13:34.983766 negate: False 2016-02-17 17:13:34.985407 Condition 'time': 2016-02-17 17:13:34.987066 eval: plugins.autoblind.AutoBlindCurrent.get_time 2016-02-17 17:13:34.995978 min: 06:15:00 2016-02-17 17:13:34.997844 max: 09:00:00 2016-02-17 17:13:34.999405 negate: False 2016-02-17 17:13:35.007644 Condition 'precence': 2016-02-17 17:13:35.009314 item: EG.Zentral.Praesenz.Anwesenheit 2016-02-17 17:13:35.018854 value: True 2016-02-17 17:13:35.023070 negate: False 2016-02-17 17:13:35.024824 Condition sets to leave state: 2016-02-17 17:13:35.032374 Condition Set 'leave': 2016-02-17 17:13:35.033989 Condition 'precenceBad': 2016-02-17 17:13:35.035597 item: EG.Bad.Praesenz.Anwesend 2016-02-17 17:13:35.037600 value: True 2016-02-17 17:13:35.044258 negate: False 2016-02-17 17:13:35.045943 agemin: 300 2016-02-17 17:13:35.048000 Condition Set 'leave_away': 2016-02-17 17:13:35.054790 Condition 'precence': 2016-02-17 17:13:35.056421 item: EG.Zentral.Praesenz.Anwesenheit 2016-02-17 17:13:35.068458 value: False 2016-02-17 17:13:35.070200 negate: False 2016-02-17 17:13:35.071747 agemin: 60 2016-02-17 17:13:35.073461 Actions to perform if state becomes active: 2016-02-17 17:13:35.075057 Action 'suspend': 2016-02-17 17:13:35.076676 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:35.083930 value: False 2016-02-17 17:13:35.085658 Action 'height': 2016-02-17 17:13:35.087732 value: 70 2016-02-17 17:13:35.094600 State EG.Bad.Rollo.AutoBlind.Rules.evening: 2016-02-17 17:13:35.096222 Name: Twilight in the evening 2016-02-17 17:13:35.109952 State Name: Twilight in the evening 2016-02-17 17:13:35.111583 Condition sets to enter state: 2016-02-17 17:13:35.113163 Condition Set 'enter_maxtime': 2016-02-17 17:13:35.114738 Condition 'time': 2016-02-17 17:13:35.116409 eval: plugins.autoblind.AutoBlindCurrent.get_time 2016-02-17 17:13:35.148719 min: 21:30:00 2016-02-17 17:13:35.150433 negate: False 2016-02-17 17:13:35.152102 Condition Set 'enter_sunaltitude': 2016-02-17 17:13:35.153695 Condition 'sun_altitude': 2016-02-17 17:13:35.155353 eval: plugins.autoblind.AutoBlindCurrent.get_sun_altitude 2016-02-17 17:13:35.156930 max: -5 2016-02-17 17:13:35.233458 negate: False 2016-02-17 17:13:35.235241 Condition sets to leave state: 2016-02-17 17:13:35.236854 Condition Set 'leave_time': 2016-02-17 17:13:35.284488 Condition 'time': 2016-02-17 17:13:35.286296 eval: plugins.autoblind.AutoBlindCurrent.get_time 2016-02-17 17:13:35.314344 max: 23:59:00 2016-02-17 17:13:35.315926 negate: False 2016-02-17 17:13:35.333102 Condition Set 'leave_sleep': 2016-02-17 17:13:35.344589 Condition 'daynight': 2016-02-17 17:13:35.346217 item: EG.Zentral.Status.Nacht_Tag 2016-02-17 17:13:35.393621 value: False 2016-02-17 17:13:35.395268 negate: False 2016-02-17 17:13:35.397014 Actions to perform if state becomes active: 2016-02-17 17:13:35.425465 Action 'suspend': 2016-02-17 17:13:35.427123 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:35.445721 value: False 2016-02-17 17:13:35.488892 Action 'height': 2016-02-17 17:13:35.490714 value: 75 2016-02-17 17:13:35.492407 State EG.Bad.Rollo.AutoBlind.Rules.day: 2016-02-17 17:13:35.494094 Name: Day (static) 2016-02-17 17:13:35.495659 State Name: Day (static) 2016-02-17 17:13:35.518511 Condition sets to enter state: 2016-02-17 17:13:35.550513 Condition Set 'enter': 2016-02-17 17:13:35.552127 Condition 'time': 2016-02-17 17:13:35.553793 eval: plugins.autoblind.AutoBlindCurrent.get_time 2016-02-17 17:13:35.555598 min: 06:30:00 2016-02-17 17:13:35.582599 max: 22:00:00 2016-02-17 17:13:35.600994 negate: False 2016-02-17 17:13:35.602784 Actions to perform if state becomes active: 2016-02-17 17:13:35.604389 Action 'suspend': 2016-02-17 17:13:35.606132 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-17 17:13:35.665099 value: False 2016-02-17 17:13:35.666753 Action 'height': 2016-02-17 17:13:35.684279 value: 0
Kommentar
-
@firefox: Das Problem hatte ich auch mal: https://knx-user-forum.de/forum/supp...171#post894171
Es gibt im Post darunter einen Lösungsansatz. Weiß leider nicht mehr genau, ob's das wirklich war
Jedenfalls würde ich empfehlen, einfach mal nur mit einem einzigen Item zu arbeiten, also alles andere in einen temp Ordner zu schieben und neu zu starten. Dann bei diesem einen Item genau checken, ob die Hierarchien auch wirklich passen und ob nicht doch direkt beim Start von Smarthome eine Fehlermeldung kommt von wegen, dass die Anzahl Klammern nicht gleich ist, etc.
Kommentar
-
Danke für die Info, aber daran liegts leider nicht.
Ich konnte das Problem dahin eingrenzen als dass das State Update offensichtlich nur für das Autoblind Item ausgeführt wird, welches bei Init als letztes eingelesen wurde.
Also wenn ich nur EG.Bad.Rollo.Autoblind einlese funktioniert alles.
Wenn ich dann EG.Buero.Rollo.Autoblind dazu nehme funktioniert alles für genau dieses, für EG.Bad.Rollo.Autoblind verhält es sich wie oben beschrieben.
Dann nehme ich EG.Schlafen.Rollo.Autoblind dazu und für EG.Schlafen funktioniert alles, für EG.Bad... und EG.Buero.. verhält es sich wie oben beschrieben.
Hast du noch eine Idee?
Gruß Thomas
Kommentar
-
ok. Hier mal nur zwei Item Files, reduziert auf lock und suspend welche exakt die Problematik hervorrufen.
Code:[EG] [[Bad]] [[[Rollo]]] [[[[Move]]]] type = bool visu_acl = rw knx_dpt = 1 knx_send = 3/2/7 knx_listen = 3/2/7 enforce_updates = True [[[[Stop]]]] type = num visu_acl = rw knx_dpt = 1 knx_send = 3/2/37 knx_listen = 3/2/37 enforce_updates = True [[[[Pos]]]] type = num visu_acl = rw knx_dpt = 5.001 knx_cache = 3/2/97 knx_send = 3/2/67 sqlite = yes [[[[Lock]]]] type = bool visu_acl = rw knx_dpt = 1 knx_init = 3/2/187 knx_send = 3/2/187 [[[[AutoBlind]]]] [[[[[State]]]]] #$order = 2 [[[[[[suspended]]]]]] #Status: Automatik ist deaktiviert type = bool name = Suspend-Item value = False visu_acl = rw [[[[[[lock]]]]]] #Über dieses Item wird die Automatik gesperrt type = bool name = Sperr-Item value = False visu_acl = rw [[[[[[stateId]]]]]] type = str name = Id des aktuellen Zustands cache = True visu_acl = ro [[[[[[stateName]]]]]] type = str name = Name des aktuellen Zustands cache = True visu_acl = ro [[[[[[manuell]]]]]] type = bool name = Manuelle Bedienung eval_trigger = EG.Bad.Rollo.Move | EG.Bad.Rollo.Stop | EG.Bad.Rollo.Pos as_manuel_exclude = KNX:y.y.y | Init:* [[[[[Rules]]]]] type = bool name = Rolladenautomatik as_plugin = active as_startup_delay = 10 eval_trigger = EG.Zentral.Rollo.Trigger | EG.Bad.Rollo.AutoBlind.State.lock | EG.Bad.Rollo.AutoBlind.State.suspended | EG.Bad.Rollo.AutoBlind.State.manuell as_laststate_item_id = EG.Bad.Rollo.AutoBlind.State.stateId as_laststate_item_name = EG.Bad.Rollo.AutoBlind.State.stateName as_item_manuell = EG.Bad.Rollo.AutoBlind.State.manuell as_item_lock = EG.Bad.Rollo.AutoBlind.State.lock as_item_suspend = EG.Bad.Rollo.AutoBlind.State.suspended [[[[[[lock]]]]]] #$order = 1 type = foo name = Automatik AUS as_set_suspend = False [[[[[[[enter]]]]]]] as_value_lock = True [[[[[[suspend]]]]]] #$order = 2 type = foo name = Ausgesetzt as_name = eval:autoblind_eval.insert_suspend_time('EG.Bad.Rollo.AutoBlind.State.suspended','Automatik ausgesetzt bis %X') as_set_suspend = True [[[[[[[enter_manuell]]]]]]] #Zustandsermittlung ueber das Manuell-Item ausgeloest as_value_trigger_source = eval: autoblind_eval.get_relative_itemid('EG.Bad.Rollo.AutoBlind.State.manuell') [[[[[[[enter_stay]]]]]]] #suspend bereits aktiviert wurde as_value_laststate = var: current.state_id as_agemax_manuell = 3600 as_value_suspend = True
Code:[EG] [[Buero]] [[[Rollo]]] [[[[Move]]]] type = bool visu_acl = rw knx_dpt = 1 knx_send = 3/2/8 knx_listen = 3/2/8 enforce_updates = True [[[[Stop]]]] type = num visu_acl = rw knx_dpt = 1 knx_send = 3/2/38 knx_listen = 3/2/38 enforce_updates = True [[[[Pos]]]] type = num visu_acl = rw knx_dpt = 5.001 knx_cache = 3/2/98 knx_send = 3/2/68 sqlite = yes [[[[Lock]]]] type = bool visu_acl = rw knx_dpt = 1 knx_init = 3/2/188 knx_send = 3/2/188 [[[[AutoBlind]]]] [[[[[State]]]]] #$order = 2 [[[[[[suspended]]]]]] #Status: Automatik ist deaktiviert type = bool name = Suspend-Item value = False visu_acl = rw [[[[[[lock]]]]]] #Über dieses Item wird die Automatik gesperrt type = bool name = Sperr-Item value = False visu_acl = rw [[[[[[stateId]]]]]] type = str name = Id des aktuellen Zustands cache = True visu_acl = ro [[[[[[stateName]]]]]] type = str name = Name des aktuellen Zustands cache = True visu_acl = ro [[[[[[manuell]]]]]] type = bool name = Manuelle Bedienung eval_trigger = EG.Buero.Rollo.Move | EG.Buero.Rollo.Stop | EG.Buero.Rollo.Pos as_manuel_exclude = KNX:y.y.y | Init:* [[[[[Rules]]]]] type = bool name = Rolladenautomatik as_plugin = active as_startup_delay = 10 eval_trigger = EG.Zentral.Rollo.Trigger | EG.Buero.Rollo.AutoBlind.State.lock | EG.Buero.Rollo.AutoBlind.State.suspended | EG.Buero.Rollo.AutoBlind.State.manuell as_laststate_item_id = EG.Buero.Rollo.AutoBlind.State.stateId as_laststate_item_name = EG.Buero.Rollo.AutoBlind.State.stateName as_item_manuell = EG.Buero.Rollo.AutoBlind.State.manuell as_item_lock = EG.Buero.Rollo.AutoBlind.State.lock as_item_suspend = EG.Buero.Rollo.AutoBlind.State.suspended [[[[[[lock]]]]]] #$order = 1 type = foo name = Automatik AUS as_set_suspend = False [[[[[[[enter]]]]]]] as_value_lock = True [[[[[[suspend]]]]]] #$order = 2 type = foo name = Ausgesetzt as_name = eval:autoblind_eval.insert_suspend_time('EG.Buero.Rollo.AutoBlind.State.suspended','Automatik ausgesetzt bis %X') as_set_suspend = True [[[[[[[enter_manuell]]]]]]] #Zustandsermittlung ueber das Manuell-Item ausgeloest as_value_trigger_source = eval: autoblind_eval.get_relative_itemid('EG.Buero.Rollo.AutoBlind.State.manuell') [[[[[[[enter_stay]]]]]]] #suspend bereits aktiviert wurde as_value_laststate = var: current.state_id as_agemax_manuell = 3600 as_value_suspend = True
Code:2016-02-19 11:52:28.615701 Initialize Item EG.Bad.Rollo.AutoBlind.Rules =================================== 2016-02-19 11:52:28.616008 Init state EG.Bad.Rollo.AutoBlind.Rules.lock 2016-02-19 11:52:28.616416 Init state EG.Bad.Rollo.AutoBlind.Rules.suspend 2016-02-19 11:52:28.616916 Configuration of item Rolladenautomatik ======================================== 2016-02-19 11:52:28.617076 Startup Delay: 10 2016-02-19 11:52:28.617370 Cycle: Inactive 2016-02-19 11:52:28.617528 Cron: Inactive 2016-02-19 11:52:28.617684 Trigger: EG.Zentral.Rollo.Trigger, EG.Bad.Rollo.AutoBlind.State.lock, EG.Bad.Rollo.AutoBlind.State.suspended, EG.Bad.Rollo.AutoBlind.State.manuell 2016-02-19 11:52:28.617845 Repeat actions if state is not changed: True 2016-02-19 11:52:28.617991 Item 'Laststate Id': EG.Bad.Rollo.AutoBlind.State.stateId 2016-02-19 11:52:28.618113 Item 'Laststate Name': EG.Bad.Rollo.AutoBlind.State.stateName 2016-02-19 11:52:28.618251 State EG.Bad.Rollo.AutoBlind.Rules.lock: 2016-02-19 11:52:28.618374 Name: Automatik AUS 2016-02-19 11:52:28.618492 State Name: Automatik AUS 2016-02-19 11:52:28.618620 Condition sets to enter state: 2016-02-19 11:52:28.618802 Condition Set 'enter': 2016-02-19 11:52:28.618925 Condition 'lock': 2016-02-19 11:52:28.619128 item: EG.Bad.Rollo.AutoBlind.State.lock 2016-02-19 11:52:28.619262 value: True 2016-02-19 11:52:28.619437 negate: False 2016-02-19 11:52:28.619591 Actions to perform if state becomes active: 2016-02-19 11:52:28.619733 Action 'suspend': 2016-02-19 11:52:28.619850 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-19 11:52:28.619966 value: False 2016-02-19 11:52:28.620112 State EG.Bad.Rollo.AutoBlind.Rules.suspend: 2016-02-19 11:52:28.620287 Name: Ausgesetzt 2016-02-19 11:52:28.620649 State Name from eval: autoblind_eval.insert_suspend_time('EG.Bad.Rollo.AutoBlind.State.suspended','Automatik ausgesetzt bis %X') 2016-02-19 11:52:28.620791 Condition sets to enter state: 2016-02-19 11:52:28.625154 Condition Set 'enter_manuell': 2016-02-19 11:52:28.625735 Condition 'trigger_source': 2016-02-19 11:52:28.626561 eval: plugins.autoblind.AutoBlindItem.get_update_trigger_source 2016-02-19 11:52:28.626845 value from eval: autoblind_eval.get_relative_itemid('EG.Bad.Rollo.AutoBlind.State.manuell') 2016-02-19 11:52:28.627145 negate: False 2016-02-19 11:52:28.627340 Condition Set 'enter_stay': 2016-02-19 11:52:28.627548 Condition 'laststate': 2016-02-19 11:52:28.627749 eval: plugins.autoblind.AutoBlindItem.get_laststate_id 2016-02-19 11:52:28.627867 value from variable: current.state_id 2016-02-19 11:52:28.628043 negate: False 2016-02-19 11:52:28.628222 Condition 'suspend': 2016-02-19 11:52:28.628379 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-19 11:52:28.628519 value: True 2016-02-19 11:52:28.628617 negate: False 2016-02-19 11:52:28.628819 Condition 'manuell': 2016-02-19 11:52:28.628961 item: EG.Bad.Rollo.AutoBlind.State.manuell 2016-02-19 11:52:28.629128 negate: False 2016-02-19 11:52:28.629368 agemax: 3600 2016-02-19 11:52:28.629526 Actions to perform if state becomes active: 2016-02-19 11:52:28.629649 Action 'suspend': 2016-02-19 11:52:28.629780 item: EG.Bad.Rollo.AutoBlind.State.suspended 2016-02-19 11:52:28.629905 value: True
Code:2016-02-19 11:52:28.630131 Initialize Item EG.Buero.Rollo.AutoBlind.Rules ================================= 2016-02-19 11:52:28.630229 Init state EG.Buero.Rollo.AutoBlind.Rules.lock 2016-02-19 11:52:28.630405 Init state EG.Buero.Rollo.AutoBlind.Rules.suspend 2016-02-19 11:52:28.630758 Configuration of item Rolladenautomatik ======================================== 2016-02-19 11:52:28.630799 Startup Delay: 10 2016-02-19 11:52:28.630828 Cycle: Inactive 2016-02-19 11:52:28.630851 Cron: Inactive 2016-02-19 11:52:28.630873 Trigger: EG.Zentral.Rollo.Trigger, EG.Buero.Rollo.AutoBlind.State.lock, EG.Buero.Rollo.AutoBlind.State.suspended, EG.Buero.Rollo.AutoBlind.State.manuell 2016-02-19 11:52:28.630895 Repeat actions if state is not changed: True 2016-02-19 11:52:28.630917 Item 'Laststate Id': EG.Buero.Rollo.AutoBlind.State.stateId 2016-02-19 11:52:28.630937 Item 'Laststate Name': EG.Buero.Rollo.AutoBlind.State.stateName 2016-02-19 11:52:28.630959 State EG.Buero.Rollo.AutoBlind.Rules.lock: 2016-02-19 11:52:28.630983 Name: Automatik AUS 2016-02-19 11:52:28.631003 State Name: Automatik AUS 2016-02-19 11:52:28.631025 Condition sets to enter state: 2016-02-19 11:52:28.631047 Condition Set 'enter': 2016-02-19 11:52:28.631069 Condition 'lock': 2016-02-19 11:52:28.631094 item: EG.Buero.Rollo.AutoBlind.State.lock 2016-02-19 11:52:28.631117 value: True 2016-02-19 11:52:28.631139 negate: False 2016-02-19 11:52:28.631164 Actions to perform if state becomes active: 2016-02-19 11:52:28.631186 Action 'suspend': 2016-02-19 11:52:28.631209 item: EG.Buero.Rollo.AutoBlind.State.suspended 2016-02-19 11:52:28.631230 value: False 2016-02-19 11:52:28.631253 State EG.Buero.Rollo.AutoBlind.Rules.suspend: 2016-02-19 11:52:28.631283 Name: Ausgesetzt 2016-02-19 11:52:28.631305 State Name from eval: autoblind_eval.insert_suspend_time('EG.Buero.Rollo.AutoBlind.State.suspended','Automatik ausgesetzt bis %X') 2016-02-19 11:52:28.631325 Condition sets to enter state: 2016-02-19 11:52:28.631346 Condition Set 'enter_manuell': 2016-02-19 11:52:28.631389 Condition 'trigger_source': 2016-02-19 11:52:28.631417 eval: plugins.autoblind.AutoBlindItem.get_update_trigger_source 2016-02-19 11:52:28.631438 value from eval: autoblind_eval.get_relative_itemid('EG.Buero.Rollo.AutoBlind.State.manuell') 2016-02-19 11:52:28.631459 negate: False 2016-02-19 11:52:28.631480 Condition Set 'enter_stay': 2016-02-19 11:52:28.631501 Condition 'laststate': 2016-02-19 11:52:28.631523 eval: plugins.autoblind.AutoBlindItem.get_laststate_id 2016-02-19 11:52:28.631544 value from variable: current.state_id 2016-02-19 11:52:28.631564 negate: False 2016-02-19 11:52:28.631585 Condition 'suspend': 2016-02-19 11:52:28.631607 item: EG.Buero.Rollo.AutoBlind.State.suspended 2016-02-19 11:52:28.631627 value: True 2016-02-19 11:52:28.631647 negate: False 2016-02-19 11:52:28.631668 Condition 'manuell': 2016-02-19 11:52:28.631688 item: EG.Buero.Rollo.AutoBlind.State.manuell 2016-02-19 11:52:28.631709 negate: False 2016-02-19 11:52:28.631728 agemax: 3600 2016-02-19 11:52:28.631751 Actions to perform if state becomes active: 2016-02-19 11:52:28.631771 Action 'suspend': 2016-02-19 11:52:28.631794 item: EG.Buero.Rollo.AutoBlind.State.suspended 2016-02-19 11:52:28.631814 value: True 2016-02-19 11:52:39.097070 Update state of item Rolladenautomatik ========================================= 2016-02-19 11:52:39.097948 Update triggered by Startup Delay (item=EG.Buero.Rollo.AutoBlind.Rules source=None dest=None) 2016-02-19 11:52:39.102186 Check if state 'EG.Buero.Rollo.AutoBlind.Rules.lock' ('Automatik AUS') can be entered: 2016-02-19 11:52:39.102405 Check condition set 'enter': 2016-02-19 11:52:39.102560 Condition 'lock': value=True negate=False current=False 2016-02-19 11:52:39.103069 not OK -> not matching 2016-02-19 11:52:39.103379 State can not be entered 2016-02-19 11:52:39.103513 Check if state 'EG.Buero.Rollo.AutoBlind.Rules.suspend' ('Ausgesetzt') can be entered: 2016-02-19 11:52:39.103621 Check condition set 'enter_manuell': 2016-02-19 11:52:39.104188 Executing method 'get_relative_itemid(EG.Buero.Rollo.AutoBlind.State.manuell)' 2016-02-19 11:52:39.104393 Condition 'trigger_source': value=EG.Buero.Rollo.AutoBlind.State.manuell negate=False current=None 2016-02-19 11:52:39.104497 not OK -> not matching 2016-02-19 11:52:39.104598 Check condition set 'enter_stay': 2016-02-19 11:52:39.104727 Condition 'laststate': value=EG.Buero.Rollo.AutoBlind.Rules.suspend negate=False current=EG.Buero.Rollo.AutoBlind.Rules.day 2016-02-19 11:52:39.104820 not OK -> not matching 2016-02-19 11:52:39.105262 State can not be entered 2016-02-19 11:52:39.105369 No matching state found, no previous state available. Doing nothing. 2016-02-19 11:52:43.124203 Update state of item Rolladenautomatik ========================================= 2016-02-19 11:52:43.124381 Update triggered by Eval (item=EG.Buero.Rollo.AutoBlind.Rules source=EG.Zentral.Rollo.Trigger dest=None) 2016-02-19 11:52:43.124497 Eval initially triggered by Scheduler (item=EG.Zentral.Rollo.Trigger source=None) 2016-02-19 11:52:43.124757 Check if state 'EG.Buero.Rollo.AutoBlind.Rules.lock' ('Automatik AUS') can be entered: 2016-02-19 11:52:43.124884 Check condition set 'enter': 2016-02-19 11:52:43.124990 Condition 'lock': value=True negate=False current=False 2016-02-19 11:52:43.125055 not OK -> not matching 2016-02-19 11:52:43.125120 State can not be entered 2016-02-19 11:52:43.125184 Check if state 'EG.Buero.Rollo.AutoBlind.Rules.suspend' ('Ausgesetzt') can be entered: 2016-02-19 11:52:43.125248 Check condition set 'enter_manuell': 2016-02-19 11:52:43.125784 Executing method 'get_relative_itemid(EG.Buero.Rollo.AutoBlind.State.manuell)' 2016-02-19 11:52:43.126172 Condition 'trigger_source': value=EG.Buero.Rollo.AutoBlind.State.manuell negate=False current=EG.Zentral.Rollo.Trigger 2016-02-19 11:52:43.126270 not OK -> not matching 2016-02-19 11:52:43.126383 Check condition set 'enter_stay': 2016-02-19 11:52:43.126492 Condition 'laststate': value=EG.Buero.Rollo.AutoBlind.Rules.suspend negate=False current=EG.Buero.Rollo.AutoBlind.Rules.day 2016-02-19 11:52:43.126558 not OK -> not matching 2016-02-19 11:52:43.126619 State can not be entered 2016-02-19 11:52:43.126675 No matching state found, no previous state available. Doing nothing.
Zuletzt geändert von firefox; 19.02.2016, 12:02.
Kommentar
-
Hi firefox,
ist ja seltsam, sieht nach nem Bug aus. Hast Du mal probiert, den Startup Delay zu variieren, bei einem 10, beim anderen 20? Nur zum Test, ob es daran liegt, dass sie fast gleichzeitig loslaufen? offline hat da ja irgendwelche locks gegen mehrfaches triggern EINES Items eingebaut, vielleicht läuft das noch nicht richtig und schlägt bei Dir auch bei verschiedenen Items zu...
Gruß, Waldemar
Kommentar
-
@waldemar
Startup Dealy ändert leider auch nichts.
@offline
meine test Items hab ich mal als zip beigelegt. Danke.
Überigens DEV-Umgebung wäre ich interessiert wie du das so machst. Bei mir läuft die im Moment in einer VirtualBox mit Xubuntu. Den EIBD hab ich installiert, lass ihn aber ins Leere laufen. Wie änderst du Item Zustände zum testen? Über die interaktive Python Console?
Danke und Gruß
ThomasAngehängte Dateien
Kommentar
-
So, das war tatsächlich ein Bug im Plugin. firefox, du hast Namen für die Objekt-Items ("EG.Bad.Rollo.AutoBlind.Rules" und "EG.Buero.Rollo.AutoBlind.Rules") vergeben. Das Problem dabei war, dass es beidesmal der gleiche Name ist ("Rolladenautomatik") und ich den Namen des Objekt-Items verwendet habe, um einen Scheduler-Job zum Initialisieren des Items nach dem Ablauf des startup_delay zu benennen. Dadurch bekamen die Scheduler-Jobs gleiche Namen und der zweite Job hat einfach den ersten überschrieben. Ein Item wurde dadurch überhaupt nicht initialisiert und zeigte daher keinerlei Reaktionen.
Fix ist auf GitHub im Develop-Zweig
Grüße
offline
Kommentar
-
Zitat von firefox Beitrag anzeigenÜberigens DEV-Umgebung wäre ich interessiert wie du das so machst. Bei mir läuft die im Moment in einer VirtualBox mit Xubuntu. Den EIBD hab ich installiert, lass ihn aber ins Leere laufen. Wie änderst du Item Zustände zum testen? Über die interaktive Python Console?
Die neue DEV-Umgebung habe ich bei mir auf dem lokalen Rechner eingerichtet, ein Buszugriff ist dabei nicht vorgesehen. Also kein EIBD, kein KNX-Plugin. Smarthome.py startet auch nicht automatisch, das erfolgt bei Bedarf einfach über die Kommandozeile. Der Abgleich zwischen DEV- und Produktivumgebung läuft über ein internes git-Repository. Zum Testen nutze ich in der Regel das CLI-Plugin (über rlwrap, wie hier beschrieben)
Grüße
offline
Kommentar
-
Hallo zusammen,
ich bin fast am Ziel. Jetzt funktioniert alles bis auf den Trigger für den suspended Zustand.
Ein Druck auf den Rolladen am Taster triggert das EG.Buero.Rollo.AutoBlind.State.manuell item. Allerdings kommt kein Wert wie man unten sieht.
Das Autoblind.Rules item wird aber nicht getriggert. Habs mit enforce_updates auch schon versucht. Hilft aber auch nicht. Wenn ich über die Console EG.Buero.ROllo.AutoBlind.State.manuell = True oder False setzte, dann kommt der Trigger. Autoblind ergänzt den eval Teil doch automatisch oder?
Code:2016-02-21 18:39:37,690 DEBUG Main Triggering EG.Buero.Rollo.AutoBlind.State.manuell - by: KNX source: 1.2.40 dest: 3/2/38 value: {'source': 'EG.Buero.Rollo.Stop', 'value -- scheduler.py:trigger:164
Code:... [[[[[manuell]]]]]] type = bool name = Manuelle Bedienung eval_trigger = EG.Buero.Rollo.Move | EG.Buero.Rollo.Stop | EG.Buero.Rollo.Pos enforce_updates = True #as_manuel_exclude = KNX:y.y.y | Init:* [[[[[Rules]]]]] type = bool name = Rolladenautomatik as_plugin = active as_startup_delay = 10 eval_trigger = EG.Zentral.Rollo.Trigger | EG.Buero.Rollo.AutoBlind.State.lock | EG.Buero.Rollo.AutoBlind.State.suspended | EG.Buero.Rollo.AutoBlind.State.manuell as_laststate_item_id = EG.Buero.Rollo.AutoBlind.State.stateId as_laststate_item_name = EG.Buero.Rollo.AutoBlind.State.stateName ...
Kommentar
Kommentar