Ankündigung

Einklappen
Keine Ankündigung bisher.

Heizungssteuerung

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

    Heizungssteuerung

    Hallo,

    ich würde gerne meine Heizung über OpenHAB und nicht über die Thermostate laufen lassen. Die Temperaturen, die die Thermostate liefern kann ich bereits erfolgreich auslesen. Ich würde nun gerne die Solltemperatur für jedes Zimmer über ein Objekt in OpenHAB steuern und beim sinken der Temperatur unter den von mir eingestellten Wert das jeweilige Zimmer heizen. Hat sowas schon jemand gemacht und kann mir sagen, wie ich das umsetzen kann.

    Ein weiterer Punkt wäre dann, unterschiedliche Solltemperaturen für bestimmte Zeiten einzustellen. Z.B. Kinderzimmer tagsüber 21 Grad und nachts 18 Grad und eine entsprechende Regel zum Heizen zu bauen.

    Für die Sommerzeit oder Urlaubszeit sollte es dann je einen Schalter geben der bewirkt, dass wenn der Schalter eingeschalten ist überhaupt nicht bzw. nur auf 16 - 17 Grad geheizt wird.

    Gruß Jan

    #2
    Hi Jan,

    die Frage ist, WIE Du heizt? Schaltest Du für ein Zimmer einfach eine Heizung ein, wenn Du unter Solltemp kommst? Oder brauchst Du eine PI-Regelung, weil Du Ventile von 0-100% ansteuern möchtest?

    Grüße,
    Kai

    Kommentar


      #3
      Bei mir werden die entsprechenden Ventile bestromt, sobald das Thermostat heizen meldet. Heißt also entweder Ventil auf oder zu.

      Gruß Jan

      Kommentar


        #4
        Hallo Jan,
        ich suche eine ähnliche Lösung.
        Mein Ansatz ist es die Modi (Nacht,Standby,Komfort-Modus) des RTR umzuschalten um die Temperatur festzulegen.
        Mein Thermostat ist diese hier mit angepasster Hardware (bassierend auf der Freebus-Tasterschnitsstelle). Dessen Software kenn die verschiedenn Modis und auch der Sollwert kann verschoben werden wenn notwendig.

        Meine Überlegung war es schon eine externe Webgui einzubinden um mit einem graphischen "Cron" das Zeitprofil und Temperatur vorzugeben bzw. editieren zu können. Das Ergbnis könnte dann so aussehen:
        30 6 Mo-Fr * * rtr.sh Wohnen Komfort
        0 8 Mo-Fr * * rtr.sh Wohnen Standby
        30 8 Mo-Fr * * rtr.sh Wohnen Nacht
        0 16 Mo-Fr * * rtr.sh Wohnen Komfort
        30 23 Mo-Fr * * rtr.sh Wohnen Nacht
        usw.

        Schön währe es natürlich nicht auf eine externe Lösung zurückzugreifen sondern was das integriert ist bzw. integriert werden kann.
        Ebenso müssten Die Zeitpunkte geprüft werden um sicherzustellen das eine Fehler enthalten sind oder eine grafische Darstellung mit Balken um eine schöne Übersicht des Tages/Woche zu haben.

        Gruß
        Martin

        Kommentar


          #5
          Eine einfache Lösung gibt es da leider nicht - mit einigen gut strukturierten Regeln sollte man aber recht weit kommen können. Martin hat sich da ja schon an einigem versucht, was nicht so schlecht aussieht.

          Bzgl. GUI wird es noch schwieriger - kennt jemand von Euch evtl. eine externe Lösung, für die man über eine Integration für diesen Use Case nachdenken könnte?

          Grüße,
          Kai

          Kommentar


            #6
            Hallo Kai,
            ich Antwort die mal in diesem Beitrag nachdem du herausgefunden hast welche RTR ich benutze.
            Das gleich Problem haben auch die Leute von Smarthome.py, aber auch noch ohne GUI Lösung.
            Lösungsansatz ist hier beschrieben um zumindest beim cron noch einen Parameter mitzugeben (und Sonnenstand Verknüpfung) um bei den Regeln nicht alles mehrfach abfragen bzw. starten zu müssen.
            Wäre so etwas auch für openhab denkbar, ein Paramter für die cron-Zeile? Wenn ja, könnte man die Regel ist etwa so aufbauen:
            Code:
            [SIZE=2][COLOR=#7f0055][B][SIZE=2][COLOR=#7f0055]rule[/COLOR][/SIZE][/B]
            [LEFT][/LEFT][/COLOR][LEFT][/LEFT][/SIZE][LEFT][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"Heizung_Test_Feature_Request"[/COLOR][/SIZE][/COLOR][/SIZE][/LEFT]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]when[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// K Komfort (21°C), S=Standby (19°C), N=Nacht (17°C), F=Frost (7°C)[/COLOR][/SIZE][/COLOR][/SIZE] 
            [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 00 05 ? * MON-FRI"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "S" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 00 06 ? * MON-FRI"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "K" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 30 08 ? * MON-FRI"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "N" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 00 16 ? * MON-FRI"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "K" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 00 23 ? * MON-FRI"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "N" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 00 07 ? * SAT-SUN"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "K" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]Time[/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]cron [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"00 30 23 ? * SAT-SUN"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] cronparm = "N" [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]or[/COLOR][/SIZE][/COLOR][/SIZE][/B]
            [SIZE=2][COLOR=#7f0055][B][SIZE=2][COLOR=#7f0055]then[/COLOR][/SIZE][/B][/COLOR][/SIZE][/LEFT]
             
            [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]switch[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2](cronparm) {[/SIZE][/LEFT]
             
            [LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]case [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"K"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] : { [/SIZE]
            
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Nacht, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [LEFT][SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Standby, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Komfort, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE][SIZE=2] }[/SIZE]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]case [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"N"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] : { [/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Standby, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Komfort, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Nacht, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) }[/SIZE]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]case [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"S"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] : { [/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Komfort, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Nacht, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Standby, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) }[/SIZE]
            [B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]case [/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2][COLOR=#2a00ff][SIZE=2][COLOR=#2a00ff]"F"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] : {[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Komfort, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Nacht, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]0[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2])[/SIZE]
            [SIZE=2][I]postUpdate[/I](Heizung_EG_Wohnen_Frost, [/SIZE][SIZE=2][COLOR=#7d7d7d][SIZE=2][COLOR=#7d7d7d]1[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) }[/SIZE][/LEFT]
            [/LEFT]
            
             
             
             
             
             
             
             
             
             
             
            
            [SIZE=2]}[/SIZE][LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]end[/COLOR][/SIZE][/COLOR][/SIZE][/B][/LEFT]
            Ansonsten ist openhab eine hervorragende Arbeit.

            Gruß
            Martin

            Kommentar


              #7
              Ich taste mich gerade mal so nach und nach ran, habe aber schon das erste Problem:
              Ich habe jetzt für jedes Heizelement einen Heizungsschalter in den Items angelegt:
              Code:
              Switch Heating_GDG_Buero 	"Heizung Buero"	 	<heating>	(GDG_Buero, Heating) { knx="3/2/0"}
              Wenn ich diesen nun einschalte, reagiert der Heizungsaktor im Keller allerdings nicht, obwohl die knx-Adresse die selbe ist, wie sie auch vom Thermostat verwendet wird um zu heizen, wenn die Temperatur unter Wert x fällt.
              Habt ihr eine Idee, woran das liegen kann? Ich habe einen Theben Heizungsaktor, der von einem Gira-Thermostat angesteuert wird.

              Gruß Jan

              Kommentar


                #8
                Welchen DPT verwendet der Heizungsaktor denn und ist das wirklich ein einfaches Ein/Aus?

                Ev. musst Du den DPT noch in der Binding Konfiguration ergänzen?

                Kommentar


                  #9
                  Im Moment ist noch nicht's spezielles zugeordnet. Ich kann verschiedene Typen auswählen. Welcher wäre denn am besten? Ich sitze gerade nicht vor meinem Rechner zu Hause, aber soweit ich weiß kann ich auf/zu und noch 2-3 andere auswählen.

                  Kommentar


                    #10
                    Zitat von Jan0815 Beitrag anzeigen
                    Im Moment ist noch nicht's spezielles zugeordnet. Ich kann verschiedene Typen auswählen. Welcher wäre denn am besten?
                    Auf Seite 8 deines Aktorhandbuchs kannst du zwischen Stetig und Schaltend wählen. Stetig heißt: Prozentwert (Byte). Schaltend heißt: Ein/Aus(Bit).

                    Die DPT solltest du in der ETS gleich dem im openhab einstellen. Ich empfehle die Stetige Regelung, da die Raumtemperatur stabiler bleibt (FBH).

                    Hier mal als Beispiel meine Konfig:
                    Aktor: MDT Heizungsaktor mit integriertem Regler - heißt, der Regler bekommt die Ist-Temperatur und regelt selbst:

                    Code:
                    Number  T_Wohnen      "Wohnen-Ist [%.1f °C]" { knx="<9.001:4/0/0" }
                    Number  TSWohnen      "Wohnen-Soll [%.1f °C]" { knx="<9.001:4/2/0" }
                    Ich setze 1.3.0-Snapshot ein. Die Ist-Temperatur kommt über externe Raumcontroller (nicht-KNX) rein und wird von openhab auf den KNX gelegt.
                    In der ETS habe ich explizit die DPT festgelegt.

                    Kopf hoch, viel Erfolg - zur Zeit ist ja keine Heizzeit

                    Kommentar


                      #11
                      Also, ich kann bei der Stetigregelung diese Datentypen auswählen:
                      siehe jpg

                      Welches wäre denn der richtige?

                      Gruß Jan
                      Angehängte Dateien

                      Kommentar


                        #12
                        Normal 5.001 (%)

                        Kommentar


                          #13
                          Ok, ich habe jetzt zum Testen die Heizung in der Küche angepasst, aber der Aktor lässt sich nicht zum Heizen bewegen, was mache ich noch falsch?
                          Mein Item ist wie folgt angelegt:
                          Code:
                          Switch Heating_GEG_Kitchen 	"Heizung Kueche"	 	<heating>	(GEG_Kitchen, Heating) { knx="<5.001:1/2/5"}
                          Auf dem Busmonitor kann ich diese Daten sehen, wenn ich den Aktor per Thermostat zum heizen bewege (siehe Screenshot)

                          Aber wie bekomme ich das per Schalter in OpenHAB hin? Die Adresse 1/2/0 ist für das Thermostat, die 1/2/5 habe ich extra für OpenHAB angelegt, diese macht aber das selbe.
                          Mich irritiert auch, dass zum heizen 40% übermittelt werden. Ich finde nirgendwo eine Einstellung, die hier mitteilt, 40% heizen, zumal bei mir sowieso nur heizen oder nicht heizen möglich ist.
                          Angehängte Dateien

                          Kommentar


                            #14
                            Hab's hinbekommen. Ich mache es jetzt mit dem Zwangsheizen Objekt, damit funktioniert es.

                            Kommentar


                              #15
                              Zitat von Jan0815 Beitrag anzeigen
                              Hab's hinbekommen. ... Zwangsheizen Objekt, ...
                              ... haben sich dein Thermostat und openHAB um den Aktor gestritten? Welche DPT hat denn das Zwangsobjekt - ich vermute mal irgendeinen 1-Bit-Wert.

                              Kommentar

                              Lädt...
                              X