Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung - Script

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorlage] Heizungsthermostatsteuerung - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
313 Beiträge 34 Kommentatoren 85.1k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • DutchmanD Offline
    DutchmanD Offline
    Dutchman
    Developer Most Active Administrators
    schrieb am zuletzt editiert von
    #89

    @looxer01

    Stimmt es das jedesmal wen das script neu gestartet wird, nicht per shedule sonder iObroker reboot oder script stop/start er alle werte ueberschreibt ?

    Ich habe z.b. fuer 2 thermostate ein profiel eingstellt und die globale anwesenheit auf true gesetzt. Wen ich jedoch jetzt dass script stoppe und wieder starte sind diese werte weg und alles wieder auf default

    Greetz,

    Dutch

    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      looxer01
      schrieb am zuletzt editiert von
      #90

      @Dutchman:

      Stimmt es das jedesmal wen das script neu gestartet wird, nicht per shedule sonder iObroker reboot oder script stop/start er alle werte ueberschreibt ? `

      Also, wenn du die Anwesenheitserkennung eingeschaltet hast, dann schaut das Script danach und überschreibt manuelle Einstellungen.

      Wenn sie nicht eingeschaltet ist, dann sollte sie erhalten bleiben.

      Hast du die Anwesenheitserkennung eingeschaltet ?

      vG Looxer

      1 Antwort Letzte Antwort
      0
      • DutchmanD Offline
        DutchmanD Offline
        Dutchman
        Developer Most Active Administrators
        schrieb am zuletzt editiert von
        #91

        @looxer01:

        @Dutchman:

        Stimmt es das jedesmal wen das script neu gestartet wird, nicht per shedule sonder iObroker reboot oder script stop/start er alle werte ueberschreibt ? `

        Also, wenn du die Anwesenheitserkennung eingeschaltet hast, dann schaut das Script danach und überschreibt manuelle Einstellungen.

        Wenn sie nicht eingeschaltet ist, dann sollte sie erhalten bleiben.

        Hast du die Anwesenheitserkennung eingeschaltet ?

        vG Looxer `

        var UseAnwesenheitserkennung = false;

        1 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          JesusC
          schrieb am zuletzt editiert von
          #92

          So, ich hab bei mir nun soweit alles lauffähig, denke ich. Bei manueller Umstellung am Thermostat erhalte ich allerdings im Log (am Beispiel Kinderzimmer)

          ! 16:59:23.048 [info] javascript.0 script.js.common.HzThSt: Routine ThermostatChange: Thermostat hm-rpc.2.MEQ1581041.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
          ! 16:59:23.048 [info] javascript.0 script.js.common.HzThSt: Routine SetTemp: ID to be updated hm-rpc.2.MEQ1581041.4.SET_TEMPERATURE Raum Kinderzimmer SollTemp = 17
          ! 16:59:23.048 [warn] javascript.0 at ManAdjustments (script.js.common.HzThSt:824:5)
          ! 16:59:23.048 [warn] javascript.0 at ThermostatChange (script.js.common.HzThSt:686:18)
          ! 16:59:23.048 [warn] javascript.0 at Object. (script.js.common.HzThSt:432:25)

          Eine Idee dazu?

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #93

            @JesusC:

            Bei manueller Umstellung am Thermostat erhalte ich allerdings im Log (am Beispiel Kinderzimmer) `

            sieht doch ok aus.

            du hast manuell eine Temperatur gesetzt. Die wurde erkannt.

            Eigentlich sollte noch die Dauer im log stehen.

            Funktioniert es denn nicht ?

            1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              JesusC
              schrieb am zuletzt editiert von
              #94

              Funktioniert. Die Warnungen irritieren mich lediglich. 🙂

              1 Antwort Letzte Antwort
              0
              • L Offline
                L Offline
                looxer01
                schrieb am zuletzt editiert von
                #95

                aaah, ok.

                setze debug auf false.

                debug ist nur dafür da, um evt Fehler zu finden.

                vG Looxer

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Smartuser
                  schrieb am zuletzt editiert von
                  #96

                  Hallo Zusammen,

                  ich taste mich auch gerade an das Script heran.

                  Es startet ohne Fehlermeldung und die Datenpunkte werden angelegt.

                  Allerdings bekomme ich bei der Übergabe eines manuellen Setpoints folgende Meldung:

                  javascript.0	2017-09-19 17:10:00.826	info	script.js.Scripte.Heizung: Ende Abarbeitung fuer Raum Erdgeschoss
                  javascript.0	2017-09-19 17:10:00.826	warn	at Object. (script.js.Scripte.Heizung:305:1)
                  javascript.0	2017-09-19 17:10:00.823	warn	at LoopRooms (script.js.Scripte.Heizung:567:13)
                  javascript.0	2017-09-19 17:10:00.823	warn	at LoopDevices (script.js.Scripte.Heizung:646:18)
                  javascript.0	2017-09-19 17:10:00.822	warn	at ManAdjustments (script.js.Scripte.Heizung:821:5)
                  javascript.0	2017-09-19 17:10:00.821	warn	Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                  

                  Könnt ihr mir sagen woran das liegt?

                  Gruß

                  Edit:

                  Noch mehr Medungen:

                  ! ````
                  javascript.0 2017-09-19 17:32:36.435 warn at Object. (script.js.Scripte.Heizung:429:25)
                  javascript.0 2017-09-19 17:32:36.434 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                  javascript.0 2017-09-19 17:32:36.434 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                  javascript.0 2017-09-19 17:32:36.434 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                  javascript.0 2017-09-19 17:32:36.432 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                  javascript.0 2017-09-19 17:32:32.366 warn at Object. (script.js.Scripte.Heizung:429:25)
                  javascript.0 2017-09-19 17:32:32.365 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                  javascript.0 2017-09-19 17:32:32.365 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                  javascript.0 2017-09-19 17:32:32.364 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                  javascript.0 2017-09-19 17:32:32.362 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                  javascript.0 2017-09-19 17:32:31.691 warn at Object. (script.js.Scripte.Heizung:429:25)
                  javascript.0 2017-09-19 17:32:31.691 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                  javascript.0 2017-09-19 17:32:31.690 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                  javascript.0 2017-09-19 17:32:31.690 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                  javascript.0 2017-09-19 17:32:31.688 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                  javascript.0 2017-09-19 17:32:26.750 warn at Object. (script.js.Scripte.Heizung:429:25)
                  javascript.0 2017-09-19 17:32:26.750 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                  javascript.0 2017-09-19 17:32:26.750 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                  javascript.0 2017-09-19 17:32:26.749 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                  javascript.0 2017-09-19 17:32:26.747 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                  javascript.0 2017-09-19 17:32:22.460 info script.js.Scripte.Heizung: Routine ThermostatChange: Thermostat hm-rpc.0.OEQ0239752.4.SET_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                  javascript.0 2017-09-19 17:32:18.765 warn at Object. (script.js.Scripte.Heizung:429:25)
                  javascript.0 2017-09-19 17:32:18.765 warn at ThermostatChange (script.js.Scripte.Heizung:683:18)
                  javascript.0 2017-09-19 17:32:18.765 warn at ManAdjustments (script.js.Scripte.Heizung:862:5)
                  javascript.0 2017-09-19 17:32:18.764 warn Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.

                  
                  "Raum undefined Thermostat" ? :shock:
                  1 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    looxer01
                    schrieb am zuletzt editiert von
                    #97

                    @Smartuser:

                    Allerdings bekomme ich bei der Übergabe eines manuellen Setpoints folgende Meldung: `

                    Hi,

                    Sieht nach einem Fehler im Script aus. Der datenpunkt wird als boal angelegt, solle aber nummer sein.

                    Habe ich für die nächste version korrigiert.

                    hier ist die Stelle:

                        State =  RoomPath  + "View_Manually_Adjusted";   
                        createState(State, false,  {read: true, write: true, type: 'boolean', name: 'Zeitstempel Temperatur Absenkung bei Verschluss offen'  , desc: 'Zeitstempel wenn ein Raum durch Fensteroeffnung auf Absenkung gestellt wurde'});
                    
                    

                    soll heissen:

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

                    Das Script funktioniert zwar trotzdem, ist aber unschön so.

                    das undefined Thermostat ist noch eine unschöne log Meldung. Hat aber keine Auswirkung. Werde ich ebenfalls entfernen

                    vG Looxer

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      Smartuser
                      schrieb am zuletzt editiert von
                      #98

                      @looxer01

                      Erstmal vielen Dank für die schnell Antwort!

                      Ich habe die Zeile nun ersetzt:

                      State =  RoomPath  + "View_Manually_Adjusted";   
                          //createState(State, false,  {read: true, write: true, type: 'boolean', name: 'Zeitstempel Temperatur Absenkung bei Verschluss offen'  , desc: 'Zeitstempel wenn ein Raum durch Fensteroeffnung auf Absenkung gestellt wurde'});
                          createState(State, false,  {read: true, write: true, type: 'number', name: 'Im View manuell eingestellte Temperatur - 0=reset'  , desc: 'Im View manuell eingestellte Temperatur - 0=reset'});
                      

                      Leider kommt die Meldung immer noch:

                      javascript.0	2017-09-19 18:30:00.919	warn	at Object. (script.js.Scripte.Heizung:305:1)
                      javascript.0	2017-09-19 18:30:00.919	warn	at LoopRooms (script.js.Scripte.Heizung:567:13)
                      javascript.0	2017-09-19 18:30:00.918	warn	at LoopDevices (script.js.Scripte.Heizung:646:18)
                      javascript.0	2017-09-19 18:30:00.917	warn	at ManAdjustments (script.js.Scripte.Heizung:862:5)
                      javascript.0	2017-09-19 18:30:00.916	warn	Wrong type of javascript.0.Heizung.Heizplan.Erdgeschoss.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                      

                      Muss der Datenpunkt nochmal entfernt werden, damit er "richtig" angelegt wird?

                      Gruß

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        looxer01
                        schrieb am zuletzt editiert von
                        #99

                        Ja genau. Einmal manuell loeschen

                        Gesendet von meinem SM-G935F mit Tapatalk

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          Smartuser
                          schrieb am zuletzt editiert von
                          #100

                          @looxer01:

                          Ja genau. Einmal manuell loeschen

                          Gesendet von meinem SM-G935F mit Tapatalk `
                          Danke dir! 🙂

                          Meldungen sind weg.

                          Ich stell mal alles ein und komm dann mit neuen Fragen wieder 😉

                          Gruß

                          1 Antwort Letzte Antwort
                          0
                          • W Offline
                            W Offline
                            Wildbill
                            schrieb am zuletzt editiert von
                            #101

                            Hi,

                            dann meld ich mich auch noch schnell. Ich habe auch die Warn-Meldungen im Log, allerdings jedesmal, wenn das Skript die Temperaturen anpasst (bei Kommen/Gehen oder Zeitplan). Hier ein Auszug aus dem Log:

                            ! ````
                            javascript.0 2017-09-19 15:00:00.084 warn at Object. (script.js.common.Heizung:307:1)
                            javascript.0 2017-09-19 15:00:00.084 warn at LoopRooms (script.js.common.Heizung:569:13)
                            javascript.0 2017-09-19 15:00:00.084 warn at LoopDevices (script.js.common.Heizung:650:13)
                            javascript.0 2017-09-19 15:00:00.084 warn at ExecuteTempDetermination (script.js.common.Heizung:1013:1)
                            javascript.0 2017-09-19 15:00:00.083 warn at SetTemp (script.js.common.Heizung:1228:5)
                            javascript.0 2017-09-19 15:00:00.083 warn Wrong type of fhem.0.FHT_Wohnzimmer.desired-temp: "number". Please fix, while deprecated and will not work in next versions.

                            
                            Da muss ich ja an anderer Stelle editieren? Die "desired-temp"-Datenpunkte sind bei mir vom Typ Zeichenkette/string und liegen unter fhem0…, da alle FS20-Geräte bei mir den Weg iobroker<>FHEM-Adapter gehen.
                            
                            Wo im Skript muss ich anpassen und auf was?
                            
                            Danke schonmal.
                            
                            Gruss, Jürgen
                            1 Antwort Letzte Antwort
                            0
                            • L Offline
                              L Offline
                              looxer01
                              schrieb am zuletzt editiert von
                              #102

                              @Wildbill:

                              Da muss ich ja an anderer Stelle editieren? `
                              Hi,

                              na ja, im Script ist da nichts zu machen. Es wird eine Zahl gespeichert und es muss auch eine Zahl sein.

                              Dein Datenpunkt ist aber ein String. Ich nehme mal an, dass du die Datenpunkte im script so angepasst hast, dass die so angesteuert werden.

                              Du könntest doch deinen FHEM Datenpunkt auf "number" stellen - oder spricht was dagegen ?

                              vG Looxer

                              1 Antwort Letzte Antwort
                              0
                              • W Offline
                                W Offline
                                Wildbill
                                schrieb am zuletzt editiert von
                                #103

                                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 Antwort Letzte Antwort
                                0
                                • W Offline
                                  W Offline
                                  Wildbill
                                  schrieb am zuletzt editiert von
                                  #104

                                  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 Antwort Letzte Antwort
                                  0
                                  • L Offline
                                    L Offline
                                    looxer01
                                    schrieb am zuletzt editiert von
                                    #105

                                    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 Antwort Letzte Antwort
                                    0
                                    • W Offline
                                      W Offline
                                      Wildbill
                                      schrieb am zuletzt editiert von
                                      #106

                                      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 Antwort Letzte Antwort
                                      0
                                      • C Offline
                                        C Offline
                                        Conquest
                                        schrieb am zuletzt editiert von
                                        #107

                                        @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 Antwort Letzte Antwort
                                        0
                                        • L Offline
                                          L Offline
                                          looxer01
                                          schrieb am zuletzt editiert von
                                          #108

                                          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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          417

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe