Ankündigung

Einklappen
Keine Ankündigung bisher.

Kein ON,OFF bei Helligkeitsänderung

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

    Kein ON,OFF bei Helligkeitsänderung

    Hallo, ich bin vor kurzem von OH2 auf OH3 umgestiegen.
    Mit den Rules steuer ich mit meinen KNX Tastern auch die Sonos Lautsprecher.
    Bei OH2 haben meine Rules auf den Befehl ON reagiert (bei dimmbaren Schaltungen)

    Leider reagieren die Rules nicht mehr auf die Befehle received update ON, received update OFF nicht.
    Beim Logviewer wird es aber auch nicht angezeigt:
    Code:
    2021-12-04 19:24:12.922 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Bad_Spiegel_D' received command 100
    
    2021-12-04 19:24:12.925 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Bad_Spiegel_D' predicted to become 100
    
    2021-12-04 19:24:12.930 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Bad_Spiegel_D' changed from 0 to 100
    
    2021-12-04 19:24:29.237 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'Bad_Spiegel_D' received command 0
    
    2021-12-04 19:24:29.239 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Bad_Spiegel_D' predicted to become 0
    
    2021-12-04 19:24:29.247 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Bad_Spiegel_D' changed from 100 to 0
    Bei OH3 wurde zusätzlich auch noch ON bzw. OFF angezeigt

    Das ganze funktioniert auch so
    Code:
    rule "Sonos/Bad Spiegel 7:31-22:30 AN"
        when
            Item Bad_Spiegel_D  received update 100
        then
        if  (now.toLocalTime.toSecondOfDay/60 >= 60 * 7 + 31 && (now.toLocalTime.toSecondOfDay/60 <= 60 * 22 + 30)) {
            sendCommand(Sonos_Controller_Bad, PLAY)
            sendCommand(Sonos_Volume_Bad, "12")
        }
    end
    Aber die Lautsprecher gehen ja nur an wenn ich das Licht auf 100% andimme.

    Wie kriege ich es hin, dass der LogViewer mir wieder die anzeigen ON, OFF hergibt?



    Things
    Code:
            Type dimmer        : Bad_Spiegel               "Dimmer [%d %%]"       [ switch="1.001:1/1/5", position="5.001:1/5/4+<1/4/6" ]
    Item
    Code:
    Dimmer Bad_Spiegel_D    "Bad Spiegel [%s]"              (Badezimmer)        ["Lighting"]                {channel="knx:device:bridge:aktor1:Bad_Spiegel"}
    domi1705
    Forums-Einsteiger
    Zuletzt geändert von domi1705; 04.12.2021, 19:40.

    #2
    Kann es sein, dass Du unter openHAB2 mit dem knx1 Binding gearbeitet hast?

    mit knx2 gibt es ein geändertes Verhalten, und zwar liefern empfangene knx GA nur Status, keine Befehle. Dies ist eigentlich auch das korrekte Verhalten, knx1 konnte hier nicht unterscheiden und hat es immer falsch gemacht.

    Im Fall der Steuerung anderer Geräte von knx aus will man natürlich Befehle senden und keine Status. Dafür musst Du dann die *-control Variante des Channels nutzen, also statt
    Type dimmer : Bad_Spiegel "Dimmer [%d %%]" [ switch="1.001:1/1/5", position="5.001:1/5/4+<1/4/6" ]
    schreibst Du
    Type dimmer-control : Bad_Spiegel "Dimmer" [ switch="1/1/5", position="1/4/6+1/5/4" ]
    Ein *-control Channel kann nicht als Status-Quelle dienen, da per Definition openHAB den Status hält. openHAB spielt ja hier die Rolle des Dimmers. openHAB sendet bei jedem postUpdate() den Status auf GA 1/4/6 (weil dies die erste angegebene GA ist).
    Im Channel hat es keinen Sinn, eine Status Formatierung mit anzugeben, sie wird ignoriert.

    Kommentar


      #3
      Zitat von domi1705 Beitrag anzeigen
      gs Code:

      Type dimmer : Bad_Spiegel "Dimmer [%d %%]" [ switch="1.001:1/1/5", ... ]
      Ich glaube dir fehlt die Status-GA. Beim mir sieht das folgendermaßen aus:
      Code:
      Type    dimmer  :   EG_Flur_Licht       "EG Flur"                   [ switch="0/2/203+<0/3/140", position="0/2/142+<0/3/142", increaseDecrease="0/2/141" ]
      Viele Grüße
      Robert

      Kommentar


        #4
        NEIN! Ein Channel kann nur einen Status haben. Es ist kontraproduktiv, zwei Statusquellen zu hinterlegen.

        Abgesehen davon liefert ein Dimmer Channel ohnehin als Status immer eine Zahl zurück. Innerhalb einer Rule kann man den Status auch nach OnOffType erzwingen:
        Code:
        myDimmerItem.getStateAs(OnOffType)
        was dann eben statt 0 OFF und für jeden anderen Zahlenwert ON zurückliefert. Im Trigger der Rule geht das aber nicht, man muss die Rule dann umbauen. es geht aber auch gar nicht um Dimmer, sondern die Tasten sind als Dimmersteuerung konfiguriert. Ich habe das bei mir auch so in Betrieb. Man muss sich klar machen, dass in diesem Fall openHAB als Aktor auftritt. entsprechend muss das eingehende Telegramm als Befehl gewertet werden, was über die *-control Channel problemlos geht.
        Zuletzt geändert von udo1toni; 10.01.2022, 23:10.

        Kommentar


          #5
          Ich habe mich halt an die Doku (https://www.openhab.org/addons/bindings/knx/) gehalten, da wird das genau so beschrieben..
          Wieder was gelernt.

          Kommentar


            #6
            Oh ja... das werde ich mal ändern...

            Kommentar

            Lädt...
            X