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. Blockly
  5. Blockly-Script Thermostat/Heizung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Blockly-Script Thermostat/Heizung

Scheduled Pinned Locked Moved Blockly
blockly
27 Posts 4 Posters 2.5k Views 4 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.
  • KabaK Kaba

    @asgothian
    @paul53

    Ich danke Euch! Nun verstanden, umgebaut und getestet :blush:
    Da wäre ich alleine nicht drauf gekommen!
    Nur noch eine kurze Frage - müsste es unten links nicht, mache 17, sonst 21 sein?

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #13

    @kaba sagte: müsste es unten links nicht, mache 17, sonst 21 sein?

    Nein, beim Duschen (Heizung manuell ein) soll der höhere Sollwert greifen.

    @kaba sagte in Blockly-Script Thermostat/Heizung:

    beim/vor'm Duschen die Heizung manuell am Wlan-Stecker einzuschalten.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    KabaK 2 Replies Last reply
    0
    • paul53P paul53

      @kaba sagte: müsste es unten links nicht, mache 17, sonst 21 sein?

      Nein, beim Duschen (Heizung manuell ein) soll der höhere Sollwert greifen.

      @kaba sagte in Blockly-Script Thermostat/Heizung:

      beim/vor'm Duschen die Heizung manuell am Wlan-Stecker einzuschalten.

      KabaK Offline
      KabaK Offline
      Kaba
      wrote on last edited by
      #14

      @paul53
      Danke :blush:

      1 Reply Last reply
      0
      • paul53P paul53

        @kaba sagte: müsste es unten links nicht, mache 17, sonst 21 sein?

        Nein, beim Duschen (Heizung manuell ein) soll der höhere Sollwert greifen.

        @kaba sagte in Blockly-Script Thermostat/Heizung:

        beim/vor'm Duschen die Heizung manuell am Wlan-Stecker einzuschalten.

        KabaK Offline
        KabaK Offline
        Kaba
        wrote on last edited by Kaba
        #15

        @paul53
        @Asgothian

        Guten Morgen zusammen, ich noch einmal.
        Nachdem das Script nun ein bisschen lief, ist mir aufgefallen, dass die Heizung zwar bei 17 Grad einschaltet (bzw. <17), jedoch nicht mehr abschaltet.

        paul53P 1 Reply Last reply
        0
        • KabaK Kaba

          @paul53
          @Asgothian

          Guten Morgen zusammen, ich noch einmal.
          Nachdem das Script nun ein bisschen lief, ist mir aufgefallen, dass die Heizung zwar bei 17 Grad einschaltet (bzw. <17), jedoch nicht mehr abschaltet.

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #16

          @kaba sagte Heizung zwar bei 17 Grad einschaltet (bzw. <17), jedoch nicht mehr abschaltet.

          Sie muss bei >= 18 °C abschalten.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          KabaK 1 Reply Last reply
          0
          • paul53P paul53

            @kaba sagte Heizung zwar bei 17 Grad einschaltet (bzw. <17), jedoch nicht mehr abschaltet.

            Sie muss bei >= 18 °C abschalten.

            KabaK Offline
            KabaK Offline
            Kaba
            wrote on last edited by
            #17

            @paul53
            Ja, das tut sie leider nicht. Sie schaltet gar nicht mehr ab.

            paul53P 1 Reply Last reply
            0
            • KabaK Kaba

              @paul53
              Ja, das tut sie leider nicht. Sie schaltet gar nicht mehr ab.

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by
              #18

              @kaba sagte: tut sie leider nicht.

              Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              KabaK 2 Replies Last reply
              0
              • paul53P paul53

                @kaba sagte: tut sie leider nicht.

                Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                KabaK Offline
                KabaK Offline
                Kaba
                wrote on last edited by
                #19

                @paul53

                var BadezimmerSollwert, heizung;
                
                
                BadezimmerSollwert = 16;
                // Fenster
                on({id: 'zigbee.0.00158d0003a00d06.opened', change: "gt"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  setState("hs100.0.192_168_178_33.state"/*HeizungBad*/, false);
                });
                // Heizung
                on({id: 'hs100.0.192_168_178_33.state', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if ((obj.state ? obj.state.val : "") && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') {
                    BadezimmerSollwert = 19;
                  } else {
                    BadezimmerSollwert = 16;
                  }
                });
                
                // Temperatur
                on({id: 'hm-rpc.1.000E5BE9A77AD0.1.ACTUAL_TEMPERATURE', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (!getState("zigbee.0.00158d0003a00d06.opened").val) {
                    if ((obj.state ? obj.state.val : "") <= BadezimmerSollwert) {
                      heizung = true;
                    } else if ((obj.state ? obj.state.val : "") >= parseFloat(BadezimmerSollwert) + 1) {
                      heizung = false;
                    }
                    if (heizung != getState("hs100.0.192_168_178_33.state").val) {
                      setState("hs100.0.192_168_178_33.state"/*HeizungBad*/, heizung);
                    }
                  }
                });
                
                on({id: 'zigbee.0.00158d0003a00d06.opened', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (getState("zigbee.0.00158d0003a00d06.opened").val == true && getState("hm-rpc.1.00115A4996E621.4.LEVEL").val < 100) {
                    setState("hm-rpc.1.00115A4996E621.4.LEVEL"/*RA_Bad:4.LEVEL*/, 100);
                  }
                });
                
                paul53P 1 Reply Last reply
                0
                • paul53P paul53

                  @kaba sagte: tut sie leider nicht.

                  Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                  KabaK Offline
                  KabaK Offline
                  Kaba
                  wrote on last edited by
                  #20

                  @paul53

                  Ich habe die Temperatur noch angepasst und ergänzt, dass wenn Abends das Rollo schon geschlossen ist, es beim öffnen des Fensters hoch fährt.

                  paul53P 1 Reply Last reply
                  0
                  • L Online
                    L Online
                    Linedancer
                    wrote on last edited by Linedancer
                    #21

                    Ganz schön kompliziert….
                    Du hast doch ein Homematic Thermostat, warum dann per Script die Temperatursteuerung nachbilden?
                    Du setzt beim Thermostat deine Comfort und Eco Temperaturen. Das HM Thermostat hat im Kanal 7 den DP „Decision Value. Der ist bei Heizung aus =0 und bei Heizung ein =200.
                    Das Blockly hat dann nur die Funktion
                    wenn Decision Value = 0 dann wlan Dose aus
                    Sonst
                    WLAN Dose ein

                    Du schreibst leider nicht was für einen Fensterkontakt du hast. Wenn das auch ein Homematic tfk ist, kannst du den per Direktverknüpfung mit dem HM Thermostat verbinden und musst dich auch nicht mehr per Script drum kümmern, ob Fenster auf oder zu.

                    Für das händische Einschalten der Heizung direkt an der WLAN Dose, wählst du vorher am HM Thermostat mit der linken Taste den Manu Mode. Wenn die Regelung wieder greifen soll wählst du Auto Mode.
                    Damit das nicht vergessen geht kann man die Umschaltung auf Auto mit einem Script z.B. nachts um 00:00 automatisieren.

                    –

                    Ciao, Gerhard

                    KabaK 1 Reply Last reply
                    0
                    • KabaK Kaba

                      @paul53

                      var BadezimmerSollwert, heizung;
                      
                      
                      BadezimmerSollwert = 16;
                      // Fenster
                      on({id: 'zigbee.0.00158d0003a00d06.opened', change: "gt"}, async function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        setState("hs100.0.192_168_178_33.state"/*HeizungBad*/, false);
                      });
                      // Heizung
                      on({id: 'hs100.0.192_168_178_33.state', change: "ne"}, async function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if ((obj.state ? obj.state.val : "") && (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0') {
                          BadezimmerSollwert = 19;
                        } else {
                          BadezimmerSollwert = 16;
                        }
                      });
                      
                      // Temperatur
                      on({id: 'hm-rpc.1.000E5BE9A77AD0.1.ACTUAL_TEMPERATURE', change: "ne"}, async function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if (!getState("zigbee.0.00158d0003a00d06.opened").val) {
                          if ((obj.state ? obj.state.val : "") <= BadezimmerSollwert) {
                            heizung = true;
                          } else if ((obj.state ? obj.state.val : "") >= parseFloat(BadezimmerSollwert) + 1) {
                            heizung = false;
                          }
                          if (heizung != getState("hs100.0.192_168_178_33.state").val) {
                            setState("hs100.0.192_168_178_33.state"/*HeizungBad*/, heizung);
                          }
                        }
                      });
                      
                      on({id: 'zigbee.0.00158d0003a00d06.opened', change: "ne"}, async function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if (getState("zigbee.0.00158d0003a00d06.opened").val == true && getState("hm-rpc.1.00115A4996E621.4.LEVEL").val < 100) {
                          setState("hm-rpc.1.00115A4996E621.4.LEVEL"/*RA_Bad:4.LEVEL*/, 100);
                        }
                      });
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #22

                      @kaba
                      Im Skript sind keine Fehler zu erkennen. Das Skript läuft in der JS-Instanz 0? Wenn ja, füge mal Debug-Blöcke in den Temperatur-Trigger ein, um die Temperatur und den Sollwert zu loggen.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      KabaK 2 Replies Last reply
                      0
                      • KabaK Kaba

                        @paul53

                        Ich habe die Temperatur noch angepasst und ergänzt, dass wenn Abends das Rollo schon geschlossen ist, es beim öffnen des Fensters hoch fährt.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by
                        #23

                        @kaba sagte: ergänzt, dass wenn Abends das Rollo schon geschlossen ist, es beim öffnen des Fensters hoch fährt.

                        Das solltest Du in einem Trigger mit dem Ausschalten der Heizung zusammenfassen.

                        Bild_2022-01-25_163228.png

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        KabaK 1 Reply Last reply
                        0
                        • L Linedancer

                          Ganz schön kompliziert….
                          Du hast doch ein Homematic Thermostat, warum dann per Script die Temperatursteuerung nachbilden?
                          Du setzt beim Thermostat deine Comfort und Eco Temperaturen. Das HM Thermostat hat im Kanal 7 den DP „Decision Value. Der ist bei Heizung aus =0 und bei Heizung ein =200.
                          Das Blockly hat dann nur die Funktion
                          wenn Decision Value = 0 dann wlan Dose aus
                          Sonst
                          WLAN Dose ein

                          Du schreibst leider nicht was für einen Fensterkontakt du hast. Wenn das auch ein Homematic tfk ist, kannst du den per Direktverknüpfung mit dem HM Thermostat verbinden und musst dich auch nicht mehr per Script drum kümmern, ob Fenster auf oder zu.

                          Für das händische Einschalten der Heizung direkt an der WLAN Dose, wählst du vorher am HM Thermostat mit der linken Taste den Manu Mode. Wenn die Regelung wieder greifen soll wählst du Auto Mode.
                          Damit das nicht vergessen geht kann man die Umschaltung auf Auto mit einem Script z.B. nachts um 00:00 automatisieren.

                          KabaK Offline
                          KabaK Offline
                          Kaba
                          wrote on last edited by
                          #24

                          @linedancer

                          Danke für deinen Vorschlag, ich habe allerings "nur" das Thermostat ohne Tasten. Der Fensterkontakt ist nicht von HM.

                          1 Reply Last reply
                          0
                          • paul53P paul53

                            @kaba
                            Im Skript sind keine Fehler zu erkennen. Das Skript läuft in der JS-Instanz 0? Wenn ja, füge mal Debug-Blöcke in den Temperatur-Trigger ein, um die Temperatur und den Sollwert zu loggen.

                            KabaK Offline
                            KabaK Offline
                            Kaba
                            wrote on last edited by
                            #25

                            @paul53

                            Ja, läuft in der nuller Instanz. Habe ich soeben eingefügt.

                            1 Reply Last reply
                            0
                            • paul53P paul53

                              @kaba sagte: ergänzt, dass wenn Abends das Rollo schon geschlossen ist, es beim öffnen des Fensters hoch fährt.

                              Das solltest Du in einem Trigger mit dem Ausschalten der Heizung zusammenfassen.

                              Bild_2022-01-25_163228.png

                              KabaK Offline
                              KabaK Offline
                              Kaba
                              wrote on last edited by
                              #26

                              @paul53

                              Vielen Dank, gute Idee. Habe ich so umgesetzt :+1:

                              1 Reply Last reply
                              0
                              • paul53P paul53

                                @kaba
                                Im Skript sind keine Fehler zu erkennen. Das Skript läuft in der JS-Instanz 0? Wenn ja, füge mal Debug-Blöcke in den Temperatur-Trigger ein, um die Temperatur und den Sollwert zu loggen.

                                KabaK Offline
                                KabaK Offline
                                Kaba
                                wrote on last edited by
                                #27

                                @paul53 sagte in Blockly-Script Thermostat/Heizung:

                                @kaba
                                Im Skript sind keine Fehler zu erkennen. Das Skript läuft in der JS-Instanz 0? Wenn ja, füge mal Debug-Blöcke in den Temperatur-Trigger ein, um die Temperatur und den Sollwert zu loggen.

                                Ich habe den Fehler bzw. das Problem gefunden. Ich habe die Temperatur ja nachträglich noch angepasst (auf 16 Grad) scheinbar ist irgendwo aber noch die 17 gespeichert, denn die Heizung ist gerade bei >=18 aus gegangen.

                                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

                                826

                                Online

                                32.7k

                                Users

                                82.4k

                                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