Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Warnmeldung im Javascript/Blockly

    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

    Warnmeldung im Javascript/Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • crunchip
      crunchip Forum Testing Most Active @DarkSoul last edited by

      @DarkSoul sagte in Warnmeldung im Javascript/Blockly:

      Die Blockly01.txt ist aber das exportierte Script.

      aber als blockly format, deshalb hab ich oben geschrieben, umwandeln und dann hier posten
      38f172a8-a02e-4546-b3dd-08ff642e921a-image.png

      D 1 Reply Last reply Reply Quote 0
      • D
        DarkSoul @crunchip last edited by Homoran

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

        crunchip F 2 Replies Last reply Reply Quote 0
        • crunchip
          crunchip Forum Testing Most Active @DarkSoul last edited by 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 1 Reply Last reply Reply Quote 0
          • F
            fastfoot @DarkSoul last edited by

            @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 1 Reply Last reply Reply Quote 0
            • D
              DarkSoul @crunchip last edited by

              @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

              crunchip 1 Reply Last reply Reply Quote 0
              • D
                DarkSoul @fastfoot last edited by

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

                Bleiben sie dran...

                A 1 Reply Last reply Reply Quote 0
                • A
                  Adnim @DarkSoul last edited by

                  @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 Reply Last reply Reply Quote 0
                  • crunchip
                    crunchip Forum Testing Most Active @DarkSoul last edited by

                    @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 1 Reply Last reply Reply Quote 0
                    • D
                      DarkSoul @Adnim last edited by

                      @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 Reply Last reply Reply Quote 0
                      • D
                        DarkSoul @crunchip last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • A
                          Adnim @DarkSoul last edited by

                          @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 Reply Last reply Reply Quote 0
                          • D
                            DarkSoul @Adnim last edited by

                            @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 Reply Last reply Reply Quote 0
                            • A
                              Adnim @DarkSoul last edited by

                              @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 Reply Last reply Reply Quote 0
                              • D
                                DarkSoul last edited by

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

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

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                789
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                blockly javascript
                                4
                                17
                                1735
                                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