Ankündigung

Einklappen
Keine Ankündigung bisher.

Licht bei Abwesenheit aus Persistence schalten

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

    Licht bei Abwesenheit aus Persistence schalten

    Hallo,
    nachdem ich vor einer Weile auf OH2 gewechselt bin, funktioniert meine Abwesenheitsschaltung leider nicht mehr. Im OH1 ging das prima:
    Code:
    rule "Update light states during absence"
        when
               Time cron "0 * 6-23 * * ?"
        then
            if (Presence.state==OFF && Ereignis.state==OFF) {
            {
                Lights?.members.forEach(lampe |     
                    if (lampe.state != lampe.historicState(now.minusDays(Absent_offset).plusSeconds(2)).state)
                        lampe.postUpdate(lampe.historicState(now.minusDays(Absent_offset).plusSeconds(2)).state)
                )
            }
            if (Presence.state==OFF && Ereignis.state==ON) {
                Lights?.members.forEach(lampe|
                    if (lampe.state==OFF)     { if (Math::random < 0.1) lampe.sendCommand(ON) } else
                                            { if (Math::random < 0.05) lampe.sendCommand(OFF) } )    
            }
    end
    Code:
    import org.openhab.core.library.items.*
    import org.openhab.core.library.types.*
    import org.openhab.core.persistence.*
    import org.openhab.model.script.actions.*
    import org.eclipse.xtext.xbase.lib.*
    import java.text.SimpleDateFormat
    import java.util.ArrayList
    import java.util.Date
    import java.util.HashMap
    import java.util.LinkedHashMap
    import java.util.Map
    import java.util.concurrent.locks.*
    import org.java.math.*
    import org.joda.time.*
    
    var int Absent_offset = 1
    var int Ereignisdauer
    var java.util.Map E_initial
    var Timer timer_e = null
    
    // Systeminitialisierung beim Start von openHAB
    rule "Initialize item Presence at startup"
        when
            System started
        then
            Alarm?.members.forEach(alarm|alarm.postUpdate(CLOSED))
            Alarm?.members.forEach(tamper|tamper.postUpdate(CLOSED))
            Alarm?.members.forEach(heat|heat.postUpdate(CLOSED))
            postUpdate(Klingel, CLOSED)
            postUpdate(Ereignis, OFF)
            executeCommandLine("/Applications/OH2/systemstart.sh")
            logInfo("Info", "System gestartet")
    end
    
    rule "Presence_On"
        when
            Item Presence received command ON
        then
                executeCommandLine("/Applications/OH2/anwesenheit.sh")
                logInfo("Info", "Jemand Zuhause")
                 if (timer_e != null) {
                    timer_e.cancel
                    timer_e = null        
                    postUpdate(Ereignis, OFF)
                }
    end
    
    rule "Presence_Off"
        when
            Item Presence received command OFF
        then
                executeCommandLine("/Applications/OH2/abwesenheit.sh")
                logInfo("Info", "Niemand Zuhause")
    end
    Im meiner MariaDB landen die ITEMS auch sehr schön (siehe Anhang). Die Fehlermeldung im Log:
    Code:
    2017-06-22 16:51:00.086 [ERROR] [org.knowm.yank.Yank                 ] - Error in SQL query!!!
    java.sql.SQLException: Error preparing query: Table 'OH2.Item0021' doesn't exist Query: SELECT time, value FROM Item0021 WHERE TIME<'2017-06-21 16:51:02' ORDER BY time DESC  LIMIT 0,1 Parameters: []
        at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:392)

    Hat jemand eine Idee? Ich betreibe das übrigens auf einem macOS Sierra. Herzlichen Dank.

    Bildschirmfoto 2017-06-22 um 18.22.09.jpgBildschirmfoto 2017-06-22 um 18.21.57.jpg
    openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
    Devices: KNX & ZWave

    #2
    ...hat keiner eine Idee was sich hier von OH1 auf OH2 verändert hat? Die Fehlermeldung deutet ja daraufhin, dass da etwas mit der DB Abfrage falsch läuft. Klar, das item gibt es in diesem Beispiel ja auch nicht: OH2.Item0021 aber wie mache ich da passend? OH2 hat die ITEMS in der DB ja selbst angelegt.
    openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
    Devices: KNX & ZWave

    Kommentar


      #3
      Hast Du den Zugriff auf die Datenbank geändert?
      Bei jdbc als Zugriffsweg kann man den Tabellennamen steuern, bzw. die Anzahl der Stellen, die für die Zählung verwendet wird. Default ist 4-Stellig, wenn man vom MySQL-Bundle kommt, soll man es auf 0 setzen. Eventuell ist ja was im Code falsch, dass zwar zweistellig Namen erzeugt werden, aber vierstellig abgefragt wird...

      Die Imports für openhab und eclipse sollten unnötig sein, allerdings dürfte das nicht zu solchen Problemen führen.

      Kommentar


        #4
        Das war - wie immer - ein gute Hinweis udo1toni

        Ich habe mal meine jdbc.cfg geprüft und festgestellt, dass ich die Migrationshinweis befolgt hatte:
        Code:
        # T A B L E   O P E R A T I O N S
        # Tablename Prefix String (optional, default: "item"), for Migration from MYSQL-Bundle set to 'Item'.
        tableNamePrefix=Item
        
        # Tablename Prefix generation, using Item real names or "item" (optional, default: false -> "item")
        # If true, 'tableNamePrefix' is ignored. for Migration from MYSQL-Bundle do not use real names.
        jdbc:tableUseRealItemNames=false
        
        # Tablename Suffix length (optional, default: 4 -> 0001-9999), for Migration from MYSQL-Bundle set to 0.
        tableIdDigitCount=0
        Ich habe jetzt noch diese Meldung bemerkt:
        Code:
        2017-06-27 11:26:45.816 [INFO ] [persistence.jdbc.internal.JdbcMapper] - JDBC::openConnection: Driver is available::Yank setupDataSource
        2017-06-27 11:26:45.856 [ERROR] [org.knowm.yank.Yank                 ] - Error in SQL query!!!
        java.sql.SQLException: Error preparing query: Unknown column 'OH2' in 'where clause' Query: SELECT table_name FROM information_schema.tables WHERE table_type='BASE TABLE' AND table_schema=OH2 AND NOT table_name=items Parameters: []
        Per PaperUI ist JDBC Persistence MariaDB (persistence-jdbc-mariadb - 1.9.0) installiert. In Configuration>Setup is diese Persistance auch als default eingestellt.

        Keine Änderung.

        (EDIT): Ich werde jetzt mal den Ansatz von diesem LINK versuchen. Ich habe zwei Dateien (mariadb-java-client-2.0.2.jar, org.openhab.persistence.jdbc-1.9.0-20170316.jar) ins /OH2/addons Verzeichnis kopiert und vorher die o.g. JDBC Persistence über die PaperUI de-installiert.
        Zuletzt geändert von EdgarWallace; 27.06.2017, 14:22.
        openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
        Devices: KNX & ZWave

        Kommentar


          #5
          Ich sehe nach der o.g. Modifikation nun eine Fehlermeldung im Log, allerding keine SQL Fehler mehr:
          Code:
          [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Update light states during absence: cannot invoke method public abstract org.eclipse.smarthome.core.types.State org.eclipse.smarthome.core.persistence.HistoricItem.getState() on null
          Es scheint also an der Rule zu liegen. Da muss sich von OH1 --> OH2 etwas geändert haben.

          Ich habe übrigens auch meine default.items modifiziert:
          Code:
          Group:Switch    Lights
          Group:Switch    Restore
          Group            Alarm
          Group:Switch    Tamper
          Group:Switch    Shutters
          Group:Switch    Temperature
          Group:Switch    Heat
          Group:Switch    FSD
          Switch    Presence                                                    { knx="8/5/40" }
          Switch    Light_All                                                    { knx="8/5/0" }
          Switch    Light_Entree                                                { knx="8/5/1" }
          Contact    Klingel                                                        { knx="8/5/50" }
          Switch    Ereignis
          openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
          Devices: KNX & ZWave

          Kommentar


            #6
            Ich denke, es ist eher Glücksache, wenn openHAB da noch die richtigen Verbindungen herstellt. Mein Ansatz wäre, die alte Datenbank zu sichern, die Tables zu droppen, openHAB dazu zu bringen, die Tables wieder anzulegen (also indem man jedes persistierte Item einmal ändert) und anschließend die alten Daten in die neuen Tabellen zurückzuschreiben (die Verbindung zwischen alter und neuer Tabelle wird man dafür händisch herstellen wollen...)

            Kommentar


              #7
              D.h. Du siehst keine Probleme in meinen Dateien?

              Es sind ja recht unwichtige Daten, da könnte ich die komplette DB durchaus löschen und dann direkt mit JDBC starten. Könnte durchaus sein, dass es bei der mySQL Migration ein Problem gab.
              openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
              Devices: KNX & ZWave

              Kommentar


                #8
                Zitat von EdgarWallace Beitrag anzeigen
                D.h. Du siehst keine Probleme in meinen Dateien?
                Jedenfalls springt mir nichts ins Auge. Du kannst ja problemlos einen Dump der DB aufheben und testweise mit einer leeren DB neu anfangen. Wenn dann der Fehler weg ist, weißt Du, dass es bei der Migration Probleme gab, dann hast Du zumindest den Fehler eingegrenzt. Und ob Du dann weiter forschst oder es unter "schmerzloser Datenverlust" verbuchst, ist dann ein anderes Thema Datenübernahme aus alten Tabellen in die neuen Tabellen sollte kein grundsätzliches Problem sein, man muss halt aufpassen, dass die Daten zueinander passen.

                Kommentar


                  #9
                  Da das keine wichtigen Daten sind, habe ich mal die komplette DB gelöscht und neu angelegt. Der Charme ist auch, dass ich jetzt mit tableUseRealItemNames=true arbeiten kann, so dass man die Einträge direkt sieht.

                  Mal sehen, ob es da bringt. Noch einmal meinen Dank für die Hilfe.
                  openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
                  Devices: KNX & ZWave

                  Kommentar


                    #10
                    Ich muss doch noch mal auf das o.g. Problem zurück kommen. Die DB ist nun gut gefüllt und die jeweiligen Schalterzustände kann ich per SequelPro auch gut sehen (siehe Bild im Anhang).

                    Das Log wird aber mit der folgend Message geflutet, sobald ich die Abwesenheit einschalte, d.h. die Zustände der ITEMS aus der DB abgerufen werden sollten:
                    Code:
                    2017-08-09 16:59:38.053 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Update light states during absence: cannot invoke method public abstract org.eclipse.smarthome.core.types.State org.eclipse.smarthome.core.persistence.HistoricItem.getState() on null
                    
                    2017-08-09 16:59:39.024 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule Update light states during absence: cannot invoke method public abstract org.eclipse.smarthome.core.types.State org.eclipse.smarthome.core.persistence.HistoricItem.getState() on null
                    Angehängte Dateien
                    openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
                    Devices: KNX & ZWave

                    Kommentar


                      #11
                      und mariadb (bzw. jdbc...) ist als default persistence gesetzt? Du kannst ja vorsichtshalber mal mit ...historicState(...,"jdbc").state erzwingen, dass openHAB diese persistence verwendet.

                      Kommentar


                        #12
                        Ja wie oben angegeben ist die DB mein Default. Daran hatte ich nichts geändert.
                        openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
                        Devices: KNX & ZWave

                        Kommentar


                          #13
                          Seit meinem Umstieg auf KNX2 funktioniert meine Abwesenheitsschaltung nicht mehr. Die RULE ist unverändert:
                          Code:
                          [COLOR=#0000ff]import[/COLOR][COLOR=#000000] org.eclipse.smarthome.model.script.actions.Timer[/COLOR]
                          
                          [COLOR=#0000ff]var[/COLOR][COLOR=#0000ff]int[/COLOR][COLOR=#267f99] Absent_offset[/COLOR][COLOR=#000000] = [/COLOR][COLOR=#098658]7[/COLOR]
                          [COLOR=#0000ff]var[/COLOR][COLOR=#0000ff]int[/COLOR][COLOR=#267f99] Ereignisdauer[/COLOR]
                          [COLOR=#0000ff]var[/COLOR][COLOR=#267f99] Timer[/COLOR][COLOR=#267f99]timer_e[/COLOR][COLOR=#000000] = [/COLOR][COLOR=#0000ff]null[/COLOR]
                          
                          [COLOR=#af00db]rule [/COLOR][COLOR=#a31515]"Presence_On"[/COLOR][COLOR=#008000] // Anwesenheit[/COLOR][INDENT][COLOR=#af00db]when[/COLOR][/INDENT][INDENT=2][COLOR=#0000ff]Item[/COLOR][COLOR=#267f99] Presence[/COLOR][COLOR=#000000] received command [/COLOR][COLOR=#098658]ON[/COLOR][/INDENT][INDENT][COLOR=#af00db]then[/COLOR][/INDENT][INDENT=2][COLOR=#000000]logInfo([/COLOR][COLOR=#a31515]"Info"[/COLOR][COLOR=#000000], [/COLOR][COLOR=#a31515]"Schalten auf Anwesenheit"[/COLOR][COLOR=#000000])[/COLOR][/INDENT][INDENT=3][COLOR=#af00db]if[/COLOR][COLOR=#000000] ([/COLOR][COLOR=#267f99]timer_e[/COLOR][COLOR=#000000] !== [/COLOR][COLOR=#0000ff]null[/COLOR][COLOR=#000000]) {[/COLOR][/INDENT][INDENT=4][COLOR=#267f99]timer_e[/COLOR][COLOR=#000000].cancel[/COLOR]
                          [COLOR=#267f99]timer_e[/COLOR][COLOR=#000000] == [/COLOR][COLOR=#0000ff]null[/COLOR]
                          [COLOR=#000000]postUpdate([/COLOR][COLOR=#267f99]Ereignis[/COLOR][COLOR=#000000], [/COLOR][COLOR=#098658]OFF[/COLOR][COLOR=#000000])[/COLOR][/INDENT][INDENT=2][COLOR=#000000]}[/COLOR][/INDENT][INDENT][COLOR=#af00db]end[/COLOR][/INDENT]
                           
                          [COLOR=#af00db]rule[/COLOR][COLOR=#a31515] "Presence_Off" [/COLOR][COLOR=#008000]// Abwesenheit[/COLOR][INDENT][COLOR=#af00db]when[/COLOR][/INDENT][INDENT=2][COLOR=#0000ff]Item[/COLOR][COLOR=#267f99] Presence[/COLOR][COLOR=#000000] received command [/COLOR][COLOR=#098658]OFF[/COLOR][/INDENT][INDENT][COLOR=#af00db]then[/COLOR][/INDENT][INDENT=2][COLOR=#000000]logInfo([/COLOR][COLOR=#a31515]"Info"[/COLOR][COLOR=#000000], [/COLOR][COLOR=#a31515]"Schalten auf Abwesenheit"[/COLOR][COLOR=#000000])[/COLOR][/INDENT][INDENT][COLOR=#af00db]end[/COLOR][/INDENT]
                           
                          [COLOR=#af00db]rule [/COLOR][COLOR=#a31515]"Update light states during absence"[/COLOR][COLOR=#008000] // Lampen werden bei Abwesenheit aus der Persistence geschaltet[/COLOR][INDENT][COLOR=#af00db]when[/COLOR][/INDENT][INDENT=2][COLOR=#0000ff]Time[/COLOR][COLOR=#267f99]cron[/COLOR][COLOR=#a31515]"0 * * * * ?"[/COLOR][/INDENT][INDENT][COLOR=#af00db]then[/COLOR][/INDENT][INDENT=2][COLOR=#af00db]if[/COLOR][COLOR=#000000] ([/COLOR][COLOR=#267f99]Presence[/COLOR][COLOR=#000000].state==[/COLOR][COLOR=#098658]OFF[/COLOR][COLOR=#000000] && [/COLOR][COLOR=#267f99]Ereignis[/COLOR][COLOR=#000000].state==[/COLOR][COLOR=#098658]OFF[/COLOR][COLOR=#000000]) {[/COLOR][/INDENT][INDENT=3][COLOR=#000000]Lights[/COLOR][COLOR=#af00db]?[/COLOR][COLOR=#000000].members.forEach([/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000] | [/COLOR][/INDENT][INDENT=2][COLOR=#af00db]if[/COLOR][COLOR=#000000] ([/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].state != [/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].historicState([/COLOR][COLOR=#267f99]now[/COLOR][COLOR=#000000].minusDays([/COLOR][COLOR=#267f99]Absent_offset[/COLOR][COLOR=#000000]).plusSeconds([/COLOR][COLOR=#098658]2[/COLOR][COLOR=#000000])).state)[/COLOR][/INDENT][INDENT=3][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].postUpdate([/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].historicState([/COLOR][COLOR=#267f99]now[/COLOR][COLOR=#000000].minusDays([/COLOR][COLOR=#267f99]Absent_offset[/COLOR][COLOR=#000000]).plusSeconds([/COLOR][COLOR=#098658]2[/COLOR][COLOR=#000000])).state)[/COLOR][/INDENT][INDENT=2][COLOR=#000000])[/COLOR]
                          [COLOR=#000000]} [/COLOR][/INDENT][INDENT][COLOR=#af00db]end[/COLOR][/INDENT]
                          In meiner ITEMS Datei sind nach wie vor:
                          Code:
                           [COLOR=#0000ff]Switch [/COLOR][COLOR=#267f99]Presence[/COLOR][COLOR=#000000] { [/COLOR][COLOR=#af00db]channel[/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]"knx:device:bridge:generic:Presence"[/COLOR][COLOR=#000000] }[/COLOR]
                           [COLOR=#0000ff]Switch [/COLOR][COLOR=#267f99]Ereignis[/COLOR][COLOR=#000000] { [/COLOR][COLOR=#af00db]channel[/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]"knx:device:bridge:generic:Ereignis"[/COLOR][COLOR=#000000] }[/COLOR]
                          Alle Schaltvorgänge landen wunderbar in meiner DB. Im LOG sehe ich leider keinen Fehler.
                          openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
                          Devices: KNX & ZWave

                          Kommentar


                            #14
                            Leider ist Dein Code beim Einfügen kaputt gegangen es fehlen diverse Leerzeichen...

                            Aber grundsätzlich:
                            Der import ist nicht mehr notwendig.
                            postUpdate ändert nur den Status des Items, wenn Du eine Lampe schalten willst, so musst Du dazu sendCommand verwenden. knx1 hat hier keinen Unterschied gemacht, auch postUpdate wurde auf den Bus geschickt (Fehlverhalten!).
                            Der Channel knx:device:bridge:generic:Presence muss als switch-control definiert werden, sonst funktioniert der Trigger received command nicht. Alternativ kannst Du aber auch den Trigger auf changed to oder received update umstellen.
                            Zuletzt geändert von udo1toni; 17.12.2020, 07:50.

                            Kommentar


                              #15
                              Vielen Dank udo1toni

                              Ich habe den Import entfernt und das ITEM geändert:
                              Code:
                              [FONT=Courier New][COLOR=#0000ff]Switch[/COLOR][COLOR=#000000]-control [/COLOR][COLOR=#267f99]Presence[/COLOR][COLOR=#000000] { [/COLOR][COLOR=#af00db]channel[/COLOR][COLOR=#000000]=[/COLOR][COLOR=#a31515]"knx:device:bridge:generic:Presence"[/COLOR][COLOR=#000000] }[/COLOR][/FONT]
                              Damit musste ich in der RULE ja nur zwei Zeilen (die in Bold) ändern,:
                              Code:
                              [FONT=Courier New][COLOR=#af00db]rule [/COLOR][COLOR=#a31515]"Presence_On"[/COLOR]
                              [COLOR=#af00db]  when[/COLOR]
                              [COLOR=#0000ff]      Item [/COLOR][COLOR=#267f99]Presence[/COLOR][COLOR=#000000] received command [/COLOR][COLOR=#098658]ON[/COLOR]
                              [COLOR=#af00db]  then[/COLOR]
                              [COLOR=#000000]          logInfo([/COLOR][COLOR=#a31515]"Info"[/COLOR][COLOR=#000000], [/COLOR][COLOR=#a31515]"Schalten auf Anwesenheit"[/COLOR][COLOR=#000000])[/COLOR]
                              [COLOR=#af00db]              if[/COLOR][COLOR=#000000] ([/COLOR][COLOR=#267f99]timer_e[/COLOR][COLOR=#000000] !== [/COLOR][COLOR=#0000ff]null[/COLOR][COLOR=#000000]) {[/COLOR]
                              [COLOR=#267f99]                 timer_e[/COLOR][COLOR=#000000].cancel[/COLOR]
                              [COLOR=#267f99]                 timer_e[/COLOR][COLOR=#000000] == [/COLOR][COLOR=#0000ff]null[/COLOR]
                              [COLOR=#000000]                 [B]sendCommand([/B][/COLOR][B][COLOR=#267f99]Ereignis[/COLOR][COLOR=#000000], [/COLOR][COLOR=#098658]OFF[/COLOR][COLOR=#000000])[/COLOR][/B]
                              [COLOR=#000000]}[/COLOR]
                              [COLOR=#af00db]end[/COLOR]
                              
                              [COLOR=#af00db]rule[/COLOR][COLOR=#a31515] "Presence_Off"[/COLOR]
                              [COLOR=#af00db]  when[/COLOR]
                              [COLOR=#0000ff]       Item[/COLOR][COLOR=#267f99] Presence[/COLOR][COLOR=#000000] received command [/COLOR][COLOR=#098658]OFF[/COLOR]
                              [COLOR=#af00db]  then[/COLOR]
                              [COLOR=#000000]       logInfo([/COLOR][COLOR=#a31515]"Info"[/COLOR][COLOR=#000000], [/COLOR][COLOR=#a31515]"Schalten auf Abwesenheit"[/COLOR][COLOR=#000000])[/COLOR]
                              [COLOR=#af00db]end[/COLOR]
                              
                              [COLOR=#af00db]rule[/COLOR][COLOR=#a31515] "Update light states during absence"[/COLOR]
                              [COLOR=#af00db]  when[/COLOR]
                              [COLOR=#0000ff]       Time[/COLOR][COLOR=#267f99]cron[/COLOR][COLOR=#a31515]"0 * * * * ?"[/COLOR]
                              [COLOR=#af00db]  then[/COLOR]
                              [COLOR=#af00db]       if[/COLOR][COLOR=#000000] ([/COLOR][COLOR=#267f99]Presence[/COLOR][COLOR=#000000].state==[/COLOR][COLOR=#098658]OFF[/COLOR][COLOR=#000000] && [/COLOR][COLOR=#267f99]Ereignis[/COLOR][COLOR=#000000].state==[/COLOR][COLOR=#098658]OFF[/COLOR][COLOR=#000000]) {[/COLOR]
                              [COLOR=#000000]         Lights[/COLOR][COLOR=#af00db]?[/COLOR][COLOR=#000000].members.forEach([/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000] | [/COLOR]
                              [COLOR=#af00db]             if[/COLOR][COLOR=#000000] ([/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].state != [/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].historicState([/COLOR][COLOR=#267f99]now[/COLOR][COLOR=#000000].minusDays([/COLOR][COLOR=#267f99]Absent_offset[/COLOR][COLOR=#000000]).plusSeconds([/COLOR][COLOR=#098658]2[/COLOR][COLOR=#000000])).state)[/COLOR]
                              [COLOR=#267f99]             [B]lampe[/B][/COLOR][B][COLOR=#000000].sendCommand([/COLOR][COLOR=#267f99]lampe[/COLOR][COLOR=#000000].historicState([/COLOR][COLOR=#267f99]now[/COLOR][COLOR=#000000].minusDays([/COLOR][COLOR=#267f99]Absent_offset[/COLOR][COLOR=#000000]).plusSeconds([/COLOR][COLOR=#098658]2[/COLOR][COLOR=#000000])).state)[/COLOR][/B]
                              [COLOR=#000000])[/COLOR]
                              [COLOR=#000000]} [/COLOR]
                              [COLOR=#af00db]end[/COLOR][/FONT]
                              Frage: sollte ich den Channel Der Channel knx:device:bridge:generic:Ereignis nicht ebenfalls als switch-control definieren?
                              openHAB2 2.5.10 als Docker auf einen unRAID Server (Repository: openhab/openhab:latest-debian)
                              Devices: KNX & ZWave

                              Kommentar

                              Lädt...
                              X