Ankündigung

Einklappen
Keine Ankündigung bisher.

Betreibsartumschaltung RTR über OpenHab

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

    Betreibsartumschaltung RTR über OpenHab

    Hallo Leute,

    ich hab da wieder mal eine Frage:
    Ich habe im Moment einen RTR-Regler von Merten im Einsatz.
    Regelung funktioniert auch, alles bestens.

    Nun zu meinem Probem:
    Ist es möglich, die Betriebsart per Openhab umzuschalten?
    Ich weiß, dass ich da irgendwie ein Byte an den RTR senden muss, ich weiß aber n icht genau, wie ich das anstellen muss.

    Zur Zeit habe ich nur die Komfortfunktion mit eingestellter Temperatur in Gebrauch.
    Wie muss ich es anstellen, damit ich die Temperatur nachts abgesenkt bekomme?

    Kann mir da jemand helfen?


    DAnke
    Gruß
    ThE yAnKeE

    #2
    Hi,

    ich nehme an, wir reden von KNX, oder? Natürlich ist das möglich. Du musst dir aber erst einmal im klaren werden, über welche Gruppenadresse die Umschaltung erfolgt. Dann legst du das entsprechende Items in OpenHAB an.

    Am besten, du testest das vorher mit der ETS. Wenn es funktioniert, in OH übernehmen.

    Gruß,
    thoern

    Kommentar


      #3
      Hallo,

      ich hab hier RTR von Jung im Einsatz, die ähnlich funktionieren müssten.

      In der items hab ich folgende Einträge:

      Code:
      Number Betriebsart_EG_WZ "Betriebsart" <heizung> (EG_WZ)
      Switch Betriebsart_EG_WZ_Nacht "Nacht" <heizung> (EG_WZ) { knx="1/3/0" }
      Switch Betriebsart_EG_WZ_Komfort "Komfort" <heizung> (EG_WZ) { knx="1/3/1" }
      Switch Betriebsart_EG_WZ_Standby "Standby" <heizung> (EG_WZ) { knx="1/3/3" }
      Switch Betriebsart_EG_WZ_Frostschutz "Frostschutz" <heizung> (EG_WZ) { knx="1/3/2" }
      Number Betriebsart_EG_WZ_Status "Status [(%d)]" <heizung> (EG_WZ) { knx="5.005:1/2/0" }
      Wobei natürlich die KNX-Adressen angepasst werden müssen. In der sitemap ist dementsprechend folgendes angelegt:

      Code:
      Selection item=Betriebsart_EG_WZ label="Betriebsart" mappings=[0=Komfort, 1=Standby, 2=Nacht, 3=Frostsschutz] visibility=[Sommerbetrieb!=ON]
      Um das Umschalten zu gewährleisten, brache ich noch folgende Regeln in der rules Datei:
      Code:
      rule "Betriebsart WZ umschalten - von Selection nach 1Bit"
      when
        Item Betriebsart_EG_WZ received command
      then
        if (receivedCommand == 0) {
          Betriebsart_EG_WZ_Komfort.postUpdate(ON)
          Betriebsart_EG_WZ_Standby.postUpdate(OFF)
          Betriebsart_EG_WZ_Nacht.postUpdate(OFF)
          Betriebsart_EG_WZ_Frostschutz.postUpdate(OFF)
        }
        else if (receivedCommand == 1) {
          Betriebsart_EG_WZ_Komfort.postUpdate(OFF)
          Betriebsart_EG_WZ_Standby.postUpdate(ON)
          Betriebsart_EG_WZ_Nacht.postUpdate(OFF)
          Betriebsart_EG_WZ_Frostschutz.postUpdate(OFF)
        }
        else if (receivedCommand == 2) {
          Betriebsart_EG_WZ_Komfort.postUpdate(OFF)
          Betriebsart_EG_WZ_Standby.postUpdate(OFF)
          Betriebsart_EG_WZ_Nacht.postUpdate(ON)
          Betriebsart_EG_WZ_Frostschutz.postUpdate(OFF)
        }
        else if (receivedCommand == 3) {
          Betriebsart_EG_WZ_Komfort.postUpdate(OFF)
          Betriebsart_EG_WZ_Standby.postUpdate(OFF)
          Betriebsart_EG_WZ_Nacht.postUpdate(OFF)
          Betriebsart_EG_WZ_Frostschutz.postUpdate(ON)
        }
      end
      
      rule "Abfrage Betriebsart WZ"
      when
        Item Betriebsart_EG_WZ_Status received command
      then 
        var tmp = receivedCommand as DecimalType
        var state = tmp.toBigDecimal.toBigInteger
        
        if (state.testBit(0) ) {
      	Betriebsart_EG_WZ.postUpdate(0)
        }
        else if (state.testBit(1)) {
      	Betriebsart_EG_WZ.postUpdate(1)
        } 
        else if (state.testBit(2)) {
      	Betriebsart_EG_WZ.postUpdate(2)
        } 
        else if (state.testBit(3)) {
      	Betriebsart_EG_WZ.postUpdate(3)
        }
        else {
      	Betriebsart_EG_WZ.postUpdate(1)
        }
      end
      Ich muss allerdings gestehen, dass ich nicht selber darauf gekommen bin, sondern auch Hilfe hier aus dem Forum hatte. Daher noch einmal Danke an den Support, der hier geliefert wird.

      Gruß
      Daniel

      Kommentar


        #4
        Erstmal vielen DAnk für die Antworten.

        Die Idee und Umsetzung ist echt gut.
        Nur leider kann ich die Betriebsart nur über 1byte umschalten.
        Habe ich über die ETS auch schon getestet.

        Ich habe für die Umschaltung die Gruppenadresse 7/3/1 angelegt.
        Die Rückmeldung der Umschaltung soll in der GA 7/3/2 angezeigt werden.

        Wenn ich im Gruppenmonitor folgendes auf die GA 7/3/1 schreibe, wird die Betriebsart umgestellt:

        1 - Komfort
        2 - Standby
        3 - Nacht

        Wenn ich das jetzt richtig sehe, kann ich einen Teil vom oberen Post übernehmen.

        items:

        Code:
        Number Betriebsart_EG_WZ "Betriebsart" <heizung> (EG_WZ)
        
        Number Betriebsart_EG_WZ_Status "Status [(%d)]" <heizung> (EG_WZ) { knx="5.005:1/2/0" }

        sitemap:
        Code:
        Selection item=Betriebsart_EG_WZ label="Betriebsart" mappings=[1=Komfort, 2=Standby, 3=Nacht]
        Nur wie muss dann die rule aussehen?
        irgendwie so?

        rule:
        Code:
        rule "Betriebsart WZ umschalten - von Selection nach 1Byte"
        when
          Item Betriebsart_EG_WZ received command
        then
          if (receivedCommand == 1) {
            
             "1 als 1byte auf die Gruppenadresse 7/3/1 senden"
        
          }
          else if (receivedCommand == 2) {
            
             "2 als 1byte auf die Gruppenadresse 7/3/1 senden"
        
          }
          else if (receivedCommand == 3) {
            
             "3 als 1byte auf die Gruppenadresse 7/3/1 senden"
        
          }
          
        end
        
        rule "Abfrage Betriebsart WZ"
        when
          Item Betriebsart_EG_WZ_Status received command
        then 
          var tmp = receivedCommand as DecimalType
          var state = tmp.toBigDecimal.toBigInteger
          
          if (state.testBit(0) ) {
        	Betriebsart_EG_WZ.postUpdate(0)
          }
          else if (state.testBit(1)) {
        	Betriebsart_EG_WZ.postUpdate(1)
          } 
          else if (state.testBit(2)) {
        	Betriebsart_EG_WZ.postUpdate(2)
          } 
          else if (state.testBit(3)) {
        	Betriebsart_EG_WZ.postUpdate(3)
          }
          else {
        	Betriebsart_EG_WZ.postUpdate(1)
          }
        end
        Ich weiß da im Moment nicht weiter. Wo muss ich die GA 7/3/1 angeben und wo muss ich mit der 7/3/2 hin?
        Wie kann ich per OpenHab 1byte in die GA schreiben und auslesen?

        Kann mir da jemand bei helfen?

        Gruß
        YaNkEe

        Kommentar


          #5
          Hallo,

          übernehmen kannst Du einen teil erstmal nicht.

          Zitat von Yankee0815 Beitrag anzeigen
          Erstmal vielen DAnk für die Antworten.

          Die Idee und Umsetzung ist echt gut.
          Nur leider kann ich die Betriebsart nur über 1byte umschalten.
          Habe ich über die ETS auch schon getestet.

          Ich habe für die Umschaltung die Gruppenadresse 7/3/1 angelegt.
          Die Rückmeldung der Umschaltung soll in der GA 7/3/2 angezeigt werden.

          Wenn ich im Gruppenmonitor folgendes auf die GA 7/3/1 schreibe, wird die Betriebsart umgestellt:

          1 - Komfort
          2 - Standby
          3 - Nacht

          Wenn ich das jetzt richtig sehe, kann ich einen Teil vom oberen Post übernehmen.

          items:

          Code:
          Number Betriebsart_EG_WZ "Betriebsart" <heizung> (EG_WZ)
          
          Number Betriebsart_EG_WZ_Status "Status [(%d)]" <heizung> (EG_WZ) { knx="5.005:1/2/0" }
          Hier musst Du schon die ersten Anpassungen vornehmen. Die GA 7/3/2 ersetzt in diesem Falls die 1/2/0:

          Code:
          Number Betriebsart_EG_WZ "Betriebsart" <heizung> (EG_WZ) { knx="7/3/1" }
          
          Number Betriebsart_EG_WZ_Status "Status [(%d)]" <heizung> (EG_WZ) { knx="5.005:7/3/2" }
          Versuchs mal.


          sitemap:
          Code:
          Selection item=Betriebsart_EG_WZ label="Betriebsart" mappings=[1=Komfort, 2=Standby, 3=Nacht]
          Nur wie muss dann die rule aussehen?
          irgendwie so?

          rule:
          Code:
          rule "Betriebsart WZ umschalten - von Selection nach 1Byte"
          when
            Item Betriebsart_EG_WZ received command
          then
            if (receivedCommand == 1) {
          Hier dann

          Code:
              
          Betriebsart_EG_WZ.postUpdate(1)
          Code:
               "1 als 1byte auf die Gruppenadresse 7/3/1 senden"
          
            }
            else if (receivedCommand == 2) {
              
               "2 als 1byte auf die Gruppenadresse 7/3/1 senden"
          
            }
            else if (receivedCommand == 3) {
              
               "3 als 1byte auf die Gruppenadresse 7/3/1 senden"
          
            }
            
          end
          
          rule "Abfrage Betriebsart WZ"
          when
            Item Betriebsart_EG_WZ_Status received command
          then 
            var tmp = receivedCommand as DecimalType
            var state = tmp.toBigDecimal.toBigInteger
            
            if (state.testBit(0) ) {
          	Betriebsart_EG_WZ.postUpdate(0)
            }
            else if (state.testBit(1)) {
          	Betriebsart_EG_WZ.postUpdate(1)
            } 
            else if (state.testBit(2)) {
          	Betriebsart_EG_WZ.postUpdate(2)
            } 
            else if (state.testBit(3)) {
          	Betriebsart_EG_WZ.postUpdate(3)
            }
            else {
          	Betriebsart_EG_WZ.postUpdate(1)
            }
          end
          Ich weiß da im Moment nicht weiter. Wo muss ich die GA 7/3/1 angeben und wo muss ich mit der 7/3/2 hin?
          Wie kann ich per OpenHab 1byte in die GA schreiben und auslesen?

          Kann mir da jemand bei helfen?

          Gruß
          YaNkEe
          Hoffe so wird's klarer.

          Gruß
          Daniel

          Kommentar


            #6
            Hallo,


            ich habe die rule angepasst.

            Es kommt auch die Meldung

            "Betriebsart_EG_WZ state updated to 1", wenn ich die Betreibsart Komfort auswähle.

            Es wird aber kein Befehl auf den KNX-Bus gesendet, bzw. schaltet der RTR die Betreibsart nicht um.

            Das Item sieht so aus:

            Code:
            Number Betriebsart_EG_WZ "Betriebsart" <heating> (EG_WZ) { knx="6.010:7/3/1" }
            Die rule sieht so aus:

            Code:
            /* Rule zur Auswahl der Betriebsart des Raumtemperaturreglers */
            
            rule "Betriebsart WZ umschalten - von Selection nach 1Byte"
            when
              Item Betriebsart_EG_WZ received command
            then
              if (receivedCommand == 1) {
              	
              	/*"1 als 1byte auf die Gruppenadresse 7/3/1 senden" */
              	
              	Betriebsart_EG_WZ.postUpdate(1) 
              	  
              }
              else if (receivedCommand == 2) {
                
                /*"2 als 1byte auf die Gruppenadresse 7/3/1 senden" */
            	
            	Betriebsart_EG_WZ.postUpdate(2) 
            	
            	
              }
              else if (receivedCommand == 3) {
                
                /* "3 als 1byte auf die Gruppenadresse 7/3/1 senden" */
            
            	Betriebsart_EG_WZ.postUpdate(3) 
            	
              }
              
            end

            habe ich da noch einen Fehler drin?

            Kommentar


              #7
              Hallo,

              ich glaube ich habe da schon einen Fehler gefunden:

              hier:
              Code:
              Number Betriebsart_EG_WZ "Betriebsart" <heating> (EG_WZ) { knx="6.010:7/3/1" }
              openhab versucht, die 1 als 1byte in Form von 6.010 auf den Bus in die GA 7/3/1 zu schreiben.

              ich meine, das DPT 6.010 vom KNX Binding nicht unterstützt wird.

              Ich probiere es mal aus, wenn ich den DPT auf 5.010 abändere.

              Ich werde heute abend berichten.

              Gruß
              YaNkEE

              Kommentar


                #8
                Hallo Leute,

                Das wars. Hatte den falschen DPT ausgewählt.
                Funktioniert jetzt einwandfrei...

                Kommentar

                Lädt...
                X