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. Warnmeldung im Javascript/Blockly

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    520

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Warnmeldung im Javascript/Blockly

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblockly
17 Beiträge 4 Kommentatoren 2.3k Aufrufe 2 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 DarkSoul

    @crunchip Ich glaube zwar wir reden aneinader vorbei, aber Bitteschön:
    Blockly01.jpg
    Blockly02.jpg

    Und wie gesagt, das Ganze als Javascript ist der txt Java01.
    Wobei ich den auch gerne hier direkt einstelle:
    var Intervall_Anzeige;

    Intervall_Anzeige = setInterval(function () {
      if (getState("mqtt.0.Wasserstand_Teich_2.SWD5.State").val != '0' || getState("mqtt.0.Wasserstand_Teich_2.SWD2.State").val != '0' || getState("mqtt.0.Wasserstand_Teich_2.SWD6.State").val != '0' || getState("mqtt.0.Wasserstand_Teich_2.SWD7.State").val != '0') {
        if (getState("mqtt.0.Wasserstand_Teich_2.SWD5.State").val == '1') {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.GruenhighSWD5"/*GruenhighSWD5*/, 'true');
        } else {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.GruenhighSWD5"/*GruenhighSWD5*/, 'false');
        }
        if (getState("mqtt.0.Wasserstand_Teich_2.SWD2.State").val == '1') {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.RotSWD2"/*RotSWD2*/, 'true');
        } else {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.RotSWD2"/*RotSWD2*/, 'false');
        }
        if (getState("mqtt.0.Wasserstand_Teich_2.SWD6.State").val == '1') {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.GelbSWD6"/*EigeneDatenpunkte.GelbSWD6*/, 'true');
        } else {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.GelbSWD6"/*EigeneDatenpunkte.GelbSWD6*/, 'false');
        }
        if (getState("mqtt.0.Wasserstand_Teich_2.SWD7.State").val == '1') {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.GruenlowSWD7"/*GruenlowSWD7*/, 'true');
        } else {
          setState("javascript.0.scriptEnabled.EigeneDatenpunkte.GruenlowSWD7"/*GruenlowSWD7*/, 'false');
        }
      }
      if (getState("mqtt.0.shellies.Shelly4-fachTeich.relay.2").val == 'on') {
        try {
          require("request")('http://192.168.1.36/control?cmd=GPIO,0,1').on("error", function (e) {console.error(e);});
        } catch (e) { console.error(e); }
      }
      if (compareTime('06:00', '06:02', "between", null)) {
        try {
          require("request")('http://192.168.1.36/control?cmd=GPIO,0,0').on("error", function (e) {console.error(e);});
        } catch (e) { console.error(e); }
      }
      if (getState("fullybrowser.0.192_168_1_133.Info.batteryLevel").val <= '20') {
        try {
          require("request")('http://192.168.1.40/relay/0?turn=on').on("error", function (e) {console.error(e);});
        } catch (e) { console.error(e); }
      }
      if (getState("fullybrowser.0.192_168_1_133.Info.batteryLevel").val > '99') {
        try {
          require("request")('http://192.168.1.40/relay/0?turn=off').on("error", function (e) {console.error(e);});
        } catch (e) { console.error(e); }
      }
    }, 10000);
    

    MOD-Edit. Code in code-tags gesetzt!

    F Offline
    F Offline
    fastfoot
    schrieb am zuletzt editiert von
    #7

    @DarkSoul Du benutzt im Steuere Teil jeweils Strings('true'). Anzunehmen ist dass du boolesche Werte verwenden musst, also so wie im zweiten Block

    bl.PNG

    iobroker läuft unter Docker auf QNAP TS-451+
    SkriptRecovery: https://forum.iobroker.net/post/930558

    D 1 Antwort Letzte Antwort
    0
    • crunchipC crunchip

      @DarkSoul sagte in Warnmeldung im Javascript/Blockly:

      Ich glaube zwar wir reden aneinader vorbei

      nein, du liest/machst nicht was ich schreibe

      @DarkSoul sagte in Warnmeldung im Javascript/Blockly:

      Und wie gesagt, das Ganze als Javascript ist der txt Java01.

      und nein, das ist blockly code, siehe sreen aus deinem text
      01294774-b8a0-46c2-be47-e453c22a3d0c-image.png

      du hast auf blockly exportieren geklickt und den Text kopiert, du solltest auf blockly/JS klicken, das wandelt das blockly in javascript um

      D Offline
      D Offline
      DarkSoul
      schrieb am zuletzt editiert von
      #8

      @crunchip sagte in Warnmeldung im Javascript/Blockly:
      ...

      und nein, das ist blockly code, siehe sreen aus deinem text

      du hast auf blockly exportieren geklickt und den Text kopiert, du solltest auf blockly/JS klicken, das wandelt das blockly in javascript um

      Äh das sind zwei txt Dateien!!! eine Java01.txt und eine Blockly01.txt
      2Texte.jpg

      crunchipC 1 Antwort Letzte Antwort
      0
      • F fastfoot

        @DarkSoul Du benutzt im Steuere Teil jeweils Strings('true'). Anzunehmen ist dass du boolesche Werte verwenden musst, also so wie im zweiten Block

        bl.PNG

        D Offline
        D Offline
        DarkSoul
        schrieb am zuletzt editiert von
        #9

        @fastfoot Ah, könnte sein, werde ich heute Nachmittag mal ausprobieren. Das grüne ist ja nur ein Textfeld.

        Bleiben sie dran...

        A 1 Antwort Letzte Antwort
        0
        • D DarkSoul

          @fastfoot Ah, könnte sein, werde ich heute Nachmittag mal ausprobieren. Das grüne ist ja nur ein Textfeld.

          Bleiben sie dran...

          A Offline
          A Offline
          Adnim
          schrieb am zuletzt editiert von
          #10

          @DarkSoul

          huhu du nutzt den Intervall ohne Trigger und Stop, das kann zu problemen führen, besser nen Trigger setzten auf das was sich ändert wenn du schalten willst, das ist ressoucen schonender. Wenn Intervall, dann immer ein Stopp Block davor.

          Und du solltest wenn du True/false oder 0/1 prüfst die richtigen blöcke nutzen wie fastfoot schon sagte...

          D 1 Antwort Letzte Antwort
          0
          • D DarkSoul

            @crunchip sagte in Warnmeldung im Javascript/Blockly:
            ...

            und nein, das ist blockly code, siehe sreen aus deinem text

            du hast auf blockly exportieren geklickt und den Text kopiert, du solltest auf blockly/JS klicken, das wandelt das blockly in javascript um

            Äh das sind zwei txt Dateien!!! eine Java01.txt und eine Blockly01.txt
            2Texte.jpg

            crunchipC Offline
            crunchipC Offline
            crunchip
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #11

            @DarkSoul heute sehe ich das auch, gestern hat es mir das nicht angezeigt, auch wenn ich deine text Datei angeklickt hatte. Auch wenn ich von der .text Seite zum Thread zurückblättern wollte, ergab es einen Fehler der Seite, also scheinbar ein Browser/Cache Problem meiner seits gewesen, daher das durcheinander.

            Fehler deines Blockly sind ja bereits genannt worden

            umgestiegen von Proxmox auf Unraid

            D 1 Antwort Letzte Antwort
            0
            • A Adnim

              @DarkSoul

              huhu du nutzt den Intervall ohne Trigger und Stop, das kann zu problemen führen, besser nen Trigger setzten auf das was sich ändert wenn du schalten willst, das ist ressoucen schonender. Wenn Intervall, dann immer ein Stopp Block davor.

              Und du solltest wenn du True/false oder 0/1 prüfst die richtigen blöcke nutzen wie fastfoot schon sagte...

              D Offline
              D Offline
              DarkSoul
              schrieb am zuletzt editiert von
              #12

              @Adnim Mh ich habe doch diese riesen "oder" Verknüpfung drin. Werden 4 Datenpunkte (Teich Wasserstand) auf 0/1 überprüft und nur wenn einer davon 1 ist läuft das Schreiben der anderen Datenpunkte (Anzeige) ab.
              Aber stimmt schon, da Zurzeit ein (Teich) Datenpunkt immer 1 ist, läuft der Kram ständig durch.
              Denke ich muss da mal ein wenig entzerren.

              Was ist eigentlich besser, mehrere kleine Scripte oder wenige große?

              A 1 Antwort Letzte Antwort
              0
              • crunchipC crunchip

                @DarkSoul heute sehe ich das auch, gestern hat es mir das nicht angezeigt, auch wenn ich deine text Datei angeklickt hatte. Auch wenn ich von der .text Seite zum Thread zurückblättern wollte, ergab es einen Fehler der Seite, also scheinbar ein Browser/Cache Problem meiner seits gewesen, daher das durcheinander.

                Fehler deines Blockly sind ja bereits genannt worden

                D Offline
                D Offline
                DarkSoul
                schrieb am zuletzt editiert von
                #13

                @crunchip Alles gut, sind ja auch alles nur Scripte und manchmal habe ich das Gefühl die haben ein Eigenleben... :face_with_rolling_eyes:

                1 Antwort Letzte Antwort
                0
                • D DarkSoul

                  @Adnim Mh ich habe doch diese riesen "oder" Verknüpfung drin. Werden 4 Datenpunkte (Teich Wasserstand) auf 0/1 überprüft und nur wenn einer davon 1 ist läuft das Schreiben der anderen Datenpunkte (Anzeige) ab.
                  Aber stimmt schon, da Zurzeit ein (Teich) Datenpunkt immer 1 ist, läuft der Kram ständig durch.
                  Denke ich muss da mal ein wenig entzerren.

                  Was ist eigentlich besser, mehrere kleine Scripte oder wenige große?

                  A Offline
                  A Offline
                  Adnim
                  schrieb am zuletzt editiert von
                  #14

                  @DarkSoul
                  Was ist eigentlich besser, mehrere kleine Scripte oder wenige große?

                  Ist egal. Nur eine Frage des Geschmacks.

                  Das Problem an der Form mit Intervall ist das nun deine CPU alle 10s prüft hat sich was an deinen Datenpunkten geändert. Das gibt schon ganz schön last. Schneller(So kanns ja 10s dauern bis was passiert) und Ressourcen schonender ist es wenn sich ein Datenpunkt ändert dein Skript loszutreten. Also ein Trigger auf die 4 Datenpunkte

                  D 1 Antwort Letzte Antwort
                  0
                  • A Adnim

                    @DarkSoul
                    Was ist eigentlich besser, mehrere kleine Scripte oder wenige große?

                    Ist egal. Nur eine Frage des Geschmacks.

                    Das Problem an der Form mit Intervall ist das nun deine CPU alle 10s prüft hat sich was an deinen Datenpunkten geändert. Das gibt schon ganz schön last. Schneller(So kanns ja 10s dauern bis was passiert) und Ressourcen schonender ist es wenn sich ein Datenpunkt ändert dein Skript loszutreten. Also ein Trigger auf die 4 Datenpunkte

                    D Offline
                    D Offline
                    DarkSoul
                    schrieb am zuletzt editiert von
                    #15

                    @Adnim Scheint funktioniert zu haben mit dem Logik Feld wahr/Falsch. Warnmeldungen sind weg.
                    Danke schon mal.

                    Mh was diesen Trigger durch das Ändern der Datenpunkte betrifft. Ist das nicht genau so eine Last? Wenn die CPU ständig überprüft ob einer der Datenpunkt sich geändert hat oder nicht!?
                    Und einen vergleichbaren Trigger habe ich ja eigentlich drin, direkt nach dem Start des Intervalls werden alle 4 Datenpunkte abgefragt ob sie 0 oder 1 sind. Und nur wenn einer 1, bzw. ungleich 0, ist läuft das Schreiben der anderen Datenpunkte durch.
                    Der Rest dahinter sind nur ein bischen Beleuchtung und die Akkuladung meines Anzeigetablets.

                    A 1 Antwort Letzte Antwort
                    0
                    • D DarkSoul

                      @Adnim Scheint funktioniert zu haben mit dem Logik Feld wahr/Falsch. Warnmeldungen sind weg.
                      Danke schon mal.

                      Mh was diesen Trigger durch das Ändern der Datenpunkte betrifft. Ist das nicht genau so eine Last? Wenn die CPU ständig überprüft ob einer der Datenpunkt sich geändert hat oder nicht!?
                      Und einen vergleichbaren Trigger habe ich ja eigentlich drin, direkt nach dem Start des Intervalls werden alle 4 Datenpunkte abgefragt ob sie 0 oder 1 sind. Und nur wenn einer 1, bzw. ungleich 0, ist läuft das Schreiben der anderen Datenpunkte durch.
                      Der Rest dahinter sind nur ein bischen Beleuchtung und die Akkuladung meines Anzeigetablets.

                      A Offline
                      A Offline
                      Adnim
                      schrieb am zuletzt editiert von
                      #16

                      @DarkSoul

                      nope wenn der DP sich ändert triggert er das skript los. so muss eben nicht alle 10s geprüft werden. Es ist doch viel responsiver wenn das via Trigger läuft, schaltet einer um passiert direkt was.Meine Meinung.

                      Viele Wege zum Ziel...

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        DarkSoul
                        schrieb am zuletzt editiert von
                        #17

                        So kurz nach dem Test war Ende.
                        Hab ein Update auf den JS-Skript Adapter gemacht und dass war es dann. Broker Tot.
                        Kann den Broker.js nicht mehr finden ... komplettes Verzeichnis in dem die Datei sein soll ist leer... :confused:

                        Bisher rund 4 Versuche ihn neu aufzusetzen sind fehl geschlagen, aber ich bleibe dran... Hab ja im Moment genug Zeit...

                        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

                        852

                        Online

                        32.6k

                        Benutzer

                        81.9k

                        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