Ankündigung

Einklappen
Keine Ankündigung bisher.

Openhab weiterleitung

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

    Openhab weiterleitung

    Hallo, Ich versuche seit langem Werte von Openhab auf den Knx zu bekommen.

    Ich scheitere zum Beispiel daran die Luftfeuchtigkeit von Openhab über das Zigbee2mqtt binding, auf den bus zu bekommen habe es schon mit vearschiedenen Rules versucht doch leider hatte ich keinen Erfolg.

    #2
    Also um mal etwas zu nörgeln: mit Zigbee2mqtt kannst Du nichts nach knx schicken, dafür musst Du schon das knx Binding bemühen.

    Aber Du willst wahrscheinlich eher darauf hinaus, dass die Werte von zigbee kommen und Du Zigbee2mqtt nutzt, um die Werte auszulesen.
    Zigbee2mqtt ist kein Bestandteil von openHAB und es handelt sich nicht um ein Binding. Wenn Du Zigbee2mqtt nutzt, brauchst Du einen mqtt Broker, an den Zidbee2mqtt die Werte publizieren kann.
    Wenn Die Werte im Broker angekommen sind, brauchst Du ein Binding, damit die Werte in openHAB landen, das passiert über das mqtt Binding.
    openHAB erhält bei korrekter Konfiguration automatisch alle Werte, die von den Sensoren über Zigbee2mqtt an den Broker gesendet werden.

    Anschließend kannst Du die Werte von openHAB an den knx Bus schicken lassen, vorausgesetzt, Du hast das knx Binding installiert und korrekt eingerichtet. Die Kette sieht also so aus:

    zigbee Device --> zigbee2mqtt --> mqtt Broker --> mqtt Binding --> openHAB --> knx Binding --> knx Bus --> knx Device.


    Je nach openHAB Version ist die Vorgehensweise (bzw. die Möglichkeiten) durchaus sehr unterschiedlich.
    • Wenn Du eine Version < OH2.0 hast, koppelst Du einfach beide Bindings an dasselbe Item und openHAB erledigt den Rest.
    • Wenn Du eine Version >= OH2.0 und <= OH2.3 hast, wirst Du vermutlich eine Rule verwenden müssen, um beim Eintreffen eines Wertes auf einem Item gezielt den Wert auf ein anderes Item weiterzugeben.
    • Wenn Du eine Version >= OH2.4 hast, kannst Du Profiles nutzen, um auf Rules zu verzichten.
    Zuletzt geändert von udo1toni; 22.05.2019, 17:51.

    Kommentar


      #3
      Guten Morgen,
      Danke für die Antwort. Ich habe das mqtt und knx Binding installiert. Auf OpenHab 2.4 bekomme ich die werte. Das knx Binding ist auch korrekt eingerichtet.

      Da ich Openhab 2.4 installiert habe müsste ich Profiles benützen, was ist Profiles ????.

      Das mit dem koppeln habe ich ebenfalls versucht, da bekomme ich nur eine Fehlermeldung im Log.

      Was müsste ich eigentlich für einen DTP bei Feuchtigkeit in % verwenden in der ETS ist es der 9.007, der ja laut knx Binding nicht zur Verfügung steht.

      Kommentar


        #4
        Zitat von mani1896 Beitrag anzeigen
        Guten Morgen,
        Danke für die Antwort. Ich habe das mqtt und knx Binding installiert.
        Welche Version? MQTT2? knx2?
        Auf OpenHab 2.4 bekomme ich die werte.
        Das ist schon mal die halbe Miete... Welchen Itemtyp hast Du für die ankommenden Werte? Number wäre prima...
        Das knx Binding ist auch korrekt eingerichtet.
        Ja, hab ich nur der Vollständigkeit halber erwähnt. Korrekt heißt, Du kannst werte von knx in openHAB darstellen und von openHAB aus Devices am knx-Bus steuern, prima.
        Da ich Openhab 2.4 installiert habe müsste ich Profiles benützen, was ist Profiles ????.
        guggst Du: https://www.openhab.org/docs/configu....html#profiles Allerdings ist das eine recht neue Funktionalität, dementsprechend ist die Doku dazu zumindest etwas wackelig.
        Das mit dem koppeln habe ich ebenfalls versucht, da bekomme ich nur eine Fehlermeldung im Log.
        Welche?
        Was müsste ich eigentlich für einen DTP bei Feuchtigkeit in % verwenden in der ETS ist es der 9.007, der ja laut knx Binding nicht zur Verfügung steht.
        Wie kommst Du darauf? Im Sourcecode ist 9.007 vorhanden (Zeile 265): https://github.com/openhab/openhab2-...ypeMapper.java

        Kommentar


          #5
          Zitat von udo1toni Beitrag anzeigen
          Welche Version? MQTT2? knx2?

          Ja alle Version 2.

          Das ist schon mal die halbe Miete... Welchen Itemtyp hast Du für die ankommenden Werte? Number wäre prima...

          Ja verwende Number
          Number GF_LivingRoom_Feuchtigkeit {channel="knx:device:bridge:generic:GF_LivingRoom_ Feuchtigkeit", channel="mqtt:topic:broker:badezimmersensor:humidi ty"}
          Type number : GF_LivingRoom_Feuchtigkeit "Wohnzimmer Feuchtigkeit" [ ga="9.007:<9/0/0" ]


          Ja, hab ich nur der Vollständigkeit halber erwähnt. Korrekt heißt, Du kannst werte von knx in openHAB darstellen und von openHAB aus Devices am knx-Bus steuern, prima.

          guggst Du: https://www.openhab.org/docs/configu....html#profiles Allerdings ist das eine recht neue Funktionalität, dementsprechend ist die Doku dazu zumindest etwas wackelig.

          Super Danke muss ich mich einlesen. Meine Anforderung ist das ich die werte über den MQTT Brocker auf Openhab bekomme und sie gerne auf den MDT Glas Taster darstellen würde.

          Das mit dem koppeln habe ich ebenfalls versucht, da bekomme ich nur eine Fehlermeldung im Log.

          Welche?

          Jetzt hab ich ein eigenes Item angelegt, da bekomme ich jetzt keine Fehlermeldung mehr aber auch keine Daten am KNX.

          10:08:13.661 [INFO ] [smarthome.event.ItemStateChangedEvent] - GF_LivingRoom_Feuchtigkeit changed from 95.47 to 84.59



          Wie kommst Du darauf? Im Sourcecode ist 9.007 vorhanden (Zeile 265): https://github.com/openhab/openhab2-...ypeMapper.java

          Danke habe bist jetzt bezüglich DTP immer bei der Doku beim KNX Binding nachgeschaut.

          Kommentar


            #6
            Zitat von mani1896 Beitrag anzeigen
            Code:
            Type number : GF_LivingRoom_Feuchtigkeit "Wohnzimmer Feuchtigkeit" [ ga="9.007:<9/0/0" ]
            Der Typ muss eigentlich number-control sein, denn openHAB tritt hier gegenüber knx als Sensor auf.
            Danke habe bist jetzt bezüglich DTP immer bei der Doku beim KNX Binding nachgeschaut.
            Na wenn man danach ginge, gäbe es ja praktisch gar keine unterstützten DPT Die Liste ist halt etwas länglich, aber wenn man die Organisation des Source-Codes einmal durchschaut hat, kann man solche Informationen ganz gut dort finden.

            Kommentar


              #7
              So hab leider erst jetzt Zeit gehabt um es zu probieren.
              In Openhab wird jetzt das Item aktualisiert, aber leider nicht auf den bus geschickt.
              kann es daran Liegen das ich das KNX 2 Binding auf Tunnel habe ?

              Number LivingRoom_Feuchtigkeit "Wohnzimmer Feuchtigkeit KNX [%d %%]" <humidity> (GF_Heiz) {channel="mqtt:topic:broker:badezimmersensor:humid ity", channel="knx:device:bridge:zigbee:GF_LivingRoom_Fe uchtigkeit" [profile="follow"] }
              Thing device zigbee [ ]
              {
              Type number-control : GF_LivingRoom_Feuchtigkeit "Wohnzimmer Feuchtigkeit" [ ga="9.007:9/0/0" ]
              }
              }

              Kommentar


                #8
                Nein, die Art der Kopplung mit dem Bus hat damit nichts zu tun. Falls es mit dem Profile nicht funktioniert, kannst Du immer noch auf eine Rule ausweichen (dazu müssen die beiden Channel an unterschiedliche Items gelinkt werden).

                Kommentar


                  #9
                  Das Item mit den beiden channels bekommt ja die Werte nur kann ich das Item in der Ets nicht auslesen, oder bekomme werte von OpenHAB.

                  Kommentar


                    #10
                    Ja, offensichtlich wird der Wert nicht in Richtung knx gesendet. Das könntest Du mit einer Rule erzwingen.

                    Kommentar


                      #11
                      Wie müsste denn die Rule ausschauen ?

                      Kommentar


                        #12
                        Wenn das eine Item sich ändert, sendet die Rule den Wert an das andere Item. Z.B.:
                        Code:
                        rule "Sensorwert nach knx weiterleiten"
                        when
                            Item MySensorItem changed
                        then
                            MyknxItem.sendCommand(MySensorItem.state as Number)
                        end
                        Wobei immer zu berücksichtigen ist, dass beide Items dimensionslos sind.

                        Kommentar


                          #13
                          Danke

                          Kommentar


                            #14
                            Hallo Leider ohne Erfolg,
                            bekomme noch immer keine Werte aber auch keine Fehler Meldung...

                            Code:
                            // Feuchte Wohnzimmer KNX
                            rule "Feuchte WZ KNX"
                            when
                            Item HumidityWoh changed
                            then
                            LivingRoom_Feuchtigkeit.sendCommand(HumidityWoh.state as Number)
                            end
                            Code:
                            Number LivingRoom_Feuchtigkeit "Wohnzimmer Feuchtigkeit KNX [%d %%]" <humidity> (GF_Heiz) {channel="knx:device:bridge:zigbee:controlGF_LivingRoom_Feuchtigkeit" }
                            Code:
                            Bridge knx:ip:bridge [
                            ipAddress="192.168.0.254",
                            portNumber=3671,
                            localIp="192.168.0.253",
                            type="TUNNEL",
                            readingPause=50,
                            responseTimeout=10,
                            readRetriesLimit=3,
                            autoReconnectPeriod=1,
                            localSourceAddr="1.1.2"
                            ]
                            {
                            Thing device zigbee [ ] {
                            Type number-control : controlGF_LivingRoom_Feuchtigkeit "Wohnzimmer Feuchtigkeit" [ ga="9.007:9/0/0" ]
                            }
                            }

                            Kommentar


                              #15
                              mani1896 Konntest du das Problem lösen? Ich hab aktuell (mit OpenHab 3.1.0) genau das selbe Problem: ich will einen Feuchtigkeitswert (hier: von OpenWeatherMap) an eine KNX-Adresse (type = number-control) senden, aber egal wie ich es dreh und wende, es funktioniert nicht.

                              Theoretisch sollte es ja reichen, den KNX-Channel mit dem Follow-Profile an das bestehende Item zu binden, aber das hatte keine Wirkung. Und auch mit einer Rule klappt es nicht, ich sehe zwar in den OpenHab-Logs, dass die Rule ausgeführt und der State aktualisiert wird, aber auf dem Busmonitor ist nichts zu sehen.

                              Mit normalen Switchen besteht das Problem dagegen nicht.

                              Edit: Lösung in https://knx-user-forum.de/forum/supp...70#post1707270
                              Zuletzt geändert von Cybso; 15.11.2021, 09:53.

                              Kommentar

                              Lädt...
                              X