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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Rechnen mit Variablen in Blockly

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    40

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Rechnen mit Variablen in Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
12 Beiträge 3 Kommentatoren 2.4k Aufrufe 3 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.
  • HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #1

    kann man mit Variablen in Blockly eigentlich nicht rechnen?

    Ich versuche mich gerade an einem für meine Verhältnisse fortgeschrittenen Programm. Hier will ich mit Variablen arbeiten:

    Heizungsblockly01.png

    Für @paul53 auch als Text:

    var Verbrauch, Alter_Wert, Solltemperatur;
    
    
    Verbrauch = 0;
    Alter_Wert = 0;
    Solltemperatur = 24.1;
    on({id: new RegExp('hm-rega\\.0\\.54003' + "|" + 'hm-rpc\\.0\\.JRT0001572\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.JEQ0064523\\.1\\.TEMPERATURE'), change: "ne"}, function (obj) {
        if (getState("hm-rega.0.54003").val > (obj.oldState ? obj.oldState.val : "")) {
        console.log('Heizung angeschaltet!');
        Alter_Wert = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val;
      } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2 && getState("hm-rpc.0.JRT0001572.1.STATE").val == 0) {
        setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, true);
        console.log((['Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
      } else if (getState("hm-rega.0.54003").val == true && (getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val >= Solltemperatur + 0.2 || getState("hm-rpc.0.JRT0001572.1.STATE").val != 0)) {
        setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
        console.log((['Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
      } else if (getState("hm-rega.0.54003").val == false) {
        setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
        Verbrauch = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val - Alter_Wert;
        console.log(('Stromverbrauch: ' + String(Verbrauch)));
      }
    });
    

    Die Heizung soll nach den eingegebene Werten schlten, leider schaltet sie in meinen Augen immer zu früh. (An schon bei 23.9 und aus bei 24.1)
    Daraufhin habe ich mir die Debug-Bausteine eingebaut und prompt war die letzte Schaltung korrekt, was aber nichts heißen muss wenn der Wert einfach zu schnell fäält/steigt:

    EDIT: so soll er nicht schalten, um 2019-05-26 21:29:25.576 sprang die Heizung an:

    javascript.0	2019-05-26 21:29:25.576	info	script.js.Wetter_und_Klima.Badheizung: Temperatur soll: 24.1, Temperatur ist: 23.9
    javascript.0	2019-05-26 21:12:31.485	info	script.js.Wetter_und_Klima.Badheizung: Temperatur soll: 24.1, Temperatur ist: 24.4
    javascript.0	2019-05-26 21:09:45.472	info	script.js.Wetter_und_Klima.Badheizung: Temperatur soll: 24.1, Temperatur ist: 24.5
    javascript.0	2019-05-26 21:08:24.268	info	script.js.Wetter_und_Klima.Badheizung: Heizung angeschaltet!
    

    Im Text-Output würde ich Klammern setzen:

    statt

    getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2
    

    würde ich schreiben

    getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < (Solltemperatur - 0.2)
    

    Ist das der Grund?
    Dann müsste ich wahrscheinlich vorab noch zwei weitere Variablen "Obergrenze" und "Untergrenze" definieren und dort direkt die Differenz bilden, oder?

    Danke für Hilfe

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    paul53P 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      kann man mit Variablen in Blockly eigentlich nicht rechnen?

      Ich versuche mich gerade an einem für meine Verhältnisse fortgeschrittenen Programm. Hier will ich mit Variablen arbeiten:

      Heizungsblockly01.png

      Für @paul53 auch als Text:

      var Verbrauch, Alter_Wert, Solltemperatur;
      
      
      Verbrauch = 0;
      Alter_Wert = 0;
      Solltemperatur = 24.1;
      on({id: new RegExp('hm-rega\\.0\\.54003' + "|" + 'hm-rpc\\.0\\.JRT0001572\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.JEQ0064523\\.1\\.TEMPERATURE'), change: "ne"}, function (obj) {
          if (getState("hm-rega.0.54003").val > (obj.oldState ? obj.oldState.val : "")) {
          console.log('Heizung angeschaltet!');
          Alter_Wert = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val;
        } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2 && getState("hm-rpc.0.JRT0001572.1.STATE").val == 0) {
          setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, true);
          console.log((['Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
        } else if (getState("hm-rega.0.54003").val == true && (getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val >= Solltemperatur + 0.2 || getState("hm-rpc.0.JRT0001572.1.STATE").val != 0)) {
          setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
          console.log((['Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
        } else if (getState("hm-rega.0.54003").val == false) {
          setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
          Verbrauch = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val - Alter_Wert;
          console.log(('Stromverbrauch: ' + String(Verbrauch)));
        }
      });
      

      Die Heizung soll nach den eingegebene Werten schlten, leider schaltet sie in meinen Augen immer zu früh. (An schon bei 23.9 und aus bei 24.1)
      Daraufhin habe ich mir die Debug-Bausteine eingebaut und prompt war die letzte Schaltung korrekt, was aber nichts heißen muss wenn der Wert einfach zu schnell fäält/steigt:

      EDIT: so soll er nicht schalten, um 2019-05-26 21:29:25.576 sprang die Heizung an:

      javascript.0	2019-05-26 21:29:25.576	info	script.js.Wetter_und_Klima.Badheizung: Temperatur soll: 24.1, Temperatur ist: 23.9
      javascript.0	2019-05-26 21:12:31.485	info	script.js.Wetter_und_Klima.Badheizung: Temperatur soll: 24.1, Temperatur ist: 24.4
      javascript.0	2019-05-26 21:09:45.472	info	script.js.Wetter_und_Klima.Badheizung: Temperatur soll: 24.1, Temperatur ist: 24.5
      javascript.0	2019-05-26 21:08:24.268	info	script.js.Wetter_und_Klima.Badheizung: Heizung angeschaltet!
      

      Im Text-Output würde ich Klammern setzen:

      statt

      getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2
      

      würde ich schreiben

      getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < (Solltemperatur - 0.2)
      

      Ist das der Grund?
      Dann müsste ich wahrscheinlich vorab noch zwei weitere Variablen "Obergrenze" und "Untergrenze" definieren und dort direkt die Differenz bilden, oder?

      Danke für Hilfe

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @Homoran sagte:

      Ist das der Grund?

      Nein, Klammern sind nicht erforderlich (Priorisierung). Javascript ist nicht HM Script.

      Was soll der Vergleich: Wert von Bad_heizen > vorheriger Wert bei 3 Triggerdatenpunkten ? Woher soll der Vergleich wissen, wer gerade getriggert hat ?

      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

      HomoranH 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Homoran sagte:

        Ist das der Grund?

        Nein, Klammern sind nicht erforderlich (Priorisierung). Javascript ist nicht HM Script.

        Was soll der Vergleich: Wert von Bad_heizen > vorheriger Wert bei 3 Triggerdatenpunkten ? Woher soll der Vergleich wissen, wer gerade getriggert hat ?

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @paul53 sagte in Rechnen mit Variablen in Blockly:

        Woher soll der Vergleich wissen, wer gerade getriggert hat ?

        Da gebe ich dir Recht! Aber das ist nicht das Problem, das hat seltsamerweise immer funktioniert.

        Dieser Block sollte nur wenn die Sysvar erstmalig von false auf true geht wirken.
        Dann muss ich das mal mit einer weiteren Variable "erstmalig" versuchen

        Danke

        PS habe gerade noch ein zweites Programm gefunden, von dem ich gar nicht wusste, dass ich es habe. muss mal sehen ob das gestört hat

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        HomoranH 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @paul53 sagte in Rechnen mit Variablen in Blockly:

          Woher soll der Vergleich wissen, wer gerade getriggert hat ?

          Da gebe ich dir Recht! Aber das ist nicht das Problem, das hat seltsamerweise immer funktioniert.

          Dieser Block sollte nur wenn die Sysvar erstmalig von false auf true geht wirken.
          Dann muss ich das mal mit einer weiteren Variable "erstmalig" versuchen

          Danke

          PS habe gerade noch ein zweites Programm gefunden, von dem ich gar nicht wusste, dass ich es habe. muss mal sehen ob das gestört hat

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          Es scheint so als seien die Funktionen "kleiner/größer" und "kleiner/größer gleich" vertauscht, Die Heizung schaltet schon bei 0,2 Differenz an, obwohl da <Wert-2 steht und umgekehrt bei Wert+2 noch nicht ab, obwohl dort größer gleich steht.

          Ansonsten scheint alles zu Laufen, hier noch mal das Blockly (obere Hälfte)Heizungsblockly02.png

          und der Quelltext:

          var erstmalig, Verbrauch, Alter_Wert, Solltemperatur;
          
          
          erstmalig = false;
          Verbrauch = 0;
          Alter_Wert = 0;
          Solltemperatur = 24.1;
          on({id: new RegExp('hm-rega\\.0\\.54003' + "|" + 'hm-rpc\\.0\\.JRT0001572\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.JEQ0064523\\.1\\.TEMPERATURE'), change: "ne"}, function (obj) {
              if (getState("hm-rega.0.54003").val == true && erstmalig == false) {
              erstmalig = true;
              console.log('Heizung angeschaltet!');
              Alter_Wert = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val;
            } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.NEQ0384904.1.STATE").val == false && getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2 && getState("hm-rpc.0.JRT0001572.1.STATE").val == 0) {
              setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, true);
              console.log((['Untergrenze! ','Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
            } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.NEQ0384904.1.STATE").val == true && (getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val >= Solltemperatur + 0.2 || getState("hm-rpc.0.JRT0001572.1.STATE").val != 0)) {
              setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
              console.log((['Obergrenze! ','Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
            } else if (getState("hm-rega.0.54003").val == false) {
              setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
              Verbrauch = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val - Alter_Wert;
              erstmalig = false;
              console.log(('Stromverbrauch: ' + String(Verbrauch)));
            }
          });
          

          Ist das ein bekanntes Issue mit > / >= ?

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          paul53P 2 Antworten Letzte Antwort
          0
          • HomoranH Homoran

            Es scheint so als seien die Funktionen "kleiner/größer" und "kleiner/größer gleich" vertauscht, Die Heizung schaltet schon bei 0,2 Differenz an, obwohl da <Wert-2 steht und umgekehrt bei Wert+2 noch nicht ab, obwohl dort größer gleich steht.

            Ansonsten scheint alles zu Laufen, hier noch mal das Blockly (obere Hälfte)Heizungsblockly02.png

            und der Quelltext:

            var erstmalig, Verbrauch, Alter_Wert, Solltemperatur;
            
            
            erstmalig = false;
            Verbrauch = 0;
            Alter_Wert = 0;
            Solltemperatur = 24.1;
            on({id: new RegExp('hm-rega\\.0\\.54003' + "|" + 'hm-rpc\\.0\\.JRT0001572\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.JEQ0064523\\.1\\.TEMPERATURE'), change: "ne"}, function (obj) {
                if (getState("hm-rega.0.54003").val == true && erstmalig == false) {
                erstmalig = true;
                console.log('Heizung angeschaltet!');
                Alter_Wert = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val;
              } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.NEQ0384904.1.STATE").val == false && getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2 && getState("hm-rpc.0.JRT0001572.1.STATE").val == 0) {
                setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, true);
                console.log((['Untergrenze! ','Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
              } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.NEQ0384904.1.STATE").val == true && (getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val >= Solltemperatur + 0.2 || getState("hm-rpc.0.JRT0001572.1.STATE").val != 0)) {
                setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
                console.log((['Obergrenze! ','Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
              } else if (getState("hm-rega.0.54003").val == false) {
                setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
                Verbrauch = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val - Alter_Wert;
                erstmalig = false;
                console.log(('Stromverbrauch: ' + String(Verbrauch)));
              }
            });
            

            Ist das ein bekanntes Issue mit > / >= ?

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @Homoran sagte:

            Ist das ein bekanntes Issue mit > / >= ?

            Nein, das funktioniert.
            Was ist Griff Bad ? Damit hast Du eine Oder-Verküpfung:
            Temperatur >= Soll + 0,2 ODER Wert Griff bad != 0

            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

            HomoranH 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              Es scheint so als seien die Funktionen "kleiner/größer" und "kleiner/größer gleich" vertauscht, Die Heizung schaltet schon bei 0,2 Differenz an, obwohl da <Wert-2 steht und umgekehrt bei Wert+2 noch nicht ab, obwohl dort größer gleich steht.

              Ansonsten scheint alles zu Laufen, hier noch mal das Blockly (obere Hälfte)Heizungsblockly02.png

              und der Quelltext:

              var erstmalig, Verbrauch, Alter_Wert, Solltemperatur;
              
              
              erstmalig = false;
              Verbrauch = 0;
              Alter_Wert = 0;
              Solltemperatur = 24.1;
              on({id: new RegExp('hm-rega\\.0\\.54003' + "|" + 'hm-rpc\\.0\\.JRT0001572\\.1\\.STATE' + "|" + 'hm-rpc\\.0\\.JEQ0064523\\.1\\.TEMPERATURE'), change: "ne"}, function (obj) {
                  if (getState("hm-rega.0.54003").val == true && erstmalig == false) {
                  erstmalig = true;
                  console.log('Heizung angeschaltet!');
                  Alter_Wert = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val;
                } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.NEQ0384904.1.STATE").val == false && getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val < Solltemperatur - 0.2 && getState("hm-rpc.0.JRT0001572.1.STATE").val == 0) {
                  setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, true);
                  console.log((['Untergrenze! ','Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
                } else if (getState("hm-rega.0.54003").val == true && getState("hm-rpc.0.NEQ0384904.1.STATE").val == true && (getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val >= Solltemperatur + 0.2 || getState("hm-rpc.0.JRT0001572.1.STATE").val != 0)) {
                  setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
                  console.log((['Obergrenze! ','Temperatur soll: ',Solltemperatur,', Temperatur ist: ',getState("hm-rpc.0.JEQ0064523.1.TEMPERATURE").val].join('')));
                } else if (getState("hm-rega.0.54003").val == false) {
                  setState("hm-rpc.0.NEQ0384904.1.STATE"/*Badheizung:1.STATE*/, false);
                  Verbrauch = getState("hm-rpc.0.NEQ0384904.2.ENERGY_COUNTER").val - Alter_Wert;
                  erstmalig = false;
                  console.log(('Stromverbrauch: ' + String(Verbrauch)));
                }
              });
              

              Ist das ein bekanntes Issue mit > / >= ?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @Homoran Vorschlag (verkürzt):

              Blockly_2Punkt_Hzg_mFenster.JPG

              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

              1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Homoran sagte:

                Ist das ein bekanntes Issue mit > / >= ?

                Nein, das funktioniert.
                Was ist Griff Bad ? Damit hast Du eine Oder-Verküpfung:
                Temperatur >= Soll + 0,2 ODER Wert Griff bad != 0

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von Homoran
                #7

                @paul53 sagte in Rechnen mit Variablen in Blockly:

                Was ist Griff Bad ?

                Das ist der Fensterdrehgriffsensor. Wenn ich mach dem Baden das Fenster öffne und vergesse dass die Heizung eigentlich noch läuft, soll sie icht die Straße heizen, wenn die Temperatur fällt.

                @paul53 sagte in Rechnen mit Variablen in Blockly:

                Nein, das funktioniert.

                Klar funktioniert es, nur vertauscht >= hat anscheinend die Funktion von > und umgekehrt. (Bei < ebenso).

                @paul53 sagte in Rechnen mit Variablen in Blockly:

                (verkürzt)

                Hätte mich auch gewundert, wenn da nicht noch von dir etwas optimiertes käme :joy:
                Seh ich mir an! Danke!

                Edit
                Erster Eindruck: Die Verbrauchsberechnung ist raus.

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                paul53P 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @paul53 sagte in Rechnen mit Variablen in Blockly:

                  Was ist Griff Bad ?

                  Das ist der Fensterdrehgriffsensor. Wenn ich mach dem Baden das Fenster öffne und vergesse dass die Heizung eigentlich noch läuft, soll sie icht die Straße heizen, wenn die Temperatur fällt.

                  @paul53 sagte in Rechnen mit Variablen in Blockly:

                  Nein, das funktioniert.

                  Klar funktioniert es, nur vertauscht >= hat anscheinend die Funktion von > und umgekehrt. (Bei < ebenso).

                  @paul53 sagte in Rechnen mit Variablen in Blockly:

                  (verkürzt)

                  Hätte mich auch gewundert, wenn da nicht noch von dir etwas optimiertes käme :joy:
                  Seh ich mir an! Danke!

                  Edit
                  Erster Eindruck: Die Verbrauchsberechnung ist raus.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @Homoran sagte:

                  Die Verbrauchsberechnung ist raus.

                  Alter Wert kann man sich nicht in einer Variablen merken, denn deren Wert überlebt keinen Neustart vom Skript / Adapter / ioBroker / OS. Dafür benötigt man einen Datenpunkt.

                  Wenn ich Blockly programmieren würde, würde es etwa so aussehen:

                  Blockly_2Punkt_Hzg_mFenster.JPG

                  Die Datenpunkt-Zuordnung ergibt sich aus den Variablennamen.

                  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

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @Homoran sagte:

                    Die Verbrauchsberechnung ist raus.

                    Alter Wert kann man sich nicht in einer Variablen merken, denn deren Wert überlebt keinen Neustart vom Skript / Adapter / ioBroker / OS. Dafür benötigt man einen Datenpunkt.

                    Wenn ich Blockly programmieren würde, würde es etwa so aussehen:

                    Blockly_2Punkt_Hzg_mFenster.JPG

                    Die Datenpunkt-Zuordnung ergibt sich aus den Variablennamen.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von Homoran
                    #9

                    @paul53 sagte in Rechnen mit Variablen in Blockly:

                    Die Datenpunkt-Zuordnung ergibt sich aus den Variablennamen.

                    Klar, kein Problem ;-)

                    @paul53 sagte in Rechnen mit Variablen in Blockly:

                    Alter Wert kann man sich nicht in einer Variablen merken, denn deren Wert überlebt keinen Neustart vom Skript / Adapter / ioBroker / OS.

                    Ist in diesem Fall nicht ganz so schlimm, da die Berechnungsfunktion ja nur etw 2-3 Stunden halten muss.
                    Das Bad hat leider eine Unterdeckung im Wärmebedarf und ich schlate vor dem Baden immer die Zusatzheizung an, damit sich die Wände ein wenig aufwärmen und nicht so viel Kondenswasser bildet.
                    Jetzt soll das Bad renoviert werden und evtl. eine Infrarotheizung mit eingebaut werden. Ich würde gerne mal abschätzen welche Leistung diese haben müsste, wenn sie dauernd (mit so einem Programm gesteuert) läuft.

                    Sinn DIESES Programms ist:

                    • Taster im Bad drücken
                    • Sysvar "Bad_heizen" wird auf true gesetzt
                    • Heizung läuft im angegebenen Temperaturbereich intervallweise
                    • Nach dem Baden sollte ich die Heizungsbereitschaft über den Taster wieder abschalten.
                    • SysVar wird auf false gesetzt
                    • Sollte ich das vergessen, weill die Heizung gerade in Standby steht und ich das Fenster öffnen, soll sie natürlich nicht die nächste Stunde bei offenenm Fenster laufen
                    • jetzt neu: zum Abschluss hätte ich gerne die verbrauchte Energie

                    @paul53 sagte in Rechnen mit Variablen in Blockly:

                    Wenn ich Blockly programmieren würde,

                    Ich weiß, aber ich bin noch nicht so weit für pure js :-(

                    @paul53 sagte in Rechnen mit Variablen in Blockly:

                    würde es etwa so aussehen:

                    Da muss ich mich mal reinarbeiten. Funktionen wollte ich immer schon lernen.

                    Nochmals besten Dank!

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    RababersaftR 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @paul53 sagte in Rechnen mit Variablen in Blockly:

                      Die Datenpunkt-Zuordnung ergibt sich aus den Variablennamen.

                      Klar, kein Problem ;-)

                      @paul53 sagte in Rechnen mit Variablen in Blockly:

                      Alter Wert kann man sich nicht in einer Variablen merken, denn deren Wert überlebt keinen Neustart vom Skript / Adapter / ioBroker / OS.

                      Ist in diesem Fall nicht ganz so schlimm, da die Berechnungsfunktion ja nur etw 2-3 Stunden halten muss.
                      Das Bad hat leider eine Unterdeckung im Wärmebedarf und ich schlate vor dem Baden immer die Zusatzheizung an, damit sich die Wände ein wenig aufwärmen und nicht so viel Kondenswasser bildet.
                      Jetzt soll das Bad renoviert werden und evtl. eine Infrarotheizung mit eingebaut werden. Ich würde gerne mal abschätzen welche Leistung diese haben müsste, wenn sie dauernd (mit so einem Programm gesteuert) läuft.

                      Sinn DIESES Programms ist:

                      • Taster im Bad drücken
                      • Sysvar "Bad_heizen" wird auf true gesetzt
                      • Heizung läuft im angegebenen Temperaturbereich intervallweise
                      • Nach dem Baden sollte ich die Heizungsbereitschaft über den Taster wieder abschalten.
                      • SysVar wird auf false gesetzt
                      • Sollte ich das vergessen, weill die Heizung gerade in Standby steht und ich das Fenster öffnen, soll sie natürlich nicht die nächste Stunde bei offenenm Fenster laufen
                      • jetzt neu: zum Abschluss hätte ich gerne die verbrauchte Energie

                      @paul53 sagte in Rechnen mit Variablen in Blockly:

                      Wenn ich Blockly programmieren würde,

                      Ich weiß, aber ich bin noch nicht so weit für pure js :-(

                      @paul53 sagte in Rechnen mit Variablen in Blockly:

                      würde es etwa so aussehen:

                      Da muss ich mich mal reinarbeiten. Funktionen wollte ich immer schon lernen.

                      Nochmals besten Dank!

                      RababersaftR Offline
                      RababersaftR Offline
                      Rababersaft
                      schrieb am zuletzt editiert von Rababersaft
                      #10

                      @Homoran
                      Of topic. Fast.
                      baulich gesehen, ohne jetzt wem vorwegnehmen oder belehren zu wollen, würde ich bei einer Renovierung, anstatt einer Infrarotheizung eher eine Wandheizung a la Fußbodenheizung installieren. Und die dann Steuern. Is nicht sichtbar und hat aber trotzdem die gewünschte Funktion.
                      Hab ich bei mir, im Bad, inkl. Spiegelheizung. Leider noch vor dem iobroker Projekt realisiert... Daher nicht geregelt, aber echt praktisch....

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • RababersaftR Rababersaft

                        @Homoran
                        Of topic. Fast.
                        baulich gesehen, ohne jetzt wem vorwegnehmen oder belehren zu wollen, würde ich bei einer Renovierung, anstatt einer Infrarotheizung eher eine Wandheizung a la Fußbodenheizung installieren. Und die dann Steuern. Is nicht sichtbar und hat aber trotzdem die gewünschte Funktion.
                        Hab ich bei mir, im Bad, inkl. Spiegelheizung. Leider noch vor dem iobroker Projekt realisiert... Daher nicht geregelt, aber echt praktisch....

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #11

                        @Rababersaft
                        Da hatte ich auch schon drüber nachgedacht.
                        Dazu müsste aber ausreichend Wand vorhanden sein in der keine Anschlüsse liegen.
                        Spiegelheizung bei einem 3,5 qm großen spiegel hab ich auch schon drüber nachgedacht.

                        Warum meinst du hat das Bad diese Unterdeckung?
                        Fußbodenheizung bei 5qm Raum reicht halt nicht. Das sind 12,5 cbm raum

                        Andererseits ist es keine große Renovierung. Lediglich die Badewanne soll einer großen Dusche weichen um das Bad für das Alter das unaufhörlich näherkommt vorzubereiten.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        RababersaftR 1 Antwort Letzte Antwort
                        0
                        • HomoranH Homoran

                          @Rababersaft
                          Da hatte ich auch schon drüber nachgedacht.
                          Dazu müsste aber ausreichend Wand vorhanden sein in der keine Anschlüsse liegen.
                          Spiegelheizung bei einem 3,5 qm großen spiegel hab ich auch schon drüber nachgedacht.

                          Warum meinst du hat das Bad diese Unterdeckung?
                          Fußbodenheizung bei 5qm Raum reicht halt nicht. Das sind 12,5 cbm raum

                          Andererseits ist es keine große Renovierung. Lediglich die Badewanne soll einer großen Dusche weichen um das Bad für das Alter das unaufhörlich näherkommt vorzubereiten.

                          RababersaftR Offline
                          RababersaftR Offline
                          Rababersaft
                          schrieb am zuletzt editiert von
                          #12

                          @Homoran sagte in Rechnen mit Variablen in Blockly:

                          @Rababersaft

                          Warum meinst du hat das Bad diese Unterdeckung?
                          Fußbodenheizung bei 5qm Raum reicht halt nicht. Das sind 12,5 cbm raum

                          Hmmm, ich meinte, das es am schönsten ist mit ner Wandheizung. Man kann es fühlen wenn man in den Raum kommt (kann auch sein dass es Einbildung ist). Und, evtl nicht ganz unerheblich, verschiebt man dadurch den Taupunkt weiter nach außen.
                          (Hab ein alleinstehendes Haus...)
                          Daher war damals, bei meiner Renovierung, die Überlegung nicht weit, die Wände auch gleich mit zu bearbeiten. Freu nach dem Motto: wenn ich schon mal dabei bin... 😊

                          (Aber jetzt sind wir Off topic) 😉😎

                          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

                          593

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          Themen

                          1.3m

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

                          • Du hast noch kein Konto? Registrieren

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