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 so ist es etwas schwer,
      du kannst das blockly als screenshot zeigen oder besser, oben rechts blockly/JS auf javascript code wechseln und dann den code hier reinstellen

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

        @crunchip Hallöle.
        Das Javascript ist die Java01.txt, s.o.
        Wobei "var Intervall_Anzeige" Zeile 1 ist.
        Ein Screenshot des Blockly ist etwas schwierig, da zu groß für einen Bildschirm, bzw. man kann es dann nicht mehr lesen.
        Die Blockly01.txt ist aber das exportierte Script.

        crunchip 1 Reply Last reply Reply Quote 0
        • 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

                                    737
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

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