Ankündigung

Einklappen
Keine Ankündigung bisher.

Automatische Beschattung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Sieht gut aus, thanks!

    Kommentar


      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


          Ignorieren. Auch Forum Posts erstellen willl gelernt sein
          Zuletzt geändert von firefox; 18.02.2016, 17:52.

          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


              Poste die drei Items hier doch mal.. vielleicht fällt mir dann wieder ein, was bei mir das Problem war Ich hatte glaub ich versehentlich 2 Zeilen in einer oder irgend sowas Doofes..

              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
                Und das führt zu:

                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
                und

                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
                  OpenKNX www.openknx.de

                  Kommentar


                    Hi zusammen,

                    ich bin gerade dabei meine DEV-Umgebung neu aufzusetzen. Wenn das fertig ist, werde ich die Konfig mal ausprobieren ..

                    Grüße
                    offline

                    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ß
                      Thomas
                      Angehä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?
                          Meine bisherige DEV-Umgebung war recht komplex eingerichtet, weil sie sich im vom normalen Netzwerk getrennten Infrastrukturnetz befand, damit sie auch auf den KNX-Bus zugreifen kann.

                          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


                            Hi offline,

                            ok, CLI-Plugin ist eine coole Sache. Danke.

                            Dein Push hat meines Erachtens nicht geklappt, zumindest ist der letzte commit in develop 8 Tage alt....

                            Kommentar


                              Hi firefox

                              habe grade nochmal gepusht. Jetzt scheint's angekommen zu sein.

                              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

                                Lädt...
                                X