Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. [gelöst] Zugriff auf interne Blockly Variablen

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    438

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    364

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    962

[gelöst] Zugriff auf interne Blockly Variablen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 4 Kommentatoren 325 Aufrufe 3 Beobachtet
  • Ä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.
  • MartinPM Online
    MartinPM Online
    MartinP
    schrieb am zuletzt editiert von MartinP
    #1

    Ich habe folgendes Blockly angelegt:

    7a3ac466-9eb6-4b12-be52-d95a16fc0758-grafik.png

    Schalte ich nun in die Javascript Ansicht um, sehe ich folgendes ...

    on({id: "0_userdata.0.Heizung.Nachtabsenkung"/*Nachtabsenkung*/, change: "any"}, async function (obj) {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      if (getState("0_userdata.0.Heizung.Nachtabsenkung").val == true) {
        console.log('Setze Solltemperatur "Nacht"');
        setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 18.7);
      } else {
        console.log('Setze Solltemperatur "Tag"');
        setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 21.9);
      }
    });
    
    
    

    Kommt man irgendwie ohne Verrenkungen an "value" und "oldValue" über Blockly heran? - würde ggfs. den "falls" Block vereinfachen....

    Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.9) * Linux pve 6.17.13-4 * 6 GByte RAM für den iobroker Container * Fritzbox 6591 FW 8.21 (Vodafone Leih-Box) * Remote-Access über Wireguard der Fritzbox

    HomoranH M paul53P 3 Antworten Letzte Antwort
    0
    • MartinPM MartinP

      Ich habe folgendes Blockly angelegt:

      7a3ac466-9eb6-4b12-be52-d95a16fc0758-grafik.png

      Schalte ich nun in die Javascript Ansicht um, sehe ich folgendes ...

      on({id: "0_userdata.0.Heizung.Nachtabsenkung"/*Nachtabsenkung*/, change: "any"}, async function (obj) {
        let value = obj.state.val;
        let oldValue = obj.oldState.val;
        if (getState("0_userdata.0.Heizung.Nachtabsenkung").val == true) {
          console.log('Setze Solltemperatur "Nacht"');
          setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 18.7);
        } else {
          console.log('Setze Solltemperatur "Tag"');
          setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 21.9);
        }
      });
      
      
      

      Kommt man irgendwie ohne Verrenkungen an "value" und "oldValue" über Blockly heran? - würde ggfs. den "falls" Block vereinfachen....

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

      @martinp sagte in Zugriff auf interne Blockly Variablen:

      Schalte ich nun in die Javascript Ansicht um, sehe ich folgendes ...

      und?

      wo ist das Problem?

      was hat das mit dem Threadtitel zu tun?

      kein Support per PN! - Fragen im Forum stellen -
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      MartinPM 1 Antwort Letzte Antwort
      0
      • MartinPM MartinP

        Ich habe folgendes Blockly angelegt:

        7a3ac466-9eb6-4b12-be52-d95a16fc0758-grafik.png

        Schalte ich nun in die Javascript Ansicht um, sehe ich folgendes ...

        on({id: "0_userdata.0.Heizung.Nachtabsenkung"/*Nachtabsenkung*/, change: "any"}, async function (obj) {
          let value = obj.state.val;
          let oldValue = obj.oldState.val;
          if (getState("0_userdata.0.Heizung.Nachtabsenkung").val == true) {
            console.log('Setze Solltemperatur "Nacht"');
            setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 18.7);
          } else {
            console.log('Setze Solltemperatur "Tag"');
            setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 21.9);
          }
        });
        
        
        

        Kommt man irgendwie ohne Verrenkungen an "value" und "oldValue" über Blockly heran? - würde ggfs. den "falls" Block vereinfachen....

        M Online
        M Online
        MCU
        schrieb am zuletzt editiert von
        #3

        @martinp Trigger -> objectId
        a5aa50d4-5a07-41b0-bfd1-aab015a879d6-image.png

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @martinp sagte in Zugriff auf interne Blockly Variablen:

          Schalte ich nun in die Javascript Ansicht um, sehe ich folgendes ...

          und?

          wo ist das Problem?

          was hat das mit dem Threadtitel zu tun?

          MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von
          #4

          Ohh, da habe ich die Frage noch in den Code - Block gesteckt - werde umformatieren ;-)

          Zeit für frische Luft ...

          Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.9) * Linux pve 6.17.13-4 * 6 GByte RAM für den iobroker Container * Fritzbox 6591 FW 8.21 (Vodafone Leih-Box) * Remote-Access über Wireguard der Fritzbox

          HomoranH 1 Antwort Letzte Antwort
          0
          • MartinPM MartinP

            Ich habe folgendes Blockly angelegt:

            7a3ac466-9eb6-4b12-be52-d95a16fc0758-grafik.png

            Schalte ich nun in die Javascript Ansicht um, sehe ich folgendes ...

            on({id: "0_userdata.0.Heizung.Nachtabsenkung"/*Nachtabsenkung*/, change: "any"}, async function (obj) {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              if (getState("0_userdata.0.Heizung.Nachtabsenkung").val == true) {
                console.log('Setze Solltemperatur "Nacht"');
                setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 18.7);
              } else {
                console.log('Setze Solltemperatur "Tag"');
                setState("mqtt.0.thermostat.desired.temperature"/*thermostat/desired/temperature*/, 21.9);
              }
            });
            
            
            

            Kommt man irgendwie ohne Verrenkungen an "value" und "oldValue" über Blockly heran? - würde ggfs. den "falls" Block vereinfachen....

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

            @martinp sagte: Kommt man irgendwie ohne Verrenkungen an "value" und "oldValue" über Blockly heran?

            Ja. Variable mit identischem Bezeichner erstellen.

            Blockly_temp.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
            1
            • MartinPM MartinP

              Ohh, da habe ich die Frage noch in den Code - Block gesteckt - werde umformatieren ;-)

              Zeit für frische Luft ...

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

              @martinp sagte in Zugriff auf interne Blockly Variablen:

              Ohh, da habe ich die Frage noch in den Code - Block gesteckt

              Das erklärt einiges.
              da ich kein js kann hab ich mir den Code nicht angesehen.

              ja Wert und vorheriger Wert des triggernden Datenpunkts bekommst du mit dem Block, den @MCU dir gezeigt hat.
              aber leider nur von diesem DP

              kein Support per PN! - Fragen im Forum stellen -
              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              MartinPM 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @martinp sagte in Zugriff auf interne Blockly Variablen:

                Ohh, da habe ich die Frage noch in den Code - Block gesteckt

                Das erklärt einiges.
                da ich kein js kann hab ich mir den Code nicht angesehen.

                ja Wert und vorheriger Wert des triggernden Datenpunkts bekommst du mit dem Block, den @MCU dir gezeigt hat.
                aber leider nur von diesem DP

                MartinPM Online
                MartinPM Online
                MartinP
                schrieb am zuletzt editiert von MartinP
                #7

                Hat gut funktioniert ...

                Der Thermostat hat einen Datenpunkt "Solltemperatur" der zu bestimmten Zeiten auf Nacht- bzw Tagtemperatur gesetzt werden soll...

                Mehrschrittiges Vorgehen

                Usersdata-Datenpunkt bool "Nachtabsenkung" (Nachtabsenkung immer zu gleicher Zeit beginnen, Sa/So erfolgt die Taganhebung etwas später. als Werktags)

                1326f5f9-3772-42e7-891d-8dee9c88b5ac-grafik.png

                Hier ein Trick mit "wurde aktualisiert" statt "wurde geändert", um die Solltemperatur zu setzen:

                f4acd711-ceba-415c-a4f9-edf7eeb77909-grafik.png

                Hier wird über die Aktualisierung des Datenpunktes "Raumtemperatur" per 30 Sekunden-Timeout überwacht, ob der ESP8266 des Raumthermostaten noch arbeitet.
                2f7ff832-a632-479b-be85-cedd4a929fc2-grafik.png
                Durch die Aktualiserung des "Nachtabsenkung" Datenpunktes (ohne den Wert zu ändern) wird das Setzen des Solltemperatur-Datenpunktes ausgelöst. Ansonsten würde der Thermostat mit der festverdrahteten Temperatur arbeiten, die die Thermostat-Software bei Neustart einstellt, bis das nächste mal ein Tag <-> Nacht Wechsel passiert ...

                Intel(R) Celeron(R) CPU N3000 @1.04GHz 8G RAM 480G SSD * Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.9) * Linux pve 6.17.13-4 * 6 GByte RAM für den iobroker Container * Fritzbox 6591 FW 8.21 (Vodafone Leih-Box) * Remote-Access über Wireguard der Fritzbox

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                589

                Online

                32.8k

                Benutzer

                82.8k

                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