Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  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.7k

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

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

[Vorlage] Heizungsthermostatsteuerung - Script

Scheduled Pinned Locked Moved Skripten / Logik
313 Posts 34 Posters 85.6k 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 Online
    L Online
    looxer01
    wrote on last edited by
    #146

    @webseb79:

    Ich war anwesend und Sollwert waren 17 Grad.

    Dann habe ich das Fenster geöffnet und die Absenktemperatur wurde auf 5 Grad gesetzt.

    Später bin ich außer Haus und bin 2 Stunden später wieder zurückgekommen und sah die Absenktemperatur bei Abwesenheit von 16 Grad als Sollwert

    ( Einstellung -1Grad ) und das Fenster war ja noch offen , bei Fenster offen im Raum dürfte auf nichts reagiert werden.

    Nach Programmdurchlauf wurde dann auf 17 Grad gestellt (wegen Anwesenheit) , aber das Fenster (1 von 3 Fenster) war ja immer noch offen.

    Ich habe ein 2.Fenster geöffnet … 5 Grad Sollwert wurde gesetzt.

    Das 2.Fenster wurde wieder geschlossen und das erste blieb offen ... 17 Grad Sollwert wurde gesetzt.

    LG `

    Hi,

    ich möchte nochmal zu diesem Thema kommen. Könntest du mal im Programm debug = true setzen und den Fall mit dem öffnen und schliessen simulieren. Aus dem log sollte dann hervorgehen was passiert. Auch stehen dort deine HM´Typen vermerkt.

    vielen Dank

    Looxer

    1 Reply Last reply
    0
    • L Online
      L Online
      looxer01
      wrote on last edited by
      #147

      @00chaos:

      gibt es eine Möglichkeit das Skript für Max! Geräte zu verwenden. Oder ist Max! schon wieder eine ganz andere Welt? `
      @looxer01:

      ch habe es recht offen gehalten. Es kommt aber am Ende darauf an wie Max in ioBroker eingebunden ist und wie Max gesteuert wird.

      Idealerweise gibt es Datenpunkte, die die Steuerung von Max bewirken. In diesem Fall lassen sich sogar Homematic Sensoren mit Max geräten verbinden. Poste doch mal die Details der Steuerung. `

      also wenn du dein Max so eingebunden hast (maxcul)
      305_max.jpg

      dann sollte es gehen. Gib mir mal die genaue Datenpunktbezeichnungen aller deiner Maxthermostate

      vG Looxer

      1 Reply Last reply
      0
      • 0 Offline
        0 Offline
        00chaos
        wrote on last edited by
        #148

        @looxer01:

        also wenn du dein Max so eingebunden hast (maxcul)

        max.JPG

        dann sollte es gehen. Gib mir mal die genaue Datenpunktbezeichnungen aller deiner Maxthermostate

        vG Looxer `
        Ja, so sind die Thermostate eingebunden. Ich verstehe nur nicht ganz, was du mit Datenpunkten meinst.

        1 Reply Last reply
        0
        • L Online
          L Online
          looxer01
          wrote on last edited by
          #149

          ich muss die genaue Variablen bezeichnung aus der Objektliste der MaxThermostate wissen.

          Dann würde ich dir die Voreinstellung geben.

          Die findest du so raus.

          • gehe in die Objekte (Reiter iobroker)

          • navigiere zu den Max Thermostaten und öffne die Liste bis du für die Thermostate den Datenpunkt "desired Temperature" siehst.

          • Dann fährst du mit der Maus genau auf diesen Text "desired temperature" und du siehst ein Sysmbol eingeblendet.

          • Fahre auf das Symbol, dann erscheint "in die zwischenablage kopieren"

          • Ein Klick und du hast den Datenpunkt in der Zwischenablage.

          den uder die kannst du dann mit paste posten.

          das war jetzt sehr ausführlich. Ich weiss nicht wie tief du im Thema bist.

          vG Looxer

          1 Reply Last reply
          0
          • 0 Offline
            0 Offline
            00chaos
            wrote on last edited by
            #150

            Danke. Es kann so einfach sein.

            Hier die Datenpunkte:

            Thermostat: maxcul.0.KEQ0352843.desiredTemperature

            Wandthermostat: maxcul.0.LEQ1331051.desiredTemperature

            1 Reply Last reply
            0
            • L Online
              L Online
              looxer01
              wrote on last edited by
              #151

              @00chaos:

              Thermostat: maxcul.0.KEQ0352843.desiredTemperature

              Wandthermostat: maxcul.0.LEQ1331051.desiredTemperature `

              noch eine Frage. Ich nehme mal an, dass das Wandthermostat das Thermostat steuert - korrekt ?

              Also brauchst du nur das Wandthermostat für die Wunschtemperatur ?

              oder sind das zwei Geräte, unabhängig von einander in zwei Räumen ?

              vG Looxer

              1 Reply Last reply
              0
              • 0 Offline
                0 Offline
                00chaos
                wrote on last edited by
                #152

                Thermostat und Wandthermostat befinden sich im gleichen Raum. Korrekt, das Wandthermostat steuert das Thermostat.

                Es gibt auch noch zwei Fensterkontakte.

                Diese haben die Datenpunkte maxcul.0.KEQ0186726.isOpen und maxcul.0.KEQ0190297.isOpen.

                Wenn ich den einen Raum zum Laufen bekomme. Werde ich dann die restlichen angehen.

                Beste Grüße

                1 Reply Last reply
                0
                • L Online
                  L Online
                  looxer01
                  wrote on last edited by
                  #153

                  @00chaos:

                  Thermostat und Wandthermostat befinden sich im gleichen Raum. Korrekt, das Wandthermostat steuert das Thermostat.

                  Es gibt auch noch zwei Fensterkontakte.

                  Diese haben die Datenpunkte maxcul.0.KEQ0186726.isOpen und maxcul.0.KEQ0190297.isOpen. `

                  jetzt doch noch mal weitere Fragen.

                  • wenn du den Datenpunkt "desired temperature" aenderst, dann wird auch das Thermostat mit der Solltemperatur versehen ?

                  • und wie sieht das aus mit den Sensoren ? Ich nehme an, dass wir die gar nicht berücksichtigen müssen, da sie automatisch die Wirkung haben, dass die Solltemperatur auf Absenktemperatur gesetzt wird ?

                  • wie hoch ist die Absenktemperatur ?

                  vG Looxer

                  1 Reply Last reply
                  0
                  • N Offline
                    N Offline
                    Nikoxx
                    wrote on last edited by
                    #154

                    Hi,

                    ein super Skript das bei mir zuverlässig seinen Dienst verrichtet.

                    Jetzt hätte ich aber mal eine Frage. Wie bekomme ich die Temperatur aus den Eingabefeldern von dem Wochenplan wenn ich das Profil ändern möchte. Wollte etwas ändern und dadurch sind zwei Spalten nicht mehr nötig. Die Uhrzeit hab ich wegbekommen aber die Temperatur nicht, die wird im View immer angezeigt.

                    Wäre super wenn du mir einen Tip geben könntest.

                    1 Reply Last reply
                    0
                    • 0 Offline
                      0 Offline
                      00chaos
                      wrote on last edited by
                      #155

                      @looxer01:

                      jetzt doch noch mal weitere Fragen.

                      • wenn du den Datenpunkt "desired temperature" aenderst, dann wird auch das Thermostat mit der Solltemperatur versehen ?

                      • und wie sieht das aus mit den Sensoren ? Ich nehme an, dass wir die gar nicht berücksichtigen müssen, da sie automatisch die Wirkung haben, dass die Solltemperatur auf Absenktemperatur gesetzt wird ?

                      • wie hoch ist die Absenktemperatur ?

                      vG Looxer `

                      Ist wohl doch etwas mehr Aufwand. Ich ärgere mich heute immer noch, die Max! Geräte gekauft zu haben.

                      Ja, so sollte es sein. Wenn ich "desired temperature" ändere, wird der Thermostat gestellt.

                      Bei den Sensoren klappt dies wohl nicht ohen Cube. Sie sind zwar mit dem Wandthermostat verbunden, aber wenn diese geöffnet passiert da gar nichts. Also die Temperatur wird nicht abgesenkt. Die Absenktemperatur war bis jetzt immer 6°C.

                      1 Reply Last reply
                      0
                      • L Online
                        L Online
                        looxer01
                        wrote on last edited by
                        #156

                        @00chaos:

                        Ist wohl doch etwas mehr Aufwand. Ich ärgere mich heute immer noch, die Max! Geräte gekauft zu haben.

                        Ja, so sollte es sein. Wenn ich "desired temperature" ändere, wird der Thermostat gestellt.

                        Bei den Sensoren klappt dies wohl nicht ohen Cube. Sie sind zwar mit dem Wandthermostat verbunden, aber wenn diese geöffnet passiert da gar nichts. Also die Temperatur wird nicht abgesenkt. Die Absenktemperatur war bis jetzt immer 6°C. `

                        Ist kein grosser Aufwand. Ich wollte nur sichergehen wie deine Situation ist:

                        Im Programmcoding findest du folgende Stelle:

                        //              0 = Raum         1 = Datenpunkt bis vor Geraet   2=Datenpunkt Geraet  3=Datenpunkt SollTemp     4= Ventilstellung bei NichtHeizperiode
                        NoneHMTab[0] = ['initial',	    'javascript.0.Heizung',         'zwave1', 	        '4.SET_TEMPERATURE',            12];
                        NoneHMTab[1] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                        NoneHMTab[2] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                        
                        

                        bitte ersetzen durch:

                        //              0 = Raum         1 = Datenpunkt bis vor Geraet   2=Datenpunkt Geraet  3=Datenpunkt SollTemp     4= Ventilstellung bei NichtHeizperiode
                        NoneHMTab[0] = ['Wohnzimmer',	'maxcul.0',         			'LEQ1331051', 	    'desiredTemperature',            6];
                        NoneHMTab[1] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                        NoneHMTab[2] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                        
                        

                        ist der Raumname "Wohnzimmer" ? evt anpassen

                        und dann noch:

                        var VerschlussAbsenkungsGrenze = 12;
                        
                        

                        auf das hier aendern:

                        var VerschlussAbsenkungsGrenze = 6;
                        
                        

                        Was deine Fenstersensoren angeht, so bin ich bisher davon ausgegangen, dass nicht HM- Sensoren immer mit nicht HM-Geraeten sprechen. Das scheint bei dir nicht der Fall zu sein. Da du die Datenpunkte (und deren Aenderungen) aber offensichtlich in iobroker hast könnte ich die nicht HM-Sensoren aufnehmen. Wenn du bereit bist etwas Testaufwand zu investieren. (und etwas Geduld mitbringst.)

                        aber teste zunächst mal die Funktionialität mit den Einstellungen.

                        vG Looxer

                        1 Reply Last reply
                        0
                        • L Online
                          L Online
                          looxer01
                          wrote on last edited by
                          #157

                          @Nikoxx:

                          Hi,

                          Wollte etwas ändern und dadurch sind zwei Spalten nicht mehr nötig. Die Uhrzeit hab ich wegbekommen aber die Temperatur nicht, die wird im View immer angezeigt. `

                          Hi Nikoxx,

                          wenn ich dich richtig verstanden habe, dann willst du die Widgets entfernen ?

                          Die View ist eine ganz normale View. Die Widgets lassen sich in VIS normal entfernen.

                          Sollte das bei dir nicht der Fall sein, dann hast du vielleicht ein anderes Problem (inkonsistenzen im View)

                          In diesem Fall empfehle ich dir die View neu zu erstellen und die kaputte View zu löschen.

                          Wie gesagt: falls ich dich richtig verstanden habe.

                          vG Looxer

                          1 Reply Last reply
                          0
                          • N Offline
                            N Offline
                            Nikoxx
                            wrote on last edited by
                            #158

                            Hi,

                            da hab ich mich wohl etwas blöd ausgedrückt, sorry. Also würde die Widgets gerne behalten sie sollen nur keinen Wert anzeigen. Was ich meinte war wie kann ich ein vorhandenes Profil löschen oder ändern ?

                            Hab nur 1 Profil (Profil-1) und würde hier gerne ein paar Änderungen vornehmen. Also ich brauche z.B. bei Dienstags weil sich was geändert hat nicht mehr alle Spalten für die Uhrzeit und die Temperatur. Nur wie bekomme ich das geändert, bei den widgets kann ich die Temperatur zwischen 12 und 30 Grad wählen aber halt nichts damit das feld leer bleibt.

                            Habe schon versucht den Profil-1 Ordner unter Objekten zu löschen. Aber sobalt ich das Skript neustarte habe ich wieder alle Werte in den Widgets stehen.

                            1 Reply Last reply
                            0
                            • L Online
                              L Online
                              looxer01
                              wrote on last edited by
                              #159

                              Hi,

                              also, wenn du die Uhrzeit der letzten Spalten auf 00:00:00 im View stellst, dann werden die letzten Spalten im Programm ignoriert.

                              Somit wird auch die zugewiesene Temperatur ignoriert. Wenn du dann die Widgets entfernst (bis auf das letzte mit 00:00:00), dann stören sie nicht mehr. Aus den Objekten entfernen geht nicht bzw bringt nix wie du richtig festgestellt hast.

                              Edit: oder wenn du nicht entfernen willst, dann kann du die value list aus dem Widget einfach loeschen. Dann wird nur ein leeres Feld angezeigt.

                              vG Looxer

                              1 Reply Last reply
                              0
                              • 0 Offline
                                0 Offline
                                00chaos
                                wrote on last edited by
                                #160

                                @looxer01:

                                Im Programmcoding findest du folgende Stelle:

                                //              0 = Raum         1 = Datenpunkt bis vor Geraet   2=Datenpunkt Geraet  3=Datenpunkt SollTemp     4= Ventilstellung bei NichtHeizperiode
                                NoneHMTab[0] = ['initial',	    'javascript.0.Heizung',         'zwave1', 	        '4.SET_TEMPERATURE',            12];
                                NoneHMTab[1] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                                NoneHMTab[2] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                                
                                

                                bitte ersetzen durch:

                                //              0 = Raum         1 = Datenpunkt bis vor Geraet   2=Datenpunkt Geraet  3=Datenpunkt SollTemp     4= Ventilstellung bei NichtHeizperiode
                                NoneHMTab[0] = ['Schlafzimmer',	'maxcul.0',         			'LEQ1331051', 	    'desiredTemperature',            6];
                                NoneHMTab[1] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                                NoneHMTab[2] = ['initial', 		'ZWAVE.0', 		                'zwa0183xxx',	    '4.SET_TEMPERATURE',            12];
                                
                                

                                und dann noch:

                                var VerschlussAbsenkungsGrenze = 12;
                                
                                

                                auf das hier aendern:

                                var VerschlussAbsenkungsGrenze = 6;
                                
                                

                                vG Looxer `
                                Ich habe die betreffenden Stellen ersetzt, außerdem Wohnzimmer in Schlafzimmer getauscht.

                                Das Skript haut dann folgende Meldung raus:

                                12:32:23.919	[info]	javascript.0 Stop script script.js.Heizungssteuerung
                                12:32:23.943	[info]	javascript.0 Start javascript script.js.Heizungssteuerung
                                12:32:23.944	[error]	javascript.0 script.js.Heizungssteuerung: script.js.Heizungssteuerung:2236
                                12:32:23.944	[error]	javascript.0 at getDevices (script.js.Heizungssteuerung:457:33)
                                12:32:23.944	[error]	javascript.0 at script.js.Heizungssteuerung:-1402:1
                                
                                

                                Habe dann statt des Wandthermostates das normale Thermostat verwendet. Es kommt die gleiche Meldung.

                                Gibt es eigentlich Unterschiede wo das Skript läuft (Global oder ohne Gruppe)?

                                Beste Grüße

                                1 Reply Last reply
                                0
                                • P Offline
                                  P Offline
                                  pix
                                  wrote on last edited by
                                  #161

                                  Ich grätsche mal rein: wenn nicht explizit gefordert, dürfen KEINE Skripte unter global abgelegt werden.

                                  Skripte im Ordner global werden vom Adapter an jedes andere Skript angehängt. Heißt: wenn du drei Skripte unter common oder sonst wo hast (nur nicht global), wird ein Skript aus global dreimal angehängt und entsprechend dreimal ausgeführt. Das gibt Chaos.

                                  Also nix in global legen!

                                  Gruß

                                  Pix

                                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                  1 Reply Last reply
                                  0
                                  • 0 Offline
                                    0 Offline
                                    00chaos
                                    wrote on last edited by
                                    #162

                                    @pix:

                                    Danke. Wieder was gelernt.

                                    @looxer01:

                                    Jetzt habe ich ne Weile gewartet und es wurde das View gefüllt. Auch werden jetzt die betreffenden Objekte angelegt.

                                    Das Problem ist das Wandthermostat. Da geht wohl was zwischen IOBroker, maxcul und Wandthermostat schief. Hier werden weder Werte empfangen noch gesendet.

                                    1 Reply Last reply
                                    0
                                    • L Online
                                      L Online
                                      looxer01
                                      wrote on last edited by
                                      #163

                                      @pix:

                                      Ich grätsche mal rein: wenn nicht explizit gefordert, dürfen KEINE Skripte unter global abgelegt werden.

                                      …

                                      Also nix in global legen! `
                                      jap, danke Pix.

                                      irgendwann hatten wir das schon einmal - war aber ein anderes Script - und dann gibt es solche Fehler.

                                      Ich habe ueberhaupt keine scripte in global (obwohl es an manchen Stellen Sinn machen könnte) - aus Zwei Gründen

                                      1. Das Teilen von Scripten ist schieriger

                                      2. Bei Fehlern werden die Zeilennummern zusammen mit den globalen Zeilennummern addiert. Man kann also schwerer die Stelle eines Fehlers zurückverfolgen.

                                      vG L

                                      1 Reply Last reply
                                      0
                                      • L Online
                                        L Online
                                        looxer01
                                        wrote on last edited by
                                        #164

                                        @00chaos:

                                        Da geht wohl was zwischen IOBroker, maxcul und Wandthermostat schief. Hier werden weder Werte empfangen noch gesendet. `

                                        was passiert denn, wenn du die desired Temperatur manuell verstellst ? (also bei den Objekten)

                                        vG L

                                        1 Reply Last reply
                                        0
                                        • 0 Offline
                                          0 Offline
                                          00chaos
                                          wrote on last edited by
                                          #165

                                          @looxer01:

                                          was passiert denn, wenn du die desired Temperatur manuell verstellst ? (also bei den Objekten)

                                          vG L `
                                          Hallo looxer01,

                                          den Feiertag mal ein wenig zum Testen genutzt. Habe von maxcul auf fhem umgestellt, da maxcul nicht sauber das Wandthermostat auslesen wollte.

                                          Konnte nun auch über die Objekte die Werte setzen.

                                          Das Skript funktioniert. Das Problem sind jetzt aber die Fensterkontakte, diese ignoriert das Skript "noch" völlig. Sind ja nicht definiert.

                                          Beste Grüße

                                          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

                                          832

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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