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. Probleme mit Blockey script

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Probleme mit Blockey script

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 6 Kommentatoren 859 Aufrufe 4 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.
  • D Online
    D Online
    dataeasy
    schrieb am zuletzt editiert von dataeasy
    #1

    kurze Frage habe gerade einen Knoten im Kopf und komme nicht weiter

    Wenn alle Bedingungen im Scrip erfüllt sind triggert der Shelly ohne Proleme auf "true".

    aber er triggert nicht merh auf" False" und ich fragte mich warum...

    813d0e30-aa90-45a2-b461-70de6545c87a-grafik.png

    schedule('{"time":{"start":"00:00","end":"24:00","mode":"minutes","interval":5},"period":{"days":1,"dows":"[0,1,2,3,4,5,6]"},"valid":{"from":"29.03.2023","to":""}}', async function () {
      if (compareTime("05:00", "08:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val > 50) {
        if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 43) {
          setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
        } else if (compareTime("7:30", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 45) {
          setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
        }
      } else if (compareTime("09:00", "17:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val >= 95) {
        if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 46) {
          setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
        } else if (getState("modbus.0.holdingRegisters.40068_PV_Leistung_in_Watt").val <= 3500 || compareTime("16:00", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 51 || getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val <= 94) {
          setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
        }
      } else if (compareTime("18:00", "20:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val >= 70) {
        if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 43) {
          setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
        } else if (compareTime("20:15", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 45 || getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val <= 60) {
          setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
        }
      }
    });
    
    

    Danke für eueren Support

    Thomas BraunT HomoranH 2 Antworten Letzte Antwort
    0
    • D dataeasy

      kurze Frage habe gerade einen Knoten im Kopf und komme nicht weiter

      Wenn alle Bedingungen im Scrip erfüllt sind triggert der Shelly ohne Proleme auf "true".

      aber er triggert nicht merh auf" False" und ich fragte mich warum...

      813d0e30-aa90-45a2-b461-70de6545c87a-grafik.png

      schedule('{"time":{"start":"00:00","end":"24:00","mode":"minutes","interval":5},"period":{"days":1,"dows":"[0,1,2,3,4,5,6]"},"valid":{"from":"29.03.2023","to":""}}', async function () {
        if (compareTime("05:00", "08:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val > 50) {
          if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 43) {
            setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
          } else if (compareTime("7:30", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 45) {
            setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
          }
        } else if (compareTime("09:00", "17:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val >= 95) {
          if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 46) {
            setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
          } else if (getState("modbus.0.holdingRegisters.40068_PV_Leistung_in_Watt").val <= 3500 || compareTime("16:00", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 51 || getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val <= 94) {
            setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
          }
        } else if (compareTime("18:00", "20:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val >= 70) {
          if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 43) {
            setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
          } else if (compareTime("20:15", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 45 || getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val <= 60) {
            setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
          }
        }
      });
      
      

      Danke für eueren Support

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      schrieb am zuletzt editiert von
      #2

      @dataeasy

      Da fehlt ein Trigger/Auslöser.

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      D 1 Antwort Letzte Antwort
      0
      • D dataeasy

        kurze Frage habe gerade einen Knoten im Kopf und komme nicht weiter

        Wenn alle Bedingungen im Scrip erfüllt sind triggert der Shelly ohne Proleme auf "true".

        aber er triggert nicht merh auf" False" und ich fragte mich warum...

        813d0e30-aa90-45a2-b461-70de6545c87a-grafik.png

        schedule('{"time":{"start":"00:00","end":"24:00","mode":"minutes","interval":5},"period":{"days":1,"dows":"[0,1,2,3,4,5,6]"},"valid":{"from":"29.03.2023","to":""}}', async function () {
          if (compareTime("05:00", "08:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val > 50) {
            if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 43) {
              setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
            } else if (compareTime("7:30", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 45) {
              setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
            }
          } else if (compareTime("09:00", "17:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val >= 95) {
            if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 46) {
              setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
            } else if (getState("modbus.0.holdingRegisters.40068_PV_Leistung_in_Watt").val <= 3500 || compareTime("16:00", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 51 || getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val <= 94) {
              setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
            }
          } else if (compareTime("18:00", "20:00", "between") && getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val >= 70) {
            if (getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val <= 43) {
              setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, true);
            } else if (compareTime("20:15", "null", ">=") || getState("shelly.0.SHSW-1#E8DB84AC4CE5#1.ext.temperatureC1").val >= 45 || getState("modbus.0.holdingRegisters.40083_Batterie_SOC").val <= 60) {
              setState("shelly.0.SHSW-1#E8DB84AC4CE5#1.Relay0.Switch"/*Switch*/, false);
            }
          }
        });
        
        

        Danke für eueren Support

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

        @dataeasy muss man verstehen was du da machst?

        sobald von oben nach unten eine Bedingung passt ist Ende.

        direkt der erste falls, sonst falls ist ab 7:30 immer erfolgreich.

        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 -

        D 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @dataeasy muss man verstehen was du da machst?

          sobald von oben nach unten eine Bedingung passt ist Ende.

          direkt der erste falls, sonst falls ist ab 7:30 immer erfolgreich.

          D Online
          D Online
          dataeasy
          schrieb am zuletzt editiert von
          #4

          @homoran es geht um die Steuerung eines Heizstabes der nur aktiv werden soll n den verschiedenen zeiträumen siehe Script in Änhängigkeiten der entsprechenden Trigger !!!

          Problem ist halt True klappt nur false nicht

          HomoranH 1 Antwort Letzte Antwort
          0
          • Thomas BraunT Thomas Braun

            @dataeasy

            Da fehlt ein Trigger/Auslöser.

            D Online
            D Online
            dataeasy
            schrieb am zuletzt editiert von
            #5

            @thomas-braun Trigger sollte meines Erachtens der Zeitplan im Zyklus alle 5 min sein

            DJMarc75D N 2 Antworten Letzte Antwort
            0
            • D dataeasy

              @homoran es geht um die Steuerung eines Heizstabes der nur aktiv werden soll n den verschiedenen zeiträumen siehe Script in Änhängigkeiten der entsprechenden Trigger !!!

              Problem ist halt True klappt nur false nicht

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

              @dataeasy sagte in Probleme mit Blockey script:

              geht um die Steuerung eines Heizstabes der nur aktiv werden soll n den verschiedenen zeiträumen siehe Script in Änhängigkeiten der entsprechenden Trigger !!!

              1.) du hast nur einen Trigger, den man nicht e7nmal vollständig sieht.
              2.) ist der Honweis "siehe Skript" keineswegs hilfreich, wenn ich schreibe dass anhand des Skripts deine genaue Absicht nicht zu erkennen ist.
              3.) ist eine Antwort wie diese überhaupt nicht hilfreich. Würde nur noch getoppt von "das Skript soll machen was ich will".

              Eine präzise Erklärung aller Bedingungen und Folgen wären für dich selber möglicherweise hilfreich zu verstehen, dass das was da steht eben doch nicht das ist was du willst.

              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 -

              D 1 Antwort Letzte Antwort
              0
              • D dataeasy

                @thomas-braun Trigger sollte meines Erachtens der Zeitplan im Zyklus alle 5 min sein

                DJMarc75D Offline
                DJMarc75D Offline
                DJMarc75
                schrieb am zuletzt editiert von
                #7

                @dataeasy sagte in Probleme mit Blockey script:

                alle 5 min sein

                Dann nimm halt mal folgenden Trigger:

                Screenshot 2023-03-30 161915.png

                Lehrling seit 1975 !!!
                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                1 Antwort Letzte Antwort
                0
                • D dataeasy

                  @thomas-braun Trigger sollte meines Erachtens der Zeitplan im Zyklus alle 5 min sein

                  N Offline
                  N Offline
                  Nordischerjung
                  schrieb am zuletzt editiert von
                  #8

                  @dataeasy und warum triggerst du nicht auf deine Batterie % und / oder Temperatur und schaltest dann nach Bedingung Uhrzeit und Temperatur usw.

                  Gruß Nordischerjung

                  sonnige Grüße von der Ostsee

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Homoran

                    @dataeasy sagte in Probleme mit Blockey script:

                    geht um die Steuerung eines Heizstabes der nur aktiv werden soll n den verschiedenen zeiträumen siehe Script in Änhängigkeiten der entsprechenden Trigger !!!

                    1.) du hast nur einen Trigger, den man nicht e7nmal vollständig sieht.
                    2.) ist der Honweis "siehe Skript" keineswegs hilfreich, wenn ich schreibe dass anhand des Skripts deine genaue Absicht nicht zu erkennen ist.
                    3.) ist eine Antwort wie diese überhaupt nicht hilfreich. Würde nur noch getoppt von "das Skript soll machen was ich will".

                    Eine präzise Erklärung aller Bedingungen und Folgen wären für dich selber möglicherweise hilfreich zu verstehen, dass das was da steht eben doch nicht das ist was du willst.

                    D Online
                    D Online
                    dataeasy
                    schrieb am zuletzt editiert von
                    #9

                    @homoran sorry so war das nicht gemeint Asche auf mein Haupt.

                    als Trigger nutze ich aktuell den Zeitplan gesetzt auf tigger alle 5 min

                    Die Absicht des Scriptes ist zu bestimmten Zeiten z.b von 05:00 bis 08:00 einen Heistab ein zu schalten aber nur wenn bestimmte Bedingungen erfüllt sind und diesen auf wieder auszuschalten wenn wenn die definierten Werte von Sensoren erfüllt sind.

                    Dies oben in 3 Unterschiedlichen Zeiträumen erfolgen 05:00-08:00 / 09:00-17:00 / 19:00-22:00

                    Problem ist das der Heistab zwar angeht (shelly wert True) aber leider nicht mehr aus geht (shelly wert false) bzw. nicht immer und ich finde keinen Erklärung..
                    Deswegen habe ich temp schon via Oder Verknüfung eine definierte Uhrzeit eingebaut klappt aber leide rauch nicht

                    Danke

                    HomoranH D 2 Antworten Letzte Antwort
                    0
                    • D dataeasy

                      @homoran sorry so war das nicht gemeint Asche auf mein Haupt.

                      als Trigger nutze ich aktuell den Zeitplan gesetzt auf tigger alle 5 min

                      Die Absicht des Scriptes ist zu bestimmten Zeiten z.b von 05:00 bis 08:00 einen Heistab ein zu schalten aber nur wenn bestimmte Bedingungen erfüllt sind und diesen auf wieder auszuschalten wenn wenn die definierten Werte von Sensoren erfüllt sind.

                      Dies oben in 3 Unterschiedlichen Zeiträumen erfolgen 05:00-08:00 / 09:00-17:00 / 19:00-22:00

                      Problem ist das der Heistab zwar angeht (shelly wert True) aber leider nicht mehr aus geht (shelly wert false) bzw. nicht immer und ich finde keinen Erklärung..
                      Deswegen habe ich temp schon via Oder Verknüfung eine definierte Uhrzeit eingebaut klappt aber leide rauch nicht

                      Danke

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

                      @dataeasy dann bau maldebug Bausteine ein, die dir die aktuellen Parameter für die Bedingungen ausgeben.

                      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 -

                      1 Antwort Letzte Antwort
                      0
                      • D dataeasy

                        @homoran sorry so war das nicht gemeint Asche auf mein Haupt.

                        als Trigger nutze ich aktuell den Zeitplan gesetzt auf tigger alle 5 min

                        Die Absicht des Scriptes ist zu bestimmten Zeiten z.b von 05:00 bis 08:00 einen Heistab ein zu schalten aber nur wenn bestimmte Bedingungen erfüllt sind und diesen auf wieder auszuschalten wenn wenn die definierten Werte von Sensoren erfüllt sind.

                        Dies oben in 3 Unterschiedlichen Zeiträumen erfolgen 05:00-08:00 / 09:00-17:00 / 19:00-22:00

                        Problem ist das der Heistab zwar angeht (shelly wert True) aber leider nicht mehr aus geht (shelly wert false) bzw. nicht immer und ich finde keinen Erklärung..
                        Deswegen habe ich temp schon via Oder Verknüfung eine definierte Uhrzeit eingebaut klappt aber leide rauch nicht

                        Danke

                        D Online
                        D Online
                        dataeasy
                        schrieb am zuletzt editiert von
                        #11

                        @dataeasy uh jetzt hast du mich und wie mache ich das :confounded:

                        CodierknechtC 1 Antwort Letzte Antwort
                        0
                        • D dataeasy

                          @dataeasy uh jetzt hast du mich und wie mache ich das :confounded:

                          CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @dataeasy sagte in Probleme mit Blockey script:

                          und wie mache ich das

                          Im Prinzip so:
                          9e89972a-693c-4845-a72a-494ae279d563-grafik.png
                          Du lässt Dir halt alles ausgeben was von Interesse ist.
                          ... bitte sinnvoll ergänzen!

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          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

                          541

                          Online

                          32.6k

                          Benutzer

                          82.1k

                          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