Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly-Script Thermostat/Heizung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly-Script Thermostat/Heizung

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Kaba last edited by

      @kaba sagte: tut sie leider nicht.

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

      Kaba 2 Replies Last reply Reply Quote 0
      • Kaba
        Kaba @paul53 last edited by

        @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);
          }
        });
        
        paul53 1 Reply Last reply Reply Quote 0
        • Kaba
          Kaba @paul53 last edited by

          @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.

          paul53 1 Reply Last reply Reply Quote 0
          • L
            Linedancer last edited by 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.

            Kaba 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Kaba last edited by

              @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.

              Kaba 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @Kaba last edited by

                @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

                Kaba 1 Reply Last reply Reply Quote 0
                • Kaba
                  Kaba @Linedancer last edited by

                  @linedancer

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

                  1 Reply Last reply Reply Quote 0
                  • Kaba
                    Kaba @paul53 last edited by

                    @paul53

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

                    1 Reply Last reply Reply Quote 0
                    • Kaba
                      Kaba @paul53 last edited by

                      @paul53

                      Vielen Dank, gute Idee. Habe ich so umgesetzt 👍

                      1 Reply Last reply Reply Quote 0
                      • Kaba
                        Kaba @paul53 last edited by

                        @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 Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        426
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        blockly
                        4
                        27
                        1521
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo