Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Heizungsthermostatsteuerung - Script

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    214

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

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

[Vorlage] Heizungsthermostatsteuerung - Script

[Vorlage] Heizungsthermostatsteuerung - Script

Scheduled Pinned Locked Moved Skripten / Logik
313 Posts 34 Posters 85.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    looxer01
    wrote on last edited by
    #196

    Hi Dirk,

    es sieht so aus, dass die Thermostate nicht eingelesen werden. Daher werden auch die States nicht angelegt.

    Aendere bitte mal

    4.SET_POINT_TEMPERATURE' in 1.SET_POINT_TEMPERATURE'

    2.MANU_MODE den habe ich gar nicht gefunden - liegt aber vielleicht in einem anderen Kanal?

    4.ACTUAL_TEMPERATURE in 1.ACTUAL_TEMPERATURE

    4.CONTROL_MODE' in 1.CONTROL_MODE'

    Die Datenpunkte scheinen von Kanal 4 auf Kanal 1 gelegt worden zu sein.

    vG Looxer

    1 Reply Last reply
    0
    • D Offline
      D Offline
      Dirk
      wrote on last edited by
      #197

      Hallo Looxer,

      danke jetzt sind Datenpunkte da.

      Ich musste aber die Länge noch von 10 auf 14 ändern, da es folgende Fehlermeldung gab:

      javascript.0	2017-11-01 14:44:09.674	error	at script.js.Heizungssteuerung.P_Thermostatsteuerung:424:43
      javascript.0	2017-11-01 14:44:09.674	error	script.js.Heizungssteuerung.P_Thermostatsteuerung: TypeError: Cannot read property 'native' of null
      javascript.0	2017-11-01 14:44:09.659	warn	Object "hm-rpc.1.000A97098A" does not exist
      
      

      Jetzt läuft es und ich schaue mal ob sich auch die Werte verändern.

      Dirk

      1 Reply Last reply
      0
      • L Offline
        L Offline
        looxer01
        wrote on last edited by
        #198

        @Dirk:

        Ich musste aber die Länge noch von 10 auf 14 ändern, da es folgende Fehlermeldung gab: `

        hm-rpc.1.000A97098A" was ist das denn ? Da muesste die seriennummer stehen z.B. LEQ….. oder sieht das so bei HM-IP aus ?

        vG Looxer

        edit ´: tatsächlich steht ja im screenprint von dir. dann sind es wohl 14 Stellen bei HM_IP.

        1 Reply Last reply
        0
        • D Offline
          D Offline
          Dirk
          wrote on last edited by
          #199

          Hallo Looxer,

          noch eine Info:

          ThermostatTypeTab[3]  = ['hm-rpc.1.',  'HMIP-eTRV'       , 'Heizkoerperthermostat(HMIP)','HT',   '1.SET_POINT_TEMPERATURE',   14,      '1.SET_POINT_MODE',   false,                 '1.ACTUAL_TEMPERATURE',       '1.CONTROL_MODE',         30];
          
          

          So sieht der Eintrag jetzt bei mir aus. Geändert habe ich noch 4.Manu_Mode in 1.SET_POINT_MODE wobei 0 = Auto und 1 = Manu ist.

          Dein Programm scheint aber den Eintrag auf 3 zu setzten. ?

          VIS habe ich jetzt auch mal installiert - das sieht gut aus. Muss mich aber noch mehr beschäftigen damit.

          Dirk

          1 Reply Last reply
          0
          • L Offline
            L Offline
            looxer01
            wrote on last edited by
            #200

            Der manuelle mode wird hier gesetzt:

                   // Setzen des Thermostates in den manuellen Modus - wenn moeglich / eingestellt
                    if(ControlTab[x][7] !== false && getState(path + "." + ControlTab[x][0] + "." + "RaumParameter_ManuellModeForce").val === true ) {   // Geraet laesst sich auf MANU Schalten - im raumparameter steht auch, dass geschaltet werden soll
                        ThermMode = getState(idExtract + "." + ControlTab[x][10]).val;
                        if(ThermMode === 0 || ThermMode === 2) {                                                                                        // Pruefen ob der manuelle Modus oder Party Mode eingeschaltet ist
                          log("Geraet " + idExtract +" Raum: " + roomName + "  in den Manuellen Modus gesetzt ","info");                                                      
                          setState(idExtract + "." + ControlTab[x][7], getState(id).val);                                                                // setzen auf manuell - native boost und party werden nicht beachtet
                          writelog(roomName,id,"Thermostat in den manuellen Modus versetzt")    
                         } // endeif automode war eingeschaltet
                    } // endif pruefe ob das Geraet in den manuellen Modus geschickt werden kann und soll
            
            

            Eine 3 wird da nicht explizit gesetzt. Ich habe leider kein System im Zugriff (gehöre zu den wenigen die arbeiten )

            Ich bin mir gar nicht sicher was zu diesem Zeitpunkt aus dem getstate erhalte. Muss ich zuhause mal testen.

            Aber das erzwingen des Manuellen Modes ist ja auch irgendwie Kür, solange der Rest läuft.

            Edit: noch zur Ergänzung: Der ManuMode wird gesetzt in dem die Solltemperatur im Datenpunkt "Manu_Mode" eingetragen wird.

            Bleibt zu checken, ob das bei den IP Thermostaten auch so funktioniert

            vG Looxer

            1 Reply Last reply
            0
            • D Offline
              D Offline
              Dirk
              wrote on last edited by
              #201

              Ja die Stelle hatte ich gefunden. Da scheint das Programm auch ohne Probleme durch zu laufen.

              LOG:

              javascript.0	2017-11-01 17:35:00.564	info	script.js.Heizungssteuerung.P_Thermostatsteuerung: Ende Abarbeitung fuer Raum Elternbad
              javascript.0	2017-11-01 17:35:00.564	info	script.js.Heizungssteuerung.P_Thermostatsteuerung: Geraet hm-rpc.1.000393C99A1FE2 Raum: Elternbad in den Manuellen Modus gesetzt
              javascript.0	2017-11-01 17:30:00.551	info	script.js.Heizungssteuerung.P_Thermostatsteuerung: Ende Abarbeitung fuer Raum Elternbad
              javascript.0	2017-11-01 17:30:00.550	info	script.js.Heizungssteuerung.P_Thermostatsteuerung: Geraet hm-rpc.1.000393C99A1FE2 Raum: Elternbad in den Manuellen Modus gesetzt
              
              

              Das hat aber was mit dem VIS zu tun - glaube ich?

              Auch weil es diesen Logeintrag für das Kinderbad nicht gibt. Das Gerät hat das Programm aber erkannt und auch alle Datenpunkte angelegt.

              Im Kinderbad habe ich über die CCU aber noch nicht auf Manuel gestellt, sondern das Gerät steht noch auf Auto.

              Auch habe ich für das Kinderbad noch keine VIS - View angelegt.

              Ich stelle das mal um - schauen was passiert.

              Dirk

              1 Reply Last reply
              0
              • L Offline
                L Offline
                looxer01
                wrote on last edited by
                #202

                ich schätze, dass das setzen des manuellen Modus bei IP Geräten anders funktionert.

                siehe meinen letzten post unter "edit"

                schalten den Manuellen Mode mal aus. Damit wir nicht zu viele mögliche Fehlerquellen haben.

                @Dirk:

                uch weil es diesen Logeintrag für das Kinderbad nicht gibt. Das Gerät hat das Programm aber erkannt und auch alle Datenpunkte angelegt.

                Im Kinderbad habe ich über die CCU aber noch nicht auf Manuel gestellt, sondern das Gerät steht noch auf Auto. `

                Hast du das Logging im Script auf true gesetzt ?

                Beim starten des Programmes (also nicht beim schedule) werden alle Räume und Thermostate/Sensoren gelistet. Das ist hilfreich zu sehen, ob die Geräte überhaupt teilnehmen.

                vG Looxer

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  Dirk
                  wrote on last edited by
                  #203

                  Logging hatte ich wieder aus gestellt da ich ja jetzt weiß das die 2 Geräte Teilnehmen.

                  Es gibt auch eine direkte Reaktion:

                  javascript.0	2017-11-01 17:48:59.797	warn	at Object. (script.js.Heizungssteuerung.P_Thermostatsteuerung:429:25)
                  javascript.0	2017-11-01 17:48:59.797	warn	at ThermostatChange (script.js.Heizungssteuerung.P_Thermostatsteuerung:683:18)
                  javascript.0	2017-11-01 17:48:59.797	warn	at ManAdjustments (script.js.Heizungssteuerung.P_Thermostatsteuerung:862:5)
                  javascript.0	2017-11-01 17:48:59.797	warn	Wrong type of javascript.0.Heizung.Heizplan.Kinderbad.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.
                  javascript.0	2017-11-01 17:48:59.797	info	script.js.Heizungssteuerung.P_Thermostatsteuerung: Routine ThermostatChange: Thermostat hm-rpc.1.000393C99A2020.1.SET_POINT_TEMPERATURE Raum undefined Thermostat Solltemperatur-Aenderung erkannt
                  
                  

                  Das steht im LOG wenn ich das Heizungsthermostat auf Manuel stelle.

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    looxer01
                    wrote on last edited by
                    #204

                    Hi Dirk,

                    ok die Warnung: Wrong type of javascript.0.Heizung.Heizplan.Kinderbad.View_Manually_Adjusted: "number".

                    createState(State, 0,  {read: true, write: true, type: 'number', name: 'Datum und Zeit der letzten Tempanpassung'  , desc: 'Zeitstempel'});
                        State =  RoomPath  + "View_Manually_Adjusted";   
                    
                    

                    kannst du so im code korrigieren. Danach den Datenpunkt löschen und neuanlegen lassen. oder manuell im Datenpunkt ändern.

                    Ändert aber nix an Funktion.

                    Der Eintrag: "Thermostat Solltemperatur-Aenderung erkannt" heisst, dass das Programm davon ausgeht, dass am Thermostat abweichend eingestellt worden ist. Das kann ja initial sein. Stell das Thermostat mal auf Solltemperatur nach Heizplan oder stelle die Länge der manuellen Temperaturverstellung auf 0

                    Ansonsten sieht es aber so aus, dass es funktioniert. (laut log)

                    vG Looxer

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      hinundher
                      wrote on last edited by
                      #205

                      Hi Looxer,

                      erst mal meine Hochachtung für die Arbeit! Genau so ein Script könnte ich später mal brauchen für die Steuerung meiner FHT80b und einiger HM-Thermostate.

                      Leider bin ich noch nicht so weit da ich Einsteiger bin und die FHT80b nicht angebunden bekomme.

                      Ist hier vielleicht jemand der die alten FHT80b die mal ELV verkauft hat mit einem Busware USB-Cul verbunden hat?

                      LG

                      Wolfgang

                      1 Reply Last reply
                      0
                      • W Offline
                        W Offline
                        Wildbill
                        wrote on last edited by
                        #206

                        Hi,

                        ich habe FHT80b (und diverse andere Dinge aus der FHT/FS20-Ära) in iobroker laufen, auch in diesem Skript. Allerdings hängt der CUL (ein NanoCUL, in etwa funktionsgleich mit dem von Busware) nicht direkt in iobroker, sondern die Geräte werden mittels FHEM über den CUL angesprochen und iobroker steuert FHEM via FHEM-Adapter. Läuft einwandfrei. Ich meine auch irgendwo mal gelesen zu haben, dass iobroker nur FS20 via CUL kan, aber keine FHT. Bei mir wurde nicht einmal der CUL im iobroker erkannt, deshalb der Umweg über FHEM.

                        Wie ich das im Heizungsskript verwende siehst Du ein paar Seiten weiter vorne, da ist mein Skript drin, aber eben mit FHEM-Datenpunkten im iobroker.

                        Da FHEM aber nicht wirklich viel Power und Speicher frisst, wäre das evtl. eine Überlegung wert bei Dir?

                        Gruss, Jürgen

                        1 Reply Last reply
                        0
                        • H Offline
                          H Offline
                          hinundher
                          wrote on last edited by
                          #207

                          @Wildbill:

                          Hi,

                          ich habe FHT80b (und diverse andere Dinge aus der FHT/FS20-Ära) in iobroker laufen, auch in diesem Skript. Allerdings hängt der CUL (ein NanoCUL, in etwa funktionsgleich mit dem von Busware) nicht direkt in iobroker, sondern die Geräte werden mittels FHEM über den CUL angesprochen und iobroker steuert FHEM via FHEM-Adapter. Läuft einwandfrei. Ich meine auch irgendwo mal gelesen zu haben, dass iobroker nur FS20 via CUL kan, aber keine FHT. Bei mir wurde nicht einmal der CUL im iobroker erkannt, deshalb der Umweg über FHEM.

                          Wie ich das im Heizungsskript verwende siehst Du ein paar Seiten weiter vorne, da ist mein Skript drin, aber eben mit FHEM-Datenpunkten im iobroker.

                          Da FHEM aber nicht wirklich viel Power und Speicher frisst, wäre das evtl. eine Überlegung wert bei Dir?

                          Gruss, Jürgen `
                          Hallo Jürgen,

                          erst mal vielen Dank für deine Antwort!

                          In fhem habe ich alle FHTs und HMs eingebunden. Das läuft sehr gut.

                          Du nutzt dann ioBroker nur als komfortable Oberfläche für die Visualisierung?

                          Das wäre natürlich auch eine Möglickeit wobei ich mir im Augenblick noch nicht vorstellen kann wie fhem + ioBroker gleichzeitig auf dem PI installiert werden können!

                          LG

                          Wolfgang

                          1 Reply Last reply
                          0
                          • W Offline
                            W Offline
                            Wildbill
                            wrote on last edited by
                            #208

                            Hi,

                            doch sollte reichen, wenn es nicht gerade ein Pi erster Generation ist. Mit einem GB Ram läuft beides parallel auf einem Raspi2 oder 3, wenn sich das ganze in Grenzen hält, wobei da eher iobroker der limitierende Faktor ist, da es je nach Anzahl aktiver Adapter ein Vielfaches an Ressourcen gegenüber FHEM braucht.

                            Aber, so habe ich auch angefangen, ging zwischendurch auf einen Celeron-Rechner mit 2GB, der noch rumstand und stehe nun vor einem weiteren Umzug auf einen NUC7i3BNK mit 16GB, der dann mit mehreren virtuellen Maschinen (virtualbox unter debian) FHEM, iobroker (mit diversen anderen Adaptern), Twonky media server, Seafile, Nextcloud und Weewx (Wettersoftware) beherbergen soll. Somit gehe ich von inzwischen 3 Banana Pi, einem Raspi 2 und dem Celeron-Server zurück zu einem zentralen Gerät, das dann auch noch weniger Strom verbraucht. Je nach Ambitionen kommt das auch noch auf Dich zu. :lol:

                            Aber zurück zum Thema. Ja, versuche FHEM und iobroker parallel, wenn 1GB Ram oder mehr vorhanden ist. Iobroker dann als komfotable Bedienoberfläche und Visualisierung und vielleicht noch der eine oder andere zusätzliche Adapter. Sollte klappen, viel Erfolg!

                            Gruss, Jürgen

                            1 Reply Last reply
                            0
                            • H Offline
                              H Offline
                              hinundher
                              wrote on last edited by
                              #209

                              Ist es auch möglich fhem auf dem Pi laufen zu lassen und das dann über das iobroker auf einem PC unter win steuern zu lassen???

                              LG

                              Wolfgang

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                Sylabil
                                wrote on last edited by
                                #210

                                Hallo zusammen,

                                erst mal ein großen Dank an Looxer für das tolle Script, ist genau das was ich gesucht bzw gebraucht habe.

                                Leider funktioniert es bei mir noch nicht, komme aber nicht so ganz dahinter woran es liegt, evt kannst du mir da ja weiterhelfen.

                                Sowohl Fenster als auch Thermostate sind Homematic IP und als Heizung/Verschluss definiert.

                                Beim Starten des Script wird folgender Error ausgebracht und es werden keinerlei Datenpunkte angelegt

                                15:26:43.989	[info]	javascript.0 Start javascript script.js.Klima.Heizungssteuerung
                                15:26:43.990	[error]	javascript.0 script.js.Klima.Heizungssteuerung: script.js.Klima.Heizungssteuerung:483
                                15:26:43.991	[error]	javascript.0 at script.js.Klima.Heizungssteuerung:483:43
                                
                                

                                Eine Idee?

                                Danke
                                2620_bildschirmfoto_2017-11-03_um_15.24.24.png

                                1 Reply Last reply
                                0
                                • L Offline
                                  L Offline
                                  looxer01
                                  wrote on last edited by
                                  #211

                                  @Sylabil:

                                  Eine Idee? `

                                  Hi,

                                  ich sehe nun nicht wie deine Konfig aussieht. Allerdings vermute ich, dass du die IP Geräte nicht richtig konfiguriert hast.

                                  Da ich selber keine habe (bekomme Morgen allerdings mal eines zum Testen), war die vorgegebene Konfiguration falsch.

                                  Wie es aussieht laesst sich aber alles einstellen und es braucht nur geringe Programmanpassungen.

                                  In Kürze gibt es eine neue Version womit IP laufen sollte.

                                  vG Looxer

                                  1 Reply Last reply
                                  0
                                  • W Offline
                                    W Offline
                                    Wildbill
                                    wrote on last edited by
                                    #212

                                    @hinundher:

                                    Ist es auch möglich fhem auf dem Pi laufen zu lassen und das dann über das iobroker auf einem PC unter win steuern zu lassen???

                                    LG

                                    Wolfgang `

                                    Dann müsste der Windows-PC aber die ganze Zeit laufen, was in Hinsicht auf die Stromkosten wohl nicht auf Dauer eine Lösung wäre. Zu Testzwecken aber auf jeden Fall, da der FHEM-Adapter im iobroker nur eine IP-Adresse des FHEM-Rechners will, die nicht gleich der des iobroker-Rechners sein muss.

                                    Gruss, Jürgen

                                    1 Reply Last reply
                                    0
                                    • H Offline
                                      H Offline
                                      hinundher
                                      wrote on last edited by
                                      #213

                                      @Wildbill:

                                      @hinundher:

                                      Ist es auch möglich fhem auf dem Pi laufen zu lassen und das dann über das iobroker auf einem PC unter win steuern zu lassen???

                                      LG

                                      Wolfgang `

                                      Dann müsste der Windows-PC aber die ganze Zeit laufen, was in Hinsicht auf die Stromkosten wohl nicht auf Dauer eine Lösung wäre. Zu Testzwecken aber auf jeden Fall, da der FHEM-Adapter im iobroker nur eine IP-Adresse des FHEM-Rechners will, die nicht gleich der des iobroker-Rechners sein muss.

                                      Gruss, Jürgen `
                                      Ist ja schon mal toll, dass es grundsätzlich geht!

                                      Die Frage ist ja, ob der PC die ganze Zeit laufen muss?

                                      FHEM wäre ja auf dem PI die ganze Zeit aktiv und damit lassen sich ja viele Dinge genau so automatisieren wie mit ioBroker.

                                      Den PC mit ioBroker benötigt man dann im Grunde nur um sich die ganze Anlage anzusehen und z.B. mit deinem Script neue Heizprogramme über fhem in die einzelnen Thermostate zu laden.

                                      Als Alternative dazu einen zweiten PI 3 mit ioBroker der dann den ersten PI mit fhem "verwaltet".

                                      LG

                                      Wolfgang

                                      1 Reply Last reply
                                      0
                                      • W Offline
                                        W Offline
                                        Wildbill
                                        wrote on last edited by
                                        #214

                                        Hi,

                                        also wenn iobroker auf Windows läuft (da habe ich keine Erfahrung), dann ist der Zugriff auf FHEM keinerlei Problem. Mit iobroker ein Skript erstellen und dann auf den Raspi in FHEM schieben geht allerdings nicht. iobroker-Skripte (auch das hier genannte zur Heizungssteuerung, das übrigens nicht von mir sondern von looxer01 stammt) laufen nunmal nur im iobroker, also der iobroker muss zum Ausführen und Ablauf auch aktiv sein. Wenn Du nur den Raspi laufen lassen möchtest, kannst Du Automatismen (also Skripte) auch nur dort, also in FHEM ablaufen lassen. Dazu war mir FHEM aber viel zu unflexibel und dann wäre iobroker ja obsolet.

                                        Da hört sich die Idee mit dem zweiten Raspi 3 schon viel besser an, wobei ich, wie schon gesagt, an Deiner Stelle mal beides auf einem Raspi laufen lassen würde und schauen, was die Auslastung und der Speicherverbrauch sagen. Da bitte nicht den freien Speicher betrachten, da Linux freien Speicher für Cache-Zwecke verwendet, wenn Programm ihn nicht benötigen. Wichtig wäre der verfügbare Speicher, also wenn Du im Terminal vom Raspi mal mit free schaust.

                                        Gruss, Jürgen

                                        1 Reply Last reply
                                        0
                                        • S Offline
                                          S Offline
                                          Sylabil
                                          wrote on last edited by
                                          #215

                                          @looxer01:

                                          @Sylabil:

                                          Eine Idee? `

                                          Hi,

                                          ich sehe nun nicht wie deine Konfig aussieht. Allerdings vermute ich, dass du die IP Geräte nicht richtig konfiguriert hast.

                                          Da ich selber keine habe (bekomme Morgen allerdings mal eines zum Testen), war die vorgegebene Konfiguration falsch.

                                          Wie es aussieht laesst sich aber alles einstellen und es braucht nur geringe Programmanpassungen.

                                          In Kürze gibt es eine neue Version womit IP laufen sollte.

                                          vG Looxer `

                                          Hi,

                                          oh ja stimmt das wars, dachte die IP Geräte wären auch schon konfiguriert, mein Fehler.

                                          Bin jetzt noch nicht dazu gekommen es entsprechend ein zu richten, aber wenn du eh dran bist warte ich noch so lange, bin bei dem Thema eh noch nicht so fit und es würde entsprechend dauern bis ich fehlerfrei hinbekomme. :mrgreen:

                                          Aber wenn du noch irgendwelche Daten zu den IP Geräten brauchst, sag bescheid.

                                          Gruß Phil

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          58

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe