Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX2-Binding und OneWire-Sensoren

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

    KNX2-Binding und OneWire-Sensoren

    Hallo,

    ich hatte vor längerer Zeit auf das KNX2-Binding umgestellt und dabei die Anbindung meiner OneWire-Fußbodensensoren vergessen.
    D.h. ich habe aktuell die Temperaturen nur in OpenHab aber leider nicht auf dem KNX-Bus, was in zwei Räumen leider zu Problemen führt.

    Code:
    Number Temperature_Fussboden_KG_Buero "Fussboden Buero [%.1f °C]" <temperature> (OneWire) { onewire="deviceId=28.58C31B030000;propertyName=temperature;refreshinterval=120;ignoreReadErrors", knx="2/0/42" }
    So sah bisher mein Item für einen Sensor aus. Der Teil
    knx="2/0/42"
    Anteil funktioniert ja so nicht mehr.
    Ich vermute ich muss nun in der knx.things-Datei ein neues Thing mit den einzelnen Sensoren anlegen oder? Aber welche Adresse gebe ich denn für das Thing dann an? Oder stehe ich gerade komplett auf dem Schlauch?

    VielenDank
    Marcus

    #2
    Du musst nur das Item mit dem Channel verlinken, der zu der GA gehört.
    Falls Du einen solchen noch nicht hast, musst Du diesen Channel natürlich anlegen.
    Im aktuellen openHAB2.4 stable gibt es Profile, mit denen man bestimmen kann, die die Daten von einem Bindung zum anderen Bindung weitergereicht werden, wenn man mehrere Bindungs an eine Item linkt.
    Ich hab das selbst noch nicht ausprobiert, mangels Zeit, ich erwähne das also nur, damit Du es schon mal gehört hast
    Weiterhin tauchen gerne zwei weitere Probleme auf. Das eine Problem ist der Datentyp, den Du fast sicher mit angeben musst, damit die Temperatur korrekt auf dem Bus landet.
    Das zweite Problme ist die Sache mit number und number-control Channeln.
    Da der Sensor im onewire Bus beheimatet ist, sollte openHAB gegenüber knx als Sensor auftreten, somit wäre number-control der korrekte Channel Typ.

    Kommentar


      #3
      Hi,

      vielen Dank.
      Ich habe nun folgendes gemacht:

      1. Ich habe ein Thing anlegt mit folgender Konfiguration:
      Code:
      Thing device OneWire [
      fetch=false
      ]{
      Type number-control : Control_Temperature_Fussboden_KG_Buero "Fussboden Buero" [ga="9.001:2/0/42"]
      }
      Dazu das Item angepasst und den Channel hinzugefügt.
      Code:
      Number Temperature_Fussboden_KG_Buero "Fussboden Buero" <temperature> (OneWire) { onewire="deviceId=28.58C31B030000;propertyName=temperature;refreshinterval=120;ignoreReadErrors", channel="knx:device:bridge:OneWire:Control_Temperature_Fussboden_KG_Buero" }
      Das funktioniert auch soweit. Leider bekomme ich jetzt im Log die Meldung
      negative confirmation of 2/0/42: 2e00bde00eff123e0300800d17
      Hier habe ich gelesen, dass ich den DTP-Typ angeben soll, das habe ich gemacht, ändert aber nichts daran. Außerdem ist 9.001 für den Type number-control Default.
      Hat jemand eine Idee was ich noch machen kann?

      Vielen Dank
      Marcus

      Kommentar


        #4
        Hi,
        habe auch erst OneWire und KNX in Betrieb genommen.
        Habe hierfür ein KNX-Thing für die GAs definiert:
        Code:
        Thing device Temperatur "OneWire Temperaturen" @ "KNX" [
        fetch=false,
        pingInterval=300,
        readInterval=300
        ] {
        Type number-control : T_KG_Treppe "T_KG_Treppe Ist" [ ga="9.001:<4/1/0"]
        }
        Und in den .items die beiden Kanäle verlinkt:
        Code:
        Number T_KG_Treppe "T_KG_Treppe Ist [%.1f °C]" <temperature> (gHeizung) { channel="knx:device:bridge:Temperatur:T_KG_Treppe", channel="onewire:temperature:e409f1c9:28_7B42DE030000:temperature" }
        Für die OneWire-Devices habe ich kein Thing (in der Konfigdatei), weil diese bei mir (noch) über PaperUI gepflegt sind...

        So funktionierts bei mir und die Temperartur wird zyklisch an die GA gesendet.
        VG
        ...good byte...

        Kommentar


          #5
          Ja. Allerdings gibt es für -control channel kein read Request, entsprechend wird das < ignoriert. Da es keinen Read Request geben kann, ist ein gesetztes readInterval sinnlos. Da keine address für das Device gesetzt ist, sind pingInterfal und fetch bedeutungslos. Die korrekte Thing-Definition ist also:
          Code:
          Thing device Temperatur "OneWire Temperaturen" @ "KNX" [] {
              Type number-control : T_KG_Treppe "T_KG_Treppe Ist" [ ga="9.001:4/1/0"]
          }

          Kommentar


            #6
            Hi,

            vielen Dank für eure Hilfe.


            Soweit funktioniert alles, bis auf die Warning im Log bezüglich der negative confirmation. Hat hier vielleicht noch jemand eine Idee?

            Gruß Marcus

            Kommentar

            Lädt...
            X