Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Heizungsthermostatsteuerung - Script

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorlage] Heizungsthermostatsteuerung - Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Wildbill last edited by

      Hi,

      ja die Steuerung an sich funktioniert problemlos, es sind halt nur die WARN-Meldungen im Log, die nicht so schön aussehen und die "Drohung" dass da in Zukunft was nicht mehr funktionieren könnte, weil es veraltet ist. :lol:

      Die Datenpunkte hat mir der FHEM-Adapter automatisch als string angelgt, keine Ahnung, ob noch alles funktioniert, wenn ich sie manuell auf number stelle. Das nehme ich mir mal für die nächsten Tage vor, wenn ich dabei zuhause bin. Nicht dass die Wohnung auskühlt, weil da irgendwas nicht mehr so will wie ich es gern hätte. 🙂

      Blöd, dass mein nanoCUL absolut nicht mit iobroker will und ich die ganzen alten Sachen (FS20, FHTs mit Tür-/Fensterkontakten und Elro-Steckdosen) über FHEM ansteuern muss. Aber es tut ja alles, so dass ich da momentan noch keinen Bedarf sehe, auf Homematic oder Ähnliches umzusteigen.

      Nichtsdestotrotz, Danke für Deine Unterstützung und das Skript an sich. 8-)

      Gruss, Jürgen

      1 Reply Last reply Reply Quote 0
      • W
        Wildbill last edited by

        Kurzes Update: Ich habe in iobroker die Datenpunkte desired-temp, die fhem als string angelegt hat nun auf number umgestellt, und im Skript gleich noch die Änderung "Views-manual…" von oben übernommen. Was soll ich sagen, keine Warnungen mehr im Log. Änderungen in FHEM werden sauber in iobroker übertragen und im VIS sauber angezeigt. Änderungen über die Heizungssteuerung landen ebenso sauber in FHEM und werden an die Geräte gesendet, alles, wie es sein soll. Einfach nur TOP! 8-)

        Vielen Dank

        Gruss, Jürgen

        1 Reply Last reply Reply Quote 0
        • L
          looxer01 last edited by

          Hi Juergen,

          vielen Dank für dein Feedback.

          das freut mich, besonders, weil ich zwar deine Vorgehensweise konzeptionell vorgesehen hatte allerdings entspricht dies ja nicht meiner Testumgebung. Ich selber arbeite mit den HM-Thermostaten (alte und neue) - keine IP.

          vG Looxer

          1 Reply Last reply Reply Quote 0
          • W
            Wildbill last edited by

            IP habe ich ja auch nicht. Es sind (bestimmt schon 10 Jahre alte) FHT80B. Zudem sind an den Türen/Fenstern auch noch FHT80TF-2 Kontakte verbaut. Die habe ich zwar im Skript nicht untergebracht, aber da sie direkt mit den Thermostaten verbunden sind, funktioniert ja alles trotzdem. das Skript war interessant, um per An-/Abwesenheit die Heizkörper runterzufahren. Bisher ging das zwar prinzipiell auch per hinterlegten Profilen in den Thermostaten bzw. einer vor FHEM verwendeten FHZ1000, aber das war mir irgendwie zu starr.

            Und da dachte ich, das Skript steuert streng genommen ja eh nur Datenpunkte an, mit etwas Anpassung läuft das schon. :lol:

            Und das tut es ja nun auch perfekt.

            Echt spitze.

            Gruss, Jürgen

            1 Reply Last reply Reply Quote 0
            • C
              Conquest last edited by

              @looxer01:

              Hi Juergen,

              vielen Dank für dein Feedback.

              das freut mich, besonders, weil ich zwar deine Vorgehensweise konzeptionell vorgesehen hatte allerdings entspricht dies ja nicht meiner Testumgebung. Ich selber arbeite mit den HM-Thermostaten (alte und neue) - keine IP.

              vG Looxer ` Hi Looxer, würde dein Script auch mit IP Geräten gehen? Weil ich am überlegen bin auf IP umzusteigen.

              Gruß Torsten

              1 Reply Last reply Reply Quote 0
              • L
                looxer01 last edited by

                Hi Torsten,

                im Prinzip ja, Ich habe dafür eigene Steuerflags vorgesehen. Allerdings ist das ungetestet.

                Der Teufel steckt leider im Detail. Ich habe kann schön rumgetüftelt mit den alten Thermostaten, weil die sehr eigenwillig sind.

                die DN-Thermostate reagieren im Gegensatz dazu ganz anders auf "Fenster zu" z.B.

                Keine Ahnung was da für Überraschungen mit IP kommen könnten.

                vG Looxer

                1 Reply Last reply Reply Quote 0
                • C
                  Conquest last edited by

                  Ok danke werde mir erstmal nur eins bestellen und testen gebe dir dann Bescheid ob es funktioniert.

                  Gruß Torsten

                  1 Reply Last reply Reply Quote 0
                  • L
                    looxer01 last edited by

                    @spoerl.torsten:

                    werde mir erstmal nur eins bestellen und testen gebe dir dann Bescheid ob es funktioniert. `
                    also, es wird nicht direkt funktionieren, weil ich die IP Parameter nicht eingepflegt habe (kenne sie nicht)

                    sobald du das Gerät hast, lass uns dann per PN die Infos austauschen. Sollten wir hinkriegen (hoffe ich doch 😉

                    vG Looxer

                    1 Reply Last reply Reply Quote 0
                    • L
                      looxer01 last edited by

                      Hi Torsten,

                      noch eine Frage. Beabsichtigst du auch Fenstersensoren, bzw ein Wandthermostat verknüpfen ?

                      IP zu IP ist das ja kein Problem. Das script kann theoretisch auch einen HM Fenstersensor mit IP verknüpfen.

                      Allerdings würde ich eine Gruppenbildung vorziehen.

                      PS: die groesste Hürde für mich ist, dass die IP Geräte keine Lan-Gateways mögen

                      vG Looxer

                      1 Reply Last reply Reply Quote 0
                      • C
                        Conquest last edited by

                        Ja es sollen auch noch Fenstersensoren usw dazukommen aber alles IP. Mir gefällt das Design der IP-Geräte einfach besser außerdem scheint es so das für das alte Homematic keine neuen Produkte kommen. Das einzige was ich mir nicht als IP holen werde ist der Access Point da ich nicht komplett von einer Cloud abhängig sein will.

                        Was meinst du mit sie mögen keine Lan-Gateways?

                        Gruß Torsten

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          @spoerl.torsten:

                          Was meinst du mit sie mögen keine Lan-Gateways? `
                          HM-IP Geräte können nur an die CCU angelernt werden.

                          Gruß

                          Rainer

                          1 Reply Last reply Reply Quote 0
                          • P
                            pix last edited by

                            @looxer01:

                            Ja genau. Einmal manuell loeschen

                            Gesendet von meinem SM-G935F mit Tapatalk `
                            Hallo,

                            das kann man leichter pflegen, wenn man den forceCreate-Parameter mit übergibt. Er wird an dritter Stelle, nach Namen und Wert gesetzt. Ich nutze dazu in meinen Scripts eine Boolean-Variable (und nenn sie fC).

                            const fC = true;
                            createState(State, false,  fC, {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset'  , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
                            

                            So wird das Objekt bei jedem Neustart des Scrips neu angelegt.

                            1 Reply Last reply Reply Quote 0
                            • T
                              tempestas last edited by

                              @pix:

                              @looxer01:

                              Ja genau. Einmal manuell loeschen

                              Gesendet von meinem SM-G935F mit Tapatalk `
                              Hallo,

                              das kann man leichter pflegen, wenn man den forceCreate-Parameter mit übergibt. Er wird an dritter Stelle, nach Namen und Wert gesetzt. Ich nutze dazu in meinen Scripts eine Boolean-Variable (und nenn sie fC).

                              const fC = true;
                              createState(State, false,  fC, {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset'  , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
                              

                              So wird das Objekt bei jedem Neustart des Scrips neu angelegt. `

                              Und wieder zeigt sich, dass einfach mal querlesen ohne gezieltes Interesse hilfreich ist. Das Thema Heizungssteuerung ist für mich nicht relevant, aber dieser Post war (wie so häufig) sehr hilfreich 🙂

                              1 Reply Last reply Reply Quote 0
                              • P
                                pix last edited by

                                Hallo Looxer,

                                ich habe das Skript installiert und teste gerade. Es ist sehr vielversprechend und genau das, was ich gesucht habe. Vielen Dank für die tolle Arbeit.

                                Ich habe die Version 0.76 vom ersten Post in diesem Thread. Da gibt es sicher schon ein neueres. Vielleicht mach es Sinn für Dich, deine großen Skripte auch in Github zu pflegen. Dort kann man leicht auch Veränderungen sehen. Textdateien zum Download im Forum sind dann nicht mehr nötig. Probleme mit inkompatiblen Editoren sind dann gelöst.

                                Ich nutze nur ein einen (neuen) HM-Heizkörperregler HM-CC-RT-DN. Der ist im Bad. Also habe ich alle Räume auskommentiert und nur "Bad" übrig" gelassen. In einigen anderen Räumen sind trotzdem "alte" Heizkörperwandthermostate HM-CC-TC zur Temp/Feucht-Anzeige aufgestellt. Sie sind auch dem Gewerk Heizung zugeordnet, das sollte ich ändern, denn sie verursachen viel Müll im Log.

                                Für meine Heizungsview habe ich deine Vorlage etwas angepasst. Einige HTML-Widgets, die nur eine Label-Funktion haben, sind überflüssig, da die HTML-Widgets für Wert i.d.R. auch noch HTML-Felder für Text vor und nach dem Wert bieten ("voranstellen HTML" und "HTMLanhängen". Da ich nur einen Regler verwende, habe ich auch einige Daten des Reglers direkt in den Bereich "Status" übernommen (Valvestate, Modus, …). Im Dropdown Minimaltemperatur habe ich die Kommatrennung durch einen Punkt ersetzt (in der Werteliste, Auswirkungen noch nicht getestet). Das würd ich für eine einheitliche Darstellung auch noch bei den Profileinstellungen machen.

                                Hier ein Screenshot:

                                Den unteren Bereich muss ich noch gestalten. Ich zerbreche mir den Kopf, wie ich den aktuellen Solltemperatur Zeitabschnitt GRAFISCH in VIS darstellen kann... 261_bildschirmfoto_2017-09-21_um_11.10.07.jpg

                                Nochmal: Herzlichen Dank für das tolle Skript!

                                Viele Grüße

                                Pix

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  @tempestas:

                                  Und wieder zeigt sich, dass einfach mal querlesen ohne gezieltes Interesse hilfreich ist. Das Thema Heizungssteuerung ist für mich nicht relevant, aber dieser Post war (wie so häufig) sehr hilfreich 🙂 `

                                  Steht aber auch in der DOku 😄

                                  https://github.com/ioBroker/ioBroker.ja … reatestate

                                  Gruß

                                  Pix

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tempestas last edited by

                                    Ja das stimmt.

                                    Aber ich bin ja eine Art IT-Dau und habe das in der Doku damals nicht verstanden bzw nicht ausreichend, als dass ich mich getraut hätte, das einzusetzen :lol:

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      @pix:

                                      Hier ein Screenshot:

                                      Den unteren Bereich muss ich noch gestalten. Ich zerbreche mir den Kopf, wie ich den aktuellen Solltemperatur Zeitabschnitt GRAFISCH in VIS darstellen kann… `

                                      super Pix,

                                      wuerdest du die view zur Verfügung stellen, wenn du fertig damit bist ? Wahrscheinlich muesste ich dann wieder zurückverallgemeinern aber die Darstellung sieht super aus.

                                      vG Looxer

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        looxer01 last edited by

                                        @pix:

                                        Ich nutze nur ein einen (neuen) HM-Heizkörperregler HM-CC-RT-DN. Der ist im Bad. Also habe ich alle Räume auskommentiert und nur "Bad" übrig" gelassen. In einigen anderen Räumen sind trotzdem "alte" Heizkörperwandthermostate HM-CC-TC zur Temp/Feucht-Anzeige aufgestellt. Sie sind auch dem Gewerk Heizung zugeordnet, das sollte ich ändern, denn sie verursachen viel Müll im Log. `

                                        Der Müll sollte aber nicht vom Heizungsscript kommen, wenn du die Raumtabelle pflegst. In diesem Fall würden auch nur Thermostate und Sensoren für das Bad geladen werden und nicht von anderen Räumen. dazu muss die Variable var UseRoomList = false; auf true gesetzt werden.

                                        vG Looxer

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          pix last edited by

                                          Hallo Looxer,

                                          ich kann hier die Widgets zur Verfügung stellen. Die View ist durch "View in Widget" Navigation nicht Export-geeignet. 261_bildschirmfoto_2017-09-21_um_13.17.25.jpg 261_pixwidgetsheizung.txt Die View ist für iPad Landscape ausgelegt. Es sind keine Gruppierungen vorhanden.

                                          Ich nutze die Javascript Instanz 1 für die Steuerung. Alle Pfade sind natürlich entsprechend anzupassen.

                                          Der Heizplan wird ausgeblendet, wenn das aktive Profil nicht 1 ist (Sichtbarkeit). Evtl. versuche ich noch, einen zweiten Heizplan für ein zweites Profil einzubauen (über Filter).

                                          Der Hintergrund "Globale Heizparameter" wird rot, wenn "Heizperiode aktiv" angehakt ist.

                                          Das Schlafzimmer-Fenster ist manuell eingefügt, hat nix mit dem Skript zu tun.

                                          Boost klappt auch noch nicht 100%ig. Die Boost Funktion startet auch beim Abwählen des Kästchens.

                                          Im Script werde ich die Anwesenheit noch mit meiner eigentlichen Anwesenheitsvariable synchronisieren.

                                          "Letzter Programmlauf" und iCal Event (nutze ich derzeit nicht) sind noch nicht so richtig untergekommen.

                                          Natürlich ließe sich noch mehr mit Warnfarben arbeiten (Batteriespannung sinkt unter Schwellenwert, Ventil zu oder offen, Soll über Ist oder umgekehrt), aber ich will nicht zu viele Bindings einbauen, da die vom Client/iPad und nicht vomioBroker Server generiert werden.

                                          Frage: Ist geplant, eine Eingabe für die Endzeit von Urlaub und/oder Party einzubauen?

                                          Gruß

                                          Pix

                                          1 Reply Last reply Reply Quote 0
                                          • L
                                            looxer01 last edited by

                                            @pix:

                                            ich kann hier die Widgets zur Verfügung stellen.

                                            ….

                                            Frage: Ist geplant, eine Eingabe für die Endzeit von Urlaub und/oder Party einzubauen? `
                                            super - Danke Pix. Schaue ich mir an.

                                            Zur Frage: das funktioniert jetzt schon mit ICAL Events. Über den Google Kalender geht das super einfach.

                                            Da müssen dann nur die Keywörter eingetragen werden und die Party kann beginnen oder enden.

                                            vG Looxer

                                            Edit: und hier nochmal die einstellbaren Keywords für die globalen Event-Parameter.

                                            Wenn also im Google Kalender eines dieser Keywords eigegeben ist, dann wird der Parameter im Script gesetzt.

                                            Natürlich muss vorher ICAL aufgesetzt werden und mit dem google Kalender verknüpft werden. Ist aber recht simpel.

                                            var EventG_UrlaubAbwesend = "Urlaub_Abwesend";

                                            var EventG_UrlaubAnwesend = "Urlaub_Anwesend";

                                            var EventG_Party = "Party";

                                            var EventG_Gaeste = "Gaeste";

                                            var EventG_Abwesend = "Keiner_DA";

                                            var EventG_Feiertag = "Feiertag";

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            569
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            34
                                            313
                                            74561
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo