Ankündigung

Einklappen
Keine Ankündigung bisher.

Openhab sendet seit Update von 2.3.0 auf 2.5.3 keine Temp.-werte mehr auf den KNX-Bus

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

    Openhab sendet seit Update von 2.3.0 auf 2.5.3 keine Temp.-werte mehr auf den KNX-Bus

    Ich habe seit dem Update von 2.3.0 auf 2.5.3 das Problem, dass die Temperaturwerte, die von Openhab auf den KNX-Bus gesendet werden sollen, nicht ankommen. Temperaturen können aber gelesen werden. Bspw. von den Gira Tastsensoren. Gab es da vielleicht in den letzten Versionen eine Änderung im Binding? Bisher hatte meine Config ohne Probleme geklappt.

    Zur Erklärung: Die betreffenden Temperaturen hole ich von 1wire-Sensoren, lese sie mit einem Bash-script aus und wandle sie von String in Number um. Danach möchte ich sie mit ITEMNAME.sendcomand (TEMPERATURWERT) auf den Bus schicken. Da kommt aber nichts an. Meine Config:

    Die Rule, die das senden an den KNX-Bus veranlasst:
    Code:
    rule "Update 1wire Temperaturen zum KNX-Bus"
    when
    Time cron "0 0/2 * * * ?" or // alle 2 Minuten
    System started // wenn Openhab gestartet wird
    then
    TempSZ_KNX.sendCommand(Float::parseFloat(String::format("%s",TempSZ1w_Output.state).replace(' ','')))
    Thread::sleep(5000)
    TempSZ_KNX.sendCommand(TempSZ_KNX.state as Number)
    end
    Die entsprechenden Items dazu:
    Code:
    String TempSZ1w_Output "Schlafen [%.1f °C]" <temperature> (gRTemperatur1w) {channel="exec:command:tempSZ_1w:output"}
    
    Number:Temperature TempSZ_KNX "Schlafen [%.1f °C]" <temperature> (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen) {channel="knx:device:bridge:virtual:tempSZ"}
    Die Things:
    Code:
    Bridge knx:ip:bridge [
    ipAddress="xxx.xxx.xxx.xxx",
    portNumber=3671,
    localIp="xxx.xxx.xxx.xxx",
    type="TUNNEL",
    readingPause=100,
    responseTimeout=15,
    readRetriesLimit=4,
    autoReconnectPeriod=1,
    localSourceAddr="0.0.0"
    ]{
    Thing device virtual "VirtualKNX" [
    address="1.1.200", // Adresse nicht vergeben
    fetch=false,
    pingInterval=600
    ] {
    //Temperaturwerte von 1wire Sensoren
    Type number : tempSZ "Raumtemperatur Schlafen" [ ga="9.001:3/0/50" ]
    }
    }
    exec:command:tempSZ_1w "TempSZ_1w" [command="bash /scripts/wiretemp.sh 201 28-0115c274acff", interval=60, timeout=5, autorun=false]
    der aktuelle Eintrag in der events.log
    Code:
    2020-03-26 15:04:32.090 [ome.event.ItemCommandEvent] - Item 'TempSZ_KNX' received command 23.12 °C
    2020-03-26 15:04:32.131 [nt.ItemStatePredictedEvent] - TempSZ_KNX predicted to become 23.12 °C
    und die openhab.log sagt nichts dazu.

    Ich habe auch schon versucht, in einer Rule einen fixen Wert mit
    Code:
    TempSZ_KNX.sendCommand(25)
    zu senden, aber auch da kommt nichts auf den Bus an.

    Sonst funktioniert aber alles auf Bezug zum KNX.Bus, Licht schalten, Sollwerte verschieben, Helligkeit auslesen, Binärkontakte Abfragen usw...


    LÖSUNG (Danke udo1toni)

    Das Item war falsch definiert. Aus
    Code:
    Number:Temperature TempSZ_KNX "Schlafen [%.1f °C]" <temperature> (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen)
    muss
    Code:
    Number TempSZ_KNX "Schlafen [%.1f °C]" <temperature> (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen)
    werden.
    Zuletzt geändert von Tt49; 27.03.2020, 07:23. Grund: Problem gelöst, Lösung in den ersten Post eingetragen.

    #2
    KNX2 unterstützt kein UoM und hat dies auch noch nie getan. Das Item darf also nicht als Number:temperature definiert sein.

    Kommentar


      #3
      Okay, das wusste ich nicht. Hatte mich bisher ja auch nicht gestört, da es funktioniert hatte. Wie wäre die richtige Definition?

      Die Temperaturwerte der Tastsensoren kann ich aber vom KNX-Bus mit number : Temperature abrufen und in OH verarbeiten...

      Kommentar


        #4
        Wie gesagt, knx2 unterstützt kein UoM und hat das auch noch nie. Definiere das Item ohne UoM. Die Einheit kannst Du über das Label manuell hinzufügen, es ist dann aber nicht Bestandteil des Status.

        Kommentar


          #5
          Ach jetzt habe ich dich richtig verstanden. Wenn mein Item so aus sieht:
          Code:
          Number TempSZ_KNX "Schlafen [%.1f °C]" (gRTemperatur,gRHeizwerteSchlafen,gRTempSchlafen) {channel="knx:device:bridge:virtual:tempSZ"}
          ...bekomme ich auch die Werte auf den Bus. Vielen Dank! Jetzt muss meine Heizung nicht mehr teilweise im Notbetrieb laufen...
          Code:
          Number:Temperature
          ist also falsch.

          Kommentar

          Lädt...
          X