Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX 2.x Binding verfügbar!

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

    alltime wieviele gleichzeitige Tunnel beherrscht dein KNX IP-Router? Vielleicht ist der am Limit?

    Kommentar


      Ich habe das KNX Interface passend zum Wiregate. Soweit ich weiß hat das keine Beschränkungen. Ich werde nochmal mit den Reconnects rumspielen und weiter testen.

      Kommentar


        ok, ich habe die Lösung gefunden. Mein IP Interface hat keine Bus-Adresse bzw. ich kenne sie nicht , darum musste ich folgendes auskommentieren:
        localSourceAddr="0.0.0"

        seit dem geht es.

        Kommentar


          Ich habe einen Item, dessen String möchte ich an KNX übergeben. Laut Busmonitor sendet er ein read auf den Bus, welches aber nicht beantworter wird. Ich brauche aber ein write alles xx sec..
          Kann das Binding nicht senden oder ist mein Code falsch?

          Unter Control im openHab 2.4 wird er mir im KND Device aber richtig angezeigt.



          Code:
          Bridge knx:ip:941721e3
          {
          
          Thing device generic [
                  address="1.0.0",
                  fetch=false,
                  pingInterval=20,
                  readInterval=20
              ] {
          Type string : Sprache "Language" [ga="16.001:<1/4/0"]
          Type string : Aktualisierungszeit "dateTime" [ga="16.001:<1/4/1"]
          Type string : MAC_Adresse "MAC_Adress" [ga="16.001:<1/4/2"]
              }
          
          
          }
          Zuletzt geändert von billiboy; 26.05.2019, 00:15.
          Grüsse aus Berlin
          Steffen


          Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

          Kommentar


            Der erste Punkt ist, Du hast Dein Device generic genannt, aber eine Adresse vergeben. Nun kannst Du natürlich ein echtes Device auch generic nennen, allein, ich denke, Du hast gar keine Hardware hinter dieser Adresse.
            Der zweite Punkt: Die Adresse lautet 1.0.0. Das ist eine reservierte Adresse (Letzter Teil 0 -> Linienkoppler, Mittelstelle 0 -> Bereichskoppler).

            Es geht also damit los, dass die Adresse da so nichts zu suchen hat. Wenn die Adresse nicht gesetzt ist, ist weder ein Parameter fetch noch ein Parameter pingInterval sinnvoll, kommt also auch weg.

            Du möchtest erreichen, dass Geräte vom Bus die GA anfragen können. Das geht nur mit *-control Channels (dieser Typ bedeutet, dass openHAB gegenüber dem knx Bus als Device auftritt - natürlich nur für diese Channels)
            Allerdings kann logischerweise kein Read Request an den Bus gesendet werden, da per Definition openHAB selbst den Status der GA hält. Damit ist dann auch der Parameter readInterval hinfällig. Deine Konfiguration sollte also eher so aussehen:
            Code:
            Bridge knx:ip:941721e3 {
                Thing device generic {
                    Type string : Sprache "Language" [ga="16.001:1/4/0"]
                    Type string : Aktualisierungszeit "dateTime" [ga="16.001:1/4/1"]
                    Type string : MAC_Adresse "MAC_Adress" [ga="16.001:1/4/2"]
                }
            }
            Wenn Du nun erreichen willst, dass openHAB ohne weiteres Zutun diese GA von sich aus periodisch auf den Bus schickt, bleibt Dir nichts anderes übrig, als eine Regel zu verwenden. Nehmen wir folgende Items an:
            Code:
            Group periodicSend
            String sSprache             "Language"   (periodicSend) { channel="knx:device:941721e3:generic:Sprache" }
            String sAktualisierungszeit "dateTime"   (periodicSend) { channel="knx:device:941721e3:generic:Aktualisierungszeit" }
            String sMAC_Adresse         "MAC_Adress" (periodicSend) { channel="knx:device:941721e3:generic:MAC_Adresse" }
            dann kannst Du mit dieser Rule:
            Code:
            rule "periodisch senden"
            when
                Time cron "0/20 * * * * ?"
            then
                periodicSend.members.forEach[i|i.sendCommand(i.state)]
            end
            das periodische Senden erzwingen. Allerdings sehe ich ehrlich gesagt keinen Grund, mit einer derartig irrwitzigen Frequenz zu senden, außer vielleicht zum testen.
            Vielleicht verrätst Du noch ein wenig zum Zweck?

            Die Bridge ist übrigens unvollständig und so nicht funktionsfähig.
            Solltest Du die Bridge über die Things-Datei erzeugen, fehlt mindestens die Angabe der Betriebsart (ROUTER -> alle anderen Angaben optional) oder der IP (IP aus dem Adressraum des LAN -> Betriebsart TUNNEL ist default)
            Solltest Du die Bridge über Paper UI angelegt haben, ist die Definition des Things falsch, dann musst Du zwingend das Thing alleinstehend definieren:
            Code:
            Thing knx:device:941721e3:generic (knx:ip:941721e3) {
                Type string : Sprache "Language" [ga="16.001:1/4/0"]
                Type string : Aktualisierungszeit "dateTime" [ga="16.001:1/4/1"]
                Type string : MAC_Adresse "MAC_Adress" [ga="16.001:1/4/2"]
            }

            Kommentar


              Vielen Dank für Deinen Ausführliche Antwort.
              Ich möchte meinen Worx Landroid in den Homeserver einbinden. Da dieser über MQTT lauft und es kein Plugin gibt wollte ich den Umweg über openHab nehmen, das dafür eine Bridge gibt. Ich bin nicht so der Programmiertyp, habe die Bridge und openHab auf einem Pi3 ans laufen bekommen. Nun hapert es halt noch an der KNX anbindung.
              Die Abfragefrequenz ist nur Testweise.
              Ich habe habe schon andere Adressen wie die 1.0.0 probiert, aber da ist das Device dann immer unknown. Nur mit der 1.0.0 ging es. Die 1.0.0 ist mein IP Router eigentlich.
              Den KNX/IP Gateway habe ich über die Papaer UI erstellt, dort ist die angabe Router usw. alles eingestellt. Über die things Datei habe ich dann das Device eingebunden.
              Ich werde das mal duchspielen was Du gepostet hast und dann rückmeldung geben.
              Vielen Dank für Deine Hilfe.
              Grüsse aus Berlin
              Steffen


              Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

              Kommentar


                So, ich hab das jetzt mal installiert. In der ETS bekomm ich nix mehr auf den Monitor jetzt, glaub das liegt an meinem ABB IPR/S 2.1. Hab in der ETS keine Verbindungen mehr.
                Im openhab.log habe ich folgende Fehlermeldung.
                Code:
                2019-05-26 22:50:40.026 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'periodisch senden': Could not invoke method: org.eclipse.smarthome.model.script.actions$
                Ich vermute meine meine knx.rules ist falsch.
                Code:
                import org.openhab.core.library.types.*
                import org.openhab.core.persistence.*
                import org.openhab.model.script.actions.*
                
                rule "periodisch senden"
                when
                    Time cron "0/20 * * * * ?"
                then
                    periodicSend.members.forEach[i|i.sendCommand(i.state)]
                end
                Grüsse aus Berlin
                Steffen


                Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

                Kommentar


                  Wie kommst Du auf die imports? Mach die bitte weg, die sind nicht zulässig (unter OH1 waren die zwingend notwendig, unter OH2 darf das nicht mehr sein.)

                  Wenn Du die Bridge über Paper UI erstellt hast, kannst Du das Thing auf demselben Weg erstellen. Ist vielleicht einfacher, als in der Textdatei, zumal es ja nur um einige wenige Channels geht.

                  Address: Der Punkt ist, dass Du gar keine Adresse setzen darfst, wenn Du kein reales Device ansteuerst.

                  Die physikalische Adresse des Routers darfst Du überhaupt nicht verwenden (auch nicht aus einem Pool von Adressen, auch nicht als Adresse der Bridge).
                  Die Adresse muss eine komplett ungenutzte sein. Die Adresse der Bridge erscheint anschließend im Gruppenmonitor, falls Du mal mit ETS lauschst.
                  Du kannst in ETS auch ein Dummy Gerät anlegen, welchem Du dann den Namen openHAB geben kannst - dann kannst Du im Gruppenmonitor bequem filtern usw.

                  Die Fehlermeldung ist leider abgeschnitten, der interessante Teil fehlt.

                  Kommentar


                    Boooo, ich verzweifel an dem Kack hier...

                    ich habe die rules so gemacht wie Du vorgeschlagen hast.
                    da bekomme ich folgenden Fehler
                    Code:
                    2019-05-27 12:24:54.505 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
                    2019-05-27 12:25:26.535 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.items'
                    2019-05-27 12:25:30.353 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
                    2019-05-27 12:25:33.647 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.rules'
                    2019-05-27 12:25:34.574 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'mower.things', using it anyway:
                    Provide a thing type ID and a thing ID in this format:
                     <thingTypeId> <thingId>
                    2019-05-27 12:25:34.582 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mower.things'
                    2019-05-27 12:25:34.865 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.things'
                    2019-05-27 12:25:36.299 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.0.104:8080
                    2019-05-27 12:25:36.302 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.0.104:8443
                    2019-05-27 12:25:37.805 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
                    2019-05-27 12:25:37.953 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Started HABmin servlet at /habmin
                    2019-05-27 12:25:38.490 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'localhost' with clientid paho51807036020 and file store '/var/lib/openhab2/mqtt/localho$
                    2019-05-27 12:25:38.547 [WARN ] [ore.common.registry.AbstractRegistry] - Cannot add "BridgeImpl" with key "mqtt:broker:665e0f78". It exists already from provider "ManagedThingProvider"! Failed to $
                    2019-05-27 12:25:39.034 [DEBUG] [org.openhab.binding.knx             ] - BundleEvent STARTING - org.openhab.binding.knx
                    2019-05-27 12:25:39.056 [DEBUG] [org.openhab.binding.knx             ] - BundleEvent STARTED - org.openhab.binding.knx
                    2019-05-27 12:25:39.125 [DEBUG] [org.openhab.binding.knx             ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.profiles.ProfileAdvisor}={service.id=409, service.bundleid=245,$
                    2019-05-27 12:25:39.183 [DEBUG] [org.openhab.binding.knx             ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=410, service.bundleid=$
                    2019-05-27 12:25:39.387 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:941721e3 is disconnecting from the KNX bus
                    2019-05-27 12:25:39.409 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:941721e3 is connecting to the KNX bus
                    2019-05-27 12:25:39.413 [DEBUG] [binding.knx.internal.client.IPClient] - Establishing connection to KNX bus on 224.0.23.12:3671 in mode ROUTER.
                    2019-05-27 12:25:39.483 [DEBUG] [org.openhab.binding.knx             ] - ServiceEvent REGISTERED - {org.openhab.binding.knx.KNXTypeMapper}={service.id=411, service.bundleid=245, service.scope=bund$
                    2019-05-27 12:25:40.559 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/13' with value '[2, -48]'
                    2019-05-27 12:25:49.189 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.200' to '0/6/1' with value '[93, 77]'
                    2019-05-27 12:25:50.473 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/13' with value '[1, 104]'
                    2019-05-27 12:25:52.256 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.1' to '0/2/0' with value '[12, -91]'
                    2019-05-27 12:25:58.484 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/13' with value '[0, 0]'
                    2019-05-27 12:26:00.241 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'periodisch senden': Could not invoke method: org.eclipse.smarthome.model.script.actions$
                    2019-05-27 12:26:04.359 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.200' to '0/6/0' with value '[93, 124]'
                    2019-05-27 12:26:05.465 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/14' with value '[1]'
                    2019-05-27 12:26:07.945 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.200' to '0/6/1' with value '[94, 2]'
                    Habe dann mal die Zeit auf
                    Code:
                     
                     Time cron "20 0 0 ? * * *"
                    geändert. jetzt bekommen ich diese Meldung

                    Code:
                    2019-05-27 12:45:25.654 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
                    2019-05-27 12:45:57.914 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.items'
                    2019-05-27 12:46:02.341 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
                    2019-05-27 12:46:04.868 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.rules'
                    2019-05-27 12:46:05.956 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'mower.things', using it anyway:
                    Provide a thing type ID and a thing ID in this format:
                     <thingTypeId> <thingId>
                    2019-05-27 12:46:05.964 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mower.things'
                    2019-05-27 12:46:06.183 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.things'
                    2019-05-27 12:46:07.536 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.0.104:8080
                    2019-05-27 12:46:07.541 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.0.104:8443
                    2019-05-27 12:46:09.070 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
                    2019-05-27 12:46:09.209 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Started HABmin servlet at /habmin
                    2019-05-27 12:46:09.384 [WARN ] [ore.common.registry.AbstractRegistry] - Cannot add "BridgeImpl" with key "mqtt:broker:665e0f78". It exists already from provider "ManagedThingProvider"! Failed to $
                    2019-05-27 12:46:09.756 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'localhost' with clientid paho51756477582 and file store '/var/lib/openhab2/mqtt/localho$
                    2019-05-27 12:46:10.386 [DEBUG] [org.openhab.binding.knx             ] - BundleEvent STARTING - org.openhab.binding.knx
                    2019-05-27 12:46:10.431 [DEBUG] [org.openhab.binding.knx             ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.profiles.ProfileAdvisor}={service.id=409, service.bundleid=245,$
                    2019-05-27 12:46:10.486 [DEBUG] [org.openhab.binding.knx             ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={service.id=410, service.bundleid=$
                    2019-05-27 12:46:10.669 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:941721e3 is disconnecting from the KNX bus
                    2019-05-27 12:46:10.687 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:941721e3 is connecting to the KNX bus
                    2019-05-27 12:46:10.689 [DEBUG] [binding.knx.internal.client.IPClient] - Establishing connection to KNX bus on 224.0.23.12:3671 in mode ROUTER.
                    2019-05-27 12:46:10.766 [DEBUG] [org.openhab.binding.knx             ] - ServiceEvent REGISTERED - {org.openhab.binding.knx.KNXTypeMapper}={service.id=411, service.bundleid=245, service.scope=bund$
                    2019-05-27 12:46:10.769 [DEBUG] [org.openhab.binding.knx             ] - BundleEvent STARTED - org.openhab.binding.knx
                    2019-05-27 12:46:12.444 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/12' with value '[12, 11]'

                    Wäre es besser ich mache einen neuen Beitrag auf als den hier zu sprengen?
                    Grüsse aus Berlin
                    Steffen


                    Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

                    Kommentar


                      Das Sprengen wäre eher schwer. Allerdings sehe ich in dem Log so gar nichts von Deiner Rule (oh, doch, eine knx.rules wurde ohne gemecker geladen), dafür aber einen grundsätzlichen Fehler in Deiner mower.things.
                      Deine Änderung
                      Code:
                      Time cron "20 0 0 ? * * *"
                      bedeutet: "Täglich um 0 Uhr und 20 Sekunden. Besser wäre, die Rule so anzupassen:
                      Code:
                      rule "periodisch senden"
                      when
                          Time cron "0/20 * * * * ?"
                      then
                          logInfo("periodic","Rule periodisch senden getriggert!")
                          periodicSend.members.forEach[ i |
                              logInfo("periodic","Item {} sendet {}!",i.name,i.state)
                              i.sendCommand(i.state)
                          ]
                      end
                      So wird zyklisch eine Meldung in openhab.log ausgegeben, eine Zeile pro Trigger und eine Zeile je Item.

                      Kommentar


                        Das die mower.things einen fehler hat habe ich gesehen, laut google aber nicht so das Problem.
                        Die sieht bei mir so aus.
                        Code:
                        Bridge mqtt:broker:665e0f78 [ host="localhost", secure=false ]
                        {
                            Thing mqtt:topic:landroid {
                            Channels:
                        
                        Type string : Sprache "Language" [stateTopic="landroid/status/language"]
                        Type string : Aktualisierungszeit "dateTime" [stateTopic="landroid/status/dateTime"]
                        Type string : MAC_Adresse "MAC_Adress" [stateTopic="landroid/status/macAddress"]
                        Type string : Firmware "Firmware" [stateTopic="landroid/status/firmware"]
                        Type string : WIFI_Qualitaet "Wifi_Quality" [stateTopic="landroid/status/wifiQuality"]
                        Type string : Activitaet "Activity" [stateTopic="landroid/status/active"]
                        Type string : Regenverzoegerung "Raindelay" [stateTopic="landroid/status/rainDelay"]
                        Type string : Zeitverlaengerung "TimeExtension" [stateTopic="landroid/status/timeExtension"]
                        Type string : Seriennummer "Serialnumber" [stateTopic="landroid/status/serialNumber"]
                        Type string : Gesamtzeit "TotalTime" [stateTopic="landroid/status/totalTime"]
                        Type string : Gesamtentfernung "TotalDistance" [stateTopic="landroid/status/totalDistance"]
                        Type string : Klingenzeit "TotalBladeTime" [stateTopic="landroid/status/totalBladeTime"]
                        Type string : Ladezyklus "ChargeCycle" [stateTopic="landroid/status/batteryChargeCycle"]
                        Type string : Batterieladung "BatteryCharging" [stateTopic="landroid/status/batteryCharging"]
                        Type string : Batteriespannung "BatteryVoltage" [stateTopic="landroid/status/batteryVoltage"]
                        Type string : Batterietemperatur "BatteryTemperatur" [stateTopic="landroid/status/batteryTemperature"]
                        Type string : Batteriestaerke "BatteryLevel" [stateTopic="landroid/status/batteryLevel"]
                        Type string : Roll "Roll" [stateTopic="landroid/status/roll"]
                        Type string : Nick "Pitch" [stateTopic="landroid/status/pitch"]
                        Type string : Gier "Yaw" [stateTopic="landroid/status/yaw"]
                        Type string : Fehlercode "ErrorCode" [stateTopic="landroid/status/errorCode"]
                        Type string : Fehlerbeschreibung "Error_Description" [stateTopic="landroid/status/errorDescription"]
                        Type string : Status "Status_Code" [stateTopic="landroid/status/statusCode"]
                        Type string : Statusbeschreibung "Status_Description" [stateTopic="landroid/status/statusDescription"]
                        
                            }
                        }
                        Ich hab die Zeit für den Cron hier generiert, bei specific second 20 angeklickt. scheint dann wohl falsch zu sein.
                        https://www.freeformatter.com/cron-e...or-quartz.html

                        Wo kann ich denn dann andere Zeiten generieren?

                        Mit Time cron "0/20 * * * * ?" hatte ich ja den ersten Fehler, daher halt die änderung.
                        Ich probiere das später mal aus.
                        Ist halt blöd wen man wenig Ahnung hat und die bridge noch nicht für OH 2 anpasst ist. da entstehen solche Fehler wenn man das nicht ständig macht.
                        Vielen Dank für Deine Hilfe
                        Grüsse aus Berlin
                        Steffen


                        Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

                        Kommentar


                          Der Cron Generator ist grundsätzlich nicht verkehrt, besser wäre es aber, das Prinzip zu verstehen.
                          Code:
                          "s m h D M W Y"
                          s = Sekunde, m = Minute, h = Stunde
                          D = Tag im Monat, M = Monat im Jahr, W = Tag in der Woche (Sonntag=1), Y = Jahr, optional

                          Ein * bedeutet "Jeder mögliche Wert"
                          Für jedes Feld darf ein einzelner Wert, ein Bereich, eine Liste von Werten, ein Stern oder auch eine Wiederholung angegeben werden. Leerzeichen sind nicht erlaubt, denn diese dienen als Feldtrenner. Listentrenner ist das Komma, der Bereich wird mit dem - markiert. Eine Wiederholung wird durch den / angegeben, vor dem / der erste Startwert, dahinter die Schritte bis zur Wiederholung.

                          In jedem gültigen Time cron Ausdruck steht exakt ein ?, und zwar entweder beim Wochentag oder beim Tag im Monat.

                          Es gibt noch zwei Spezialitäten, zum einen, um auf einen bestimmten Wochentag innerhalb eines Monats zu triggern, also z.B. der 2. Mittwoch, oder der letzte Samstag, das geht über den Wochentag (WED#2 oder 4#2, sowie SATL bzw. 7L). Zum anderen kannst Du auch den Monatsletzten ansprechen, dann steht das L im Tag-Feld des Monats. Du musst also keine drei Cron-Trigger bauen und einen davon im Schaltjahr händisch anpassen, nur um immer am Monatsletzten um 23:59:59 z.B. einen Zähler zu speichern (ok, das könnte man auch am Monatsersten um 0:00 Uhr erledigen...).
                          Und Du kannst das W im Tag-Feld nutzen, um den nächstgelegenen Werktag zu triggern (mit Werktag werden hier Montag bis Freitag gemeint, bewegliche und feste Feiertage kennt cron nicht), also z.B. 15W triggert am 14., falls der 15. ein Samstag ist, am 16., falls der 15. ein Sonntag ist und am 15. in allen anderen Fällen. Wenn Du 1W einträgst und der 1. ein Samstag ist, triggert der Ausdruck am 3., weil cron nicht über die Monatsgrenze zurück springt.

                          Eine vollständige Liste mit vielen Beispielen kannst Du hier finden.

                          Kommentar


                            Was den Fehler im mower.things betrifft, wäre die korrekte Schreibweise eher so (Formatierung nur der Übersichtlichkeit halber):
                            Code:
                            Bridge mqtt:broker:665e0f78 "My MQTT Broker" [
                                host="localhost",
                                secure=false ]
                            {
                                Thing topic landroid "Landroid" {
                                Channels:
                                    Type string : Sprache             "Language"            [ stateTopic="landroid/status/language" ]
                                    Type string : Aktualisierungszeit "dateTime"            [ stateTopic="landroid/status/dateTime" ]
                                    Type string : MAC_Adresse         "MAC_Adress"          [ stateTopic="landroid/status/macAddress" ]
                                    Type string : Firmware            "Firmware"            [ stateTopic="landroid/status/firmware" ]
                                    Type string : WIFI_Qualitaet      "Wifi_Quality"        [ stateTopic="landroid/status/wifiQuality" ]
                                    Type string : Activitaet          "Activity"            [ stateTopic="landroid/status/active" ]
                                    Type string : Regenverzoegerung   "Raindelay"           [ stateTopic="landroid/status/rainDelay" ]
                                    Type string : Zeitverlaengerung   "TimeExtension"       [ stateTopic="landroid/status/timeExtension" ]
                                    Type string : Seriennummer        "Serialnumber"        [ stateTopic="landroid/status/serialNumber" ]
                                    Type string : Gesamtzeit          "TotalTime"           [ stateTopic="landroid/status/totalTime" ]
                                    Type string : Gesamtentfernung    "TotalDistance"       [ stateTopic="landroid/status/totalDistance" ]
                                    Type string : Klingenzeit         "TotalBladeTime"      [ stateTopic="landroid/status/totalBladeTime" ]
                                    Type string : Ladezyklus          "ChargeCycle"         [ stateTopic="landroid/status/batteryChargeCycle" ]
                                    Type string : Batterieladung      "BatteryCharging"     [ stateTopic="landroid/status/batteryCharging" ]
                                    Type string : Batteriespannung    "BatteryVoltage"      [ stateTopic="landroid/status/batteryVoltage" ]
                                    Type string : Batterietemperatur  "BatteryTemperatur"   [ stateTopic="landroid/status/batteryTemperature" ]
                                    Type string : Batteriestaerke     "BatteryLevel"        [ stateTopic="landroid/status/batteryLevel" ]
                                    Type string : Roll                "Roll"                [ stateTopic="landroid/status/roll" ]
                                    Type string : Nick                "Pitch"               [ stateTopic="landroid/status/pitch" ]
                                    Type string : Gier                "Yaw"                 [ stateTopic="landroid/status/yaw" ]
                                    Type string : Fehlercode          "ErrorCode"           [ stateTopic="landroid/status/errorCode" ]
                                    Type string : Fehlerbeschreibung  "Error_Description"   [ stateTopic="landroid/status/errorDescription" ]
                                    Type string : Status              "Status_Code"         [ stateTopic="landroid/status/statusCode" ]
                                    Type string : Statusbeschreibung  "Status_Description"  [ stateTopic="landroid/status/statusDescription" ]
                                }
                            }
                            Die Schlüsselworte Bridge, Thing und Channels: können übrigens ausgelassen werden.
                            Zuletzt geändert von udo1toni; 27.05.2019, 15:20.

                            Kommentar


                              Jaaaa, wir kommen dem Ziel schon näher. Auf dem Bus hab ich schon mal 2 der Werte, datetime wird nicht übertragen.
                              Code:
                                   at tuwien.auto.calimero.dptxlator.DPTXlator.newException(DPTXlator.java:505) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.dptxlator.DPTXlator.newException(DPTXlator.java:510) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.dptxlator.DPTXlatorString.toDPT(DPTXlatorString.java:192) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.dptxlator.DPTXlator.setValue(DPTXlator.java:186) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:358) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.client.AbstractKNXClient.sendToKNX(AbstractKNXClient.java:453) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.client.AbstractKNXClient.writeToKNX(AbstractKNXClient.java:413) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.lambda$7(DeviceThingHandler.java:229) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.withKNXType(DeviceThingHandler.java:124) [245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.withKNXType(DeviceThingHandler.java:118) [245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.handleCommand(DeviceThingHandler.java:224) [245:org.openhab.binding.knx:2.4.0]
                                      at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) ~[?:?]
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                                      at java.lang.reflect.Method.invoke(Method.java:497) ~[?:?]
                                      at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at com.sun.proxy.$Proxy150.handleCommand(Unknown Source) [245:org.openhab.binding.knx:2.4.0]
                                      at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [109:org.eclipse.smarthome.core.thing:0.10.0.oh240]
                                      at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [109:org.eclipse.smarthome.core.thing:0.10.0.oh240]
                                      at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) ~[?:?]
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                                      at java.lang.reflect.Method.invoke(Method.java:497) ~[?:?]
                                      at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
                                      at java.lang.Thread.run(Thread.java:745) [?:?]
                              2019-05-27 22:00:00.127 [TRACE] [.internal.handler.DeviceThingHandler] - Handling command '98D86321F0A6' for channel 'knx:device:941721e3:generic:MAC_Adresse'
                              2019-05-27 22:00:00.129 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec testing Keys '[ga]' for command '98D86321F0A6'
                              2019-05-27 22:00:00.131 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec key 'ga' uses expectedTypeClass 'class org.eclipse.smarthome.core.library.types.StringType' witch isInstance$
                              2019-05-27 22:00:00.133 [TRACE] [nx.internal.client.AbstractKNXClient] - writeToKNX groupAddress '1/4/2', commandSpec 'org.openhab.binding.knx.internal.channel.WriteSpecImpl@1b133bb'
                              2019-05-27 22:00:00.135 [TRACE] [nx.internal.client.AbstractKNXClient] - sendToKNX mappedValue: '98D86321F0A6' groupAddress: '1/4/2'
                              2019-05-27 22:00:00.137 [DEBUG] [nx.internal.client.AbstractKNXClient] - Wrote value '98D86321F0A6' to datapoint 'command DP 1/4/2 'knx:ip:941721e3', DPT id 16.001, low priority' (0. attempt).
                              2019-05-27 22:00:10.995 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/12' with value '[6, 4]'
                              2019-05-27 22:00:17.996 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.198' to '0/6/13' with value '[0, 0]'
                              2019-05-27 22:00:18.239 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.2' to '0/2/1' with value '[12, -100]'
                              2019-05-27 22:00:20.022 [INFO ] [ipse.smarthome.model.script.periodic] - Rule periodisch senden getriggert!
                              2019-05-27 22:00:20.031 [INFO ] [ipse.smarthome.model.script.periodic] - Item sSprache sendet it!
                              2019-05-27 22:00:20.045 [INFO ] [ipse.smarthome.model.script.periodic] - Item sAktualisierungszeit sendet 2019-05-27 21:51:03!
                              2019-05-27 22:00:20.048 [TRACE] [.internal.handler.DeviceThingHandler] - Handling command 'it' for channel 'knx:device:941721e3:generic:Sprache'
                              2019-05-27 22:00:20.050 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec testing Keys '[ga]' for command 'it'
                              2019-05-27 22:00:20.053 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec key 'ga' uses expectedTypeClass 'class org.eclipse.smarthome.core.library.types.StringType' witch isInstance$
                              2019-05-27 22:00:20.055 [TRACE] [nx.internal.client.AbstractKNXClient] - writeToKNX groupAddress '1/4/0', commandSpec 'org.openhab.binding.knx.internal.channel.WriteSpecImpl@114fd41'
                              2019-05-27 22:00:20.058 [TRACE] [nx.internal.client.AbstractKNXClient] - sendToKNX mappedValue: 'it' groupAddress: '1/4/0'
                              2019-05-27 22:00:20.061 [DEBUG] [nx.internal.client.AbstractKNXClient] - Wrote value 'it' to datapoint 'command DP 1/4/0 'knx:ip:941721e3', DPT id 16.001, low priority' (0. attempt).
                              2019-05-27 22:00:20.070 [INFO ] [ipse.smarthome.model.script.periodic] - Item sMAC_Adresse sendet 98D86321F0A6!
                              2019-05-27 22:00:20.081 [TRACE] [.internal.handler.DeviceThingHandler] - Handling command '2019-05-27 21:51:03' for channel 'knx:device:941721e3:generic:Aktualisierungszeit'
                              2019-05-27 22:00:20.087 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec testing Keys '[ga]' for command '2019-05-27 21:51:03'
                              2019-05-27 22:00:20.098 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec key 'ga' uses expectedTypeClass 'class org.eclipse.smarthome.core.library.types.StringType' witch isInstance$
                              2019-05-27 22:00:20.103 [TRACE] [nx.internal.client.AbstractKNXClient] - writeToKNX groupAddress '1/4/1', commandSpec 'org.openhab.binding.knx.internal.channel.WriteSpecImpl@12f1f05'
                              2019-05-27 22:00:20.108 [TRACE] [nx.internal.client.AbstractKNXClient] - sendToKNX mappedValue: '2019-05-27 21:51:03' groupAddress: '1/4/1'
                              2019-05-27 22:00:20.111 [DEBUG] [nx.internal.client.AbstractKNXClient] - Value '2019-05-27 21:51:03' could not be sent to the KNX bus using datapoint 'command DP 1/4/1 'knx:ip:941721e3', DPT id 16$
                              2019-05-27 22:00:20.113 [WARN ] [nx.internal.client.AbstractKNXClient] - Value '2019-05-27 21:51:03' could not be sent to the KNX bus using datapoint 'command DP 1/4/1 'knx:ip:941721e3', DPT id 16$
                              2019-05-27 22:00:20.114 [WARN ] [.internal.handler.DeviceThingHandler] - An error occurred on channel knx:device:941721e3:generic:Aktualisierungszeit: 16.001 ISO-8859-1 string (Latin 1): maximum K$
                              tuwien.auto.calimero.KNXFormatException: 16.001 ISO-8859-1 string (Latin 1): maximum KNX string length is 14 characters: 2019-05-27 21:51:03
                              at tuwien.auto.calimero.dptxlator.DPTXlator.newException(DPTXlator.java:505) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.dptxlator.DPTXlator.newException(DPTXlator.java:510) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.dptxlator.DPTXlatorString.toDPT(DPTXlatorString.java:192) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.dptxlator.DPTXlator.setValue(DPTXlator.java:186) ~[245:org.openhab.binding.knx:2.4.0]
                                      at tuwien.auto.calimero.process.ProcessCommunicatorImpl.write(ProcessCommunicatorImpl.java:358) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.client.AbstractKNXClient.sendToKNX(AbstractKNXClient.java:453) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.client.AbstractKNXClient.writeToKNX(AbstractKNXClient.java:413) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.lambda$7(DeviceThingHandler.java:229) ~[245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.withKNXType(DeviceThingHandler.java:124) [245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.withKNXType(DeviceThingHandler.java:118) [245:org.openhab.binding.knx:2.4.0]
                                      at org.openhab.binding.knx.internal.handler.DeviceThingHandler.handleCommand(DeviceThingHandler.java:224) [245:org.openhab.binding.knx:2.4.0]
                                      at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) ~[?:?]
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                                      at java.lang.reflect.Method.invoke(Method.java:497) ~[?:?]
                                      at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at com.sun.proxy.$Proxy150.handleCommand(Unknown Source) [245:org.openhab.binding.knx:2.4.0]
                                      at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [109:org.eclipse.smarthome.core.thing:0.10.0.oh240]
                                      at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [109:org.eclipse.smarthome.core.thing:0.10.0.oh240]
                                      at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) ~[?:?]
                                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
                                      at java.lang.reflect.Method.invoke(Method.java:497) ~[?:?]
                                      at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.10.0.oh240]
                                      at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
                                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
                                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
                                      at java.lang.Thread.run(Thread.java:745) [?:?]
                              2019-05-27 22:00:20.126 [TRACE] [.internal.handler.DeviceThingHandler] - Handling command '98D86321F0A6' for channel 'knx:device:941721e3:generic:MAC_Adresse'
                              2019-05-27 22:00:20.128 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec testing Keys '[ga]' for command '98D86321F0A6'
                              2019-05-27 22:00:20.130 [TRACE] [.knx.internal.channel.KNXChannelType] - getCommandSpec key 'ga' uses expectedTypeClass 'class org.eclipse.smarthome.core.library.types.StringType' witch isInstance$
                              2019-05-27 22:00:20.131 [TRACE] [nx.internal.client.AbstractKNXClient] - writeToKNX groupAddress '1/4/2', commandSpec 'org.openhab.binding.knx.internal.channel.WriteSpecImpl@1e0171c'
                              2019-05-27 22:00:20.133 [TRACE] [nx.internal.client.AbstractKNXClient] - sendToKNX mappedValue: '98D86321F0A6' groupAddress: '1/4/2'
                              2019-05-27 22:00:20.135 [DEBUG] [nx.internal.client.AbstractKNXClient] - Wrote value '98D86321F0A6' to datapoint 'command DP 1/4/2 'knx:ip:941721e3', DPT id 16.001, low priority' (0. attempt).
                              2019-05-27 22:00:23.981 [TRACE] [nx.internal.client.AbstractKNXClient] - Received a Group Write telegram from '1.1.6' to '0/2/2' with value '[12, -94]'
                              Weiterhin wird besteht noch das Problem, das bei Sprache und MAC nicht nur it bzw. die MAC Adresse übertragen wird, es werden auch noch irgendwelche Zahlen mitgesendet. Gibt es einen Möglichkeit diese noch zu entfernen damit ich reinen Werte auf denn Bus bekomme?
                              Grüsse aus Berlin
                              Steffen


                              Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

                              Kommentar


                                Bilder vergessen


                                Angehängte Dateien
                                Grüsse aus Berlin
                                Steffen


                                Die Wahrheit sollte man dem anderen wie einen Mantel hin halten, so das er hinein schlüpfen kann und sie ihm nicht wie einen nassen Lappen um die Ohren hauen.

                                Kommentar

                                Lädt...
                                X