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. Tester
  4. Blockly

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Blockly

Geplant Angeheftet Gesperrt Verschoben Tester
332 Beiträge 32 Kommentatoren 82.6k Aufrufe
  • Ä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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    schrieb am zuletzt editiert von
    #202

    Willst du nicht so was einbauen wie: "ich schalte das Radio in 2 Minuten aus, druck Knopf um weiter zu hören" ?

    und bei "Radio aus", solltest du noch den Timer stoppen.

    1 Antwort Letzte Antwort
    0
    • M Online
      M Online
      mike2712
      schrieb am zuletzt editiert von
      #203

      Hallo,

      ich bekomme es immer noch nicht am laufen, ich habe glaube ich so ziemlich fast alles ausprobiert.

      @mike2712:

      @Bluefox:

      Kann es sein, dass dein _EG.Flur.Licht.State immer nur "true" ist?

      Dann solltest du auf "wurde aktualisiert" ändern.

      Und bitte im zweiten Fall versuchst du auf ein Wert zu triggern… Du musst Objekt ID nehmen.

      Und natürlich "Javascript" Adapter muss laufen und Skript muss gespeichert sein und auch laufen. `

      EG Flur Licht ist nicht immer "true", ich spiele damit rum.

      2. Fall habe ich auch geändert, ohne Erfolg.

      Javascript Adapter läuft, selbstverständlich speichere ich und aktualisiere nochmals.

      Unter den Adapter Einstellungen habe ich den Haken bei "Erlaube das Kommando "setObject": " gesetzt, aber das hatte wohl auch nichts damit zu tun.

      Benötige ich noch irgendetwas wo ich vielleicht nicht dran denke, oder was mir so nicht bewusst ist (z.B. Cron oder ID Einfügen)?

      Bin irgendwie am verzweifeln.

      blockly.JPG

      Im Log ist nichts zu sehen, weder im Script Log unterhalb der Programmierung, noch in iOBroker.

      Das ist der Auszug aus dem Log "info" von iobroker.

      ! hm-rpc-0 2016-09-12 20:20:19.311 info setValue ["MEQ0276480:1","STATE",false] BOOL
      ! hm-rpc-0 2016-09-12 20:20:15.972 info setValue ["MEQ0276480:1","STATE",true] BOOL
      ! hm-rpc-0 2016-09-12 20:19:47.767 info setValue ["MEQ0276480:1","STATE",false] BOOL

      Lg Mike `

      Folgende Warnungen bekomme ich, kann es damit etwas zu tun haben, weiß leider nicht was das bedeutet.

      ! Home-ioBroker 2016-09-20 19:02:54.094 warn host.Home-ioBroker instance system.adapter.javascript.0 already running with pid 2724
      ! host-Home-ioBroker 2016-09-20 19:02:24.080 warn instance system.adapter.javascript.0 terminated due to SIGTERM
      ! host-Home-ioBroker 2016-09-20 19:02:03.237 warn instance system.adapter.javascript.0 already running with pid 1672
      ! host-Home-ioBroker 2016-09-20 19:01:53.019 warn instance system.adapter.javascript.0 already running with pid 1672
      ! host-Home-ioBroker 2016-09-20 19:01:33.223 warn instance system.adapter.javascript.0 terminated due to SIGTERM
      ! host-Home-ioBroker 2016-09-20 19:01:23.005 warn instance system.adapter.javascript.0 terminated due to SIGTERM
      ! host-Home-ioBroker 2016-09-20 19:00:44.098 warn instance system.adapter.javascript.0 already running with pid 1020
      ! host-Home-ioBroker 2016-09-20 19:00:14.084 warn instance system.adapter.javascript.0 terminated due to SIGTERM

      Gruß Mike

      ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

      1 Antwort Letzte Antwort
      0
      • BluefoxB Offline
        BluefoxB Offline
        Bluefox
        schrieb am zuletzt editiert von
        #204

        @mike2712:

        Hallo,

        egal was und wie ich es mache, ich bekomme mit Blockly kein Licht gesteuert.

        Habe mir die Hilfe auf "https://github.com/ioBroker/ioBroker.ja … ckly_en.md" angeschaut, meiner Meinung nach alles gemacht wie es dort steht. Mache ich irgendetwas grundsätzliches noch falsch ?

        blockly.JPG

        Sollte nicht theoretisch beides funktionieren ? Wenn EG Flur Licht sich ändert, OG 1 Flur Licht einschalten, im ersten teil mit wert von EG Flur, oder im 2. ein?

        Habe auch etliche andere Sachen versucht, möchte zunächst einfach nur ein Licht schalten können, wie ist erst einmal egal.

        Lg Mike `
        Kannst du da debug Ausgaben einbauen? Ob trigger überhaupt funktioniert?

        1 Antwort Letzte Antwort
        0
        • E Offline
          E Offline
          Elektroman
          schrieb am zuletzt editiert von
          #205

          Vielen danke für den Tip Bluefox, frage ist nur wie?

          Wird der timeout beim erneuten drücken des Taster nicht so oder so zurückgesetzt?

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #206

            @Elektroman:

            Vielen danke für den Tip Bluefox, frage ist nur wie?

            Wird der timeout beim erneuten drücken des Taster nicht so oder so zurückgesetzt? `

            Direkt unter dem "timeout"-block (heisst bei die "ausführen" ist ein "clearTimeout" (weiss grad nicht wie der in deutsch heisst … den musst Du nehmen und einbauen wenn Du ausschaltest

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              Elektroman
              schrieb am zuletzt editiert von
              #207

              Puhhhh,

              also

              1. mit Time out stop bekomme ich es leider nicht hin, mir ist leider nicht klar wo ich ihn platzieren muss

              2. bekomme ich leider keine richtige Rückmeldung vom Receiver welcher Eingang gerade ausgewählt ist. Bereutet im Klartext:

              Ich schalte das Radio an und meine Frau schaltet danach auf TV um Timer schaltet leider aus :-(

              1 Antwort Letzte Antwort
              0
              • apollon77A Offline
                apollon77A Offline
                apollon77
                schrieb am zuletzt editiert von
                #208

                "Time out stop" nutzt du um das automatische ausschalten nach ner Stunde zu "stoppen" (also zu verhindern). Also muss es an alle Stellen wo du es stoppen willst … AM einfachsteh muss das in den Block wo du explizit ausschaltest weil Du sollst doppelt ausschaltest - einmal sofort und einmal der Timer später.

                Das Problem mit der Fehlenden Rückmeldung und damit zu frühem ausschalten löst das freilich nicht ;(

                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                1 Antwort Letzte Antwort
                0
                • E Offline
                  E Offline
                  Elektroman
                  schrieb am zuletzt editiert von
                  #209

                  Die Sache mit dem autom. abschalten werde ich jetzt löschen, da ich ja keine Rückmeldung bekomme.

                  Ist aber auch nicht schlimm, vergessen kann man das ja eigentlich nicht ;-)

                  Wichtiger ist die Frage wie ich ein Web-Radiosender weiter schalten kann. Aber das kann mir max. hier der Entwickler des Adapters sagen (auch an dieser Stelle vielen Dank und meinen großen Respekt dafür), oder?

                  Ich habe leider auch keine aktuelle Liste mit Befehlen von YAMAHA gefunden, die ich als "Command" einfügen könnte

                  Noch Jemand eine Idee ?

                  1 Antwort Letzte Antwort
                  0
                  • M Online
                    M Online
                    mike2712
                    schrieb am zuletzt editiert von
                    #210

                    Hallo,

                    @Bluefox:

                    Kannst du da debug Ausgaben einbauen? Ob trigger überhaupt funktioniert? `

                    ja das habe ich nochmals in vielen Varianten versucht, hatte ich auch schon mal hier gepostet "Beitragvon mike2712 » 12.09.2016, 19:11"

                    Kann das etwas mit den Warnungen zu tun haben? Ich denke auch das der Trigger nicht funktioniert, aber warum?

                    Lg Mike

                    ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

                    1 Antwort Letzte Antwort
                    0
                    • rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      schrieb am zuletzt editiert von
                      #211

                      @mike2712:

                      Hallo,

                      egal was und wie ich es mache, ich bekomme mit Blockly kein Licht gesteuert.

                      Habe mir die Hilfe auf "https://github.com/ioBroker/ioBroker.ja … ckly_en.md" angeschaut, meiner Meinung nach alles gemacht wie es dort steht. Mache ich irgendetwas grundsätzliches noch falsch ?

                      blockly.JPG

                      Sollte nicht theoretisch beides funktionieren ? Wenn EG Flur Licht sich ändert, OG 1 Flur Licht einschalten, im ersten teil mit wert von EG Flur, oder im 2. ein?

                      Habe auch etliche andere Sachen versucht, möchte zunächst einfach nur ein Licht schalten können, wie ist erst einmal egal.

                      Lg Mike `

                      Hallo mike2712

                      Dies wird Dir nicht wirklich weiterhelfen.

                      Aber ich habe Dein Blockly mal nach gebaut.
                      147_lampeschaltetlampe.png
                      Beide Versionen funktionieren einwandfrei.

                      Das erzeugte Script sieht so aus.

                      ! on({id: "hm-rpc.0.KEQ0881320.1.STATE"/WZ-TA-LErker:1.STATE/, change: "ne"}, function (obj) {
                      ! var value = obj.state.val;
                      ! var oldValue = obj.oldState.val;
                      ! setState("hm-rpc.0.KEQ1075100.1.STATE"/WZ-Licht-Regal:1.STATE/, getState("hm-rpc.0.KEQ0881320.1.STATE").val);
                      ! });
                      ! on({id: 'hm-rpc.0.KEQ0881320.1.STATE', change: "ne"}, function (obj) {
                      ! var value = obj.state.val;
                      ! var oldValue = obj.oldState.val;
                      ! setState("hm-rpc.0.KEQ1075100.1.STATE"/WZ-Licht-Regal:1.STATE/, getState("hm-rpc.0.KEQ0881320.1.STATE").val);
                      ! });

                      Die Trigger sind in Ordnung. Das Problem muss woanders sein.

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      1 Antwort Letzte Antwort
                      0
                      • M Online
                        M Online
                        mike2712
                        schrieb am zuletzt editiert von
                        #212

                        Hallo
                        @rantanplan:

                        Hallo mike2712

                        Dies wird Dir nicht wirklich weiterhelfen.

                        Aber ich habe Dein Blockly mal nach gebaut.

                        LampeSchaltetLampe.png

                        Beide Versionen funktionieren einwandfrei.

                        Das erzeugte Script sieht so aus.

                        ! on({id: "hm-rpc.0.KEQ0881320.1.STATE"/WZ-TA-LErker:1.STATE/, change: "ne"}, function (obj) {
                        ! var value = obj.state.val;
                        ! var oldValue = obj.oldState.val;
                        ! setState("hm-rpc.0.KEQ1075100.1.STATE"/WZ-Licht-Regal:1.STATE/, getState("hm-rpc.0.KEQ0881320.1.STATE").val);
                        ! });
                        ! on({id: 'hm-rpc.0.KEQ0881320.1.STATE', change: "ne"}, function (obj) {
                        ! var value = obj.state.val;
                        ! var oldValue = obj.oldState.val;
                        ! setState("hm-rpc.0.KEQ1075100.1.STATE"/WZ-Licht-Regal:1.STATE/, getState("hm-rpc.0.KEQ0881320.1.STATE").val);
                        ! });

                        Die Trigger sind in Ordnung. Das Problem muss woanders sein.

                        Grüße `
                        ich habe meins jetzt mal exakt so gemacht wie Dein, natürlich mit meinem Licht.

                        Der Code ist unterschiedlich in der ersten Zeile:

                        ! on({id: 'hm-rpc\.0\.MEQ0276480\.1\.STATE', change: "ne"}, function (obj) {
                        ! var value = obj.state.val;
                        ! var oldValue = obj.oldState.val;
                        ! setState("hm-rpc.0.MEQ0276492.1.STATE"/_OG1 Flur Licht.STATE/, getState("hm-rpc.0.MEQ0276539.1.STATE").val);
                        ! });

                        Ich schau mal, jetzt habe ich ja einen Ansatz, aber verstehe tue ich das nicht.

                        Auch das bringt mich nicht weiter, folgendes script habe ich mit java, ohne Blockly erstellt, geht auch nicht.

                        ! on({id: 'hm-rpc.0.MEQ0276480.1.STATE', change: "ne"}, function (obj) {
                        ! var value = obj.state.val;
                        ! var oldValue = obj.oldState.val;
                        ! setState("hm-rpc.0.MEQ0276492.1.STATE"/_OG1 Flur Licht.STATE/, getState("hm-rpc.0.MEQ0276539.1.STATE").val);
                        ! });

                        Gruß Mike

                        ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

                        1 Antwort Letzte Antwort
                        0
                        • M Online
                          M Online
                          mike2712
                          schrieb am zuletzt editiert von
                          #213

                          Hallo,

                          vielen Dank für die Hilfe, ich hab es jetzt am laufen **** freu ****.

                          Es lag daran das Script unter global und nicht unter common war.

                          Weiß zwar noch nicht wo der Unterschied ist, aber jetzt kann ich loslegen mit dem testen und spielen.

                          Lg Mike

                          ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

                          1 Antwort Letzte Antwort
                          0
                          • rantanplanR Offline
                            rantanplanR Offline
                            rantanplan
                            schrieb am zuletzt editiert von
                            #214

                            @mike2712:

                            Hallo,

                            vielen Dank für die Hilfe, ich hab es jetzt am laufen **** freu ****.

                            Es lag daran das Script unter global und nicht unter common war.

                            Weiß zwar noch nicht wo der Unterschied ist, aber jetzt kann ich loslegen mit dem testen und spielen.

                            Lg Mike `

                            Na dann viel Spaß!

                            Meine Scripte liegen alle oberhalb von "global" und "common".
                            147_blocklyscripte.png
                            Die Bedeutung von "global" und "common" ist mir noch ganz klar.

                            Grüße

                            Rantanplan

                            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                            1 Antwort Letzte Antwort
                            0
                            • rantanplanR Offline
                              rantanplanR Offline
                              rantanplan
                              schrieb am zuletzt editiert von
                              #215

                              Hallo

                              Ich bin gerade dabei meine Heizungsscripte von ScriptGUI nach Blockly zu bringen.

                              Wenn ich das durch habe, kann ich CCU.IO ausschalten :D

                              Jetzt vermisse ich aber einen Baustein in Blockly :(

                              Bei ScriptGUI hieß der "Timespan".

                              Damit konnte man herausfinden ob die aktuelle Zeit innerhalb einen Zeitbereiches ist oder nicht.
                              147_timespan.png

                              Ein erzeugtes Script von dem Baustein sieht so aus.

                              ! function codebox_21(data) {
                              ! var inputlocal_131_out = Start_Zeit_Bereich;
                              ! var inputlocal_132_out = Ende_Zeit_Bereich;
                              ! var now = new Date();
                              ! var time1 = new Date();
                              ! var time2 = new Date();
                              ! var in1 = inputlocal_131_out;
                              ! var in2 = inputlocal_132_out;
                              ! var double1 = in1.split(" ");
                              ! var double2 = in2.split(" ");
                              ! var time;
                              ! var date1;
                              ! var date2;
                              ! if (double1[1]) {
                              ! time = double1[1].split(":");
                              ! date1 = double1[0].split(".");
                              ! date2 = double1[0].split("-");
                              ! } else {
                              ! time = in1.split(":");
                              ! date1 = in1.split(".");
                              ! date2 = in1.split("-");
                              ! }
                              ! if (time.length == 2) {
                              ! time1.setHours(time[0]);
                              ! time1.setMinutes(time[1]);
                              ! }
                              ! if (time.length == 3) {
                              ! time1.setHours(time[0]);
                              ! time1.setMinutes(time[1]);
                              ! time1.setSeconds(time[2]);
                              ! }
                              ! if (date2.length == 3) {
                              ! if (date2[0].length == 4) {
                              ! time1.setFullYear(date2[0]);
                              ! } else {
                              ! time1.setFullYear("20" + date2[0]);
                              ! }
                              ! time1.setMonth(date2[1] - 1);
                              ! time1.setDate(date2[2]);
                              ! }
                              ! if (date1.length == 3) {
                              ! if (date1[0].length == 4) {
                              ! time1.setFullYear(date1[2]);
                              ! } else {
                              ! time1.setFullYear("20" + date1[2]);
                              ! }
                              ! time1.setMonth(date1[1] - 1);
                              ! time1.setDate(date1[0]);
                              ! }
                              ! if (double2[1]) {
                              ! time = double2[1].split(":");
                              ! date1 = double2[0].split(".");
                              ! date2 = double2[0].split("-");
                              ! } else {
                              ! time = in2.split(":");
                              ! date1 = in2.split(".");
                              ! date2 = in2.split("-");
                              ! }
                              ! if (time.length == 2) {
                              ! time2.setHours(time[0]);
                              ! time2.setMinutes(time[1]);
                              ! }
                              ! if (time.length == 3) {
                              ! time2.setHours(time[0]);
                              ! time2.setMinutes(time[1]);
                              ! time2.setSeconds(time[2]);
                              ! }
                              ! if (date2.length == 3) {
                              ! if (date2[0].length == 4) {
                              ! time1.setFullYear(date2[0]);
                              ! } else {
                              ! time1.setFullYear("20" + date2[0]);
                              ! }
                              ! time2.setMonth(date2[1] - 1);
                              ! time2.setDate(date2[2]);
                              ! }
                              ! if (date1.length == 3) {
                              ! if (date1[0].length == 4) {
                              ! time2.setFullYear(date1[2]);
                              ! } else {
                              ! time2.setFullYear("20" + date1[2]);
                              ! }
                              ! time2.setMonth(date1[1] - 1);
                              ! time2.setDate(date1[0]);
                              ! }
                              ! process.send(time1);
                              ! process.send(time2);
                              ! if (time1.valueOf() < now.valueOf() && time2.valueOf() > now.valueOf()) {
                              ! var timespan_57_out = true;
                              ! } else {
                              ! var timespan_57_out = false;
                              ! }
                              ! if (timespan_57_out != false && timespan_57_out != undefined && timespan_57_out != 0) {
                              ! codebox_43(data);
                              ! }
                              ! if (timespan_57_out == false || timespan_57_out == undefined || timespan_57_out == '') {
                              ! codebox_48(data);
                              ! }
                              ! };

                              @Bluefox - Ist es möglich so einen Baustein in Blockly einzubauen?

                              Grüße

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              1 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                robsdobs
                                schrieb am zuletzt editiert von
                                #216

                                @Dutchman:

                                @apollon77:

                                Ein "schedule"-Blockly wo man eine Variable als "Zeit" übergeben kann wäre super. `

                                +1 `
                                Hallo, Danke für die Antwort (sorry das ich jetzt erst antworte).

                                Also ich hab schon mit einer richtigen URL probiert. Aber das Problem ist doch vor dem Bildschirm. Ich hab das Ergebnis (den Rückgabewert) im Parameter result erwartet, dieser ist aber im objekt response.

                                der Blockly
                                1367_blockly_request.png

                                erzeugt den code

                                 require("request")('http://192.168.178.205/addons/xmlapi/rssilist.cgi', function (error, response, result) {
                                      LogObject('error', error);
                                    LogObject('result', result);
                                    LogObject('response', response);
                                    });
                                
                                

                                in response ist jetzt ein objekt

                                response={"statusCode":200,"body":"ergebniss"}
                                

                                Wie greife ich jetzt unter Blockly auf das body zu? Muss ich dazu auf eine Javascript Funktion zurückgreifen, die mir das wieder auseinander nimmt oder gibt es da eine einfache Möglichkeit?

                                Danke & Gruß

                                (LogObject ist folgende Funktion (zum importieren in Blockly):

                                ! ````
                                <block xmlns="http://www.w3.org/1999/xhtml" type="procedures_defcustomnoreturn" id="=m_sG#h6Qfd+Q`;Q/+-k" x="13" y="-87"><mutation statements="false"><arg name="text"></arg>
                                <arg name="data"></arg></mutation>
                                <field name="NAME">LogObject</field>
                                <field name="SCRIPT">CmNvbnNvbGUubG9nKFN0cmluZyh0ZXh0KSArICc9JyArIEpTT04uc3RyaW5naWZ5KGRhdGEpKTsK</field>
                                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment></block>

                                Scripte: http://forum.iobroker.net/viewtopic.php?f=23&amp;t=2799&amp;p=119565#p119565,

                                1 Antwort Letzte Antwort
                                0
                                • BluefoxB Offline
                                  BluefoxB Offline
                                  Bluefox
                                  schrieb am zuletzt editiert von
                                  #217

                                  @robsdobs:

                                  @Dutchman:

                                  @apollon77:

                                  Ein "schedule"-Blockly wo man eine Variable als "Zeit" übergeben kann wäre super. `

                                  +1 `
                                  Hallo, Danke für die Antwort (sorry das ich jetzt erst antworte).

                                  Also ich hab schon mit einer richtigen URL probiert. Aber das Problem ist doch vor dem Bildschirm. Ich hab das Ergebnis (den Rückgabewert) im Parameter result erwartet, dieser ist aber im objekt response.

                                  der Blockly

                                  Blockly_request.PNG

                                  erzeugt den code

                                   require("request")('http://192.168.178.205/addons/xmlapi/rssilist.cgi', function (error, response, result) {
                                        LogObject('error', error);
                                      LogObject('result', result);
                                      LogObject('response', response);
                                      });
                                      
                                  

                                  in response ist jetzt ein objekt

                                  response={"statusCode":200,"body":"ergebniss"}
                                  

                                  Wie greife ich jetzt unter Blockly auf das body zu? Muss ich dazu auf eine Javascript Funktion zurückgreifen, die mir das wieder auseinander nimmt oder gibt es da eine einfache Möglichkeit?

                                  Danke & Gruß

                                  (LogObject ist folgende Funktion (zum importieren in Blockly):

                                  ! <block xmlns="http://www.w3.org/1999/xhtml" type="procedures_defcustomnoreturn" id="=m_sG#h6Qfd+Q`;Q/+-k" x="13" y="-87"><mutation statements="false"><arg name="text"></arg> <arg name="data"></arg></mutation> <field name="NAME">LogObject</field> <field name="SCRIPT">CmNvbnNvbGUubG9nKFN0cmluZyh0ZXh0KSArICc9JyArIEpTT04uc3RyaW5naWZ5KGRhdGEpKTsK</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment></block> `
                                  Es ist komisch, dass result nichts drin hat.

                                  Laut request doku https://www.npmjs.com/package/request :

                                  var request = require('request');
                                  request('http://www.google.com', function (error, response, body) {
                                    if (!error && response.statusCode == 200) {
                                      console.log(body) // Show the HTML for the Google homepage. 
                                    }
                                  })
                                  

                                  muss body in deinem result drin stecken.

                                  Warum dass nicht so ist, weiß ich nicht, aber ich habe bei mir getestet und es geht mit "result".

                                  Du kannst mit dem block nicht auf ein Objekt zugreifen. Dafür muss du mit Funktionen arbeiten.

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    schrieb am zuletzt editiert von
                                    #218

                                    @rantanplan:

                                    Hallo

                                    Ich bin gerade dabei meine Heizungsscripte von ScriptGUI nach Blockly zu bringen.

                                    Wenn ich das durch habe, kann ich CCU.IO ausschalten :D

                                    Jetzt vermisse ich aber einen Baustein in Blockly :(

                                    Bei ScriptGUI hieß der "Timespan".

                                    Damit konnte man herausfinden ob die aktuelle Zeit innerhalb einen Zeitbereiches ist oder nicht.

                                    Timespan.png

                                    Ein erzeugtes Script von dem Baustein sieht so aus.

                                    ! function codebox_21(data) {
                                    ! var inputlocal_131_out = Start_Zeit_Bereich;
                                    ! var inputlocal_132_out = Ende_Zeit_Bereich;
                                    ! var now = new Date();
                                    ! var time1 = new Date();
                                    ! var time2 = new Date();
                                    ! var in1 = inputlocal_131_out;
                                    ! var in2 = inputlocal_132_out;
                                    ! var double1 = in1.split(" ");
                                    ! var double2 = in2.split(" ");
                                    ! var time;
                                    ! var date1;
                                    ! var date2;
                                    ! if (double1[1]) {
                                    ! time = double1[1].split(":");
                                    ! date1 = double1[0].split(".");
                                    ! date2 = double1[0].split("-");
                                    ! } else {
                                    ! time = in1.split(":");
                                    ! date1 = in1.split(".");
                                    ! date2 = in1.split("-");
                                    ! }
                                    ! if (time.length == 2) {
                                    ! time1.setHours(time[0]);
                                    ! time1.setMinutes(time[1]);
                                    ! }
                                    ! if (time.length == 3) {
                                    ! time1.setHours(time[0]);
                                    ! time1.setMinutes(time[1]);
                                    ! time1.setSeconds(time[2]);
                                    ! }
                                    ! if (date2.length == 3) {
                                    ! if (date2[0].length == 4) {
                                    ! time1.setFullYear(date2[0]);
                                    ! } else {
                                    ! time1.setFullYear("20" + date2[0]);
                                    ! }
                                    ! time1.setMonth(date2[1] - 1);
                                    ! time1.setDate(date2[2]);
                                    ! }
                                    ! if (date1.length == 3) {
                                    ! if (date1[0].length == 4) {
                                    ! time1.setFullYear(date1[2]);
                                    ! } else {
                                    ! time1.setFullYear("20" + date1[2]);
                                    ! }
                                    ! time1.setMonth(date1[1] - 1);
                                    ! time1.setDate(date1[0]);
                                    ! }
                                    ! if (double2[1]) {
                                    ! time = double2[1].split(":");
                                    ! date1 = double2[0].split(".");
                                    ! date2 = double2[0].split("-");
                                    ! } else {
                                    ! time = in2.split(":");
                                    ! date1 = in2.split(".");
                                    ! date2 = in2.split("-");
                                    ! }
                                    ! if (time.length == 2) {
                                    ! time2.setHours(time[0]);
                                    ! time2.setMinutes(time[1]);
                                    ! }
                                    ! if (time.length == 3) {
                                    ! time2.setHours(time[0]);
                                    ! time2.setMinutes(time[1]);
                                    ! time2.setSeconds(time[2]);
                                    ! }
                                    ! if (date2.length == 3) {
                                    ! if (date2[0].length == 4) {
                                    ! time1.setFullYear(date2[0]);
                                    ! } else {
                                    ! time1.setFullYear("20" + date2[0]);
                                    ! }
                                    ! time2.setMonth(date2[1] - 1);
                                    ! time2.setDate(date2[2]);
                                    ! }
                                    ! if (date1.length == 3) {
                                    ! if (date1[0].length == 4) {
                                    ! time2.setFullYear(date1[2]);
                                    ! } else {
                                    ! time2.setFullYear("20" + date1[2]);
                                    ! }
                                    ! time2.setMonth(date1[1] - 1);
                                    ! time2.setDate(date1[0]);
                                    ! }
                                    ! process.send(time1);
                                    ! process.send(time2);
                                    ! if (time1.valueOf() < now.valueOf() && time2.valueOf() > now.valueOf()) {
                                    ! var timespan_57_out = true;
                                    ! } else {
                                    ! var timespan_57_out = false;
                                    ! }
                                    ! if (timespan_57_out != false && timespan_57_out != undefined && timespan_57_out != 0) {
                                    ! codebox_43(data);
                                    ! }
                                    ! if (timespan_57_out == false || timespan_57_out == undefined || timespan_57_out == '') {
                                    ! codebox_48(data);
                                    ! }
                                    ! };

                                    @Bluefox - Ist es möglich so einen Baustein in Blockly einzubauen?

                                    Grüße `
                                    Brauchst du wirklich mit Datum oder nur Tageszeit? Weil Tageszeit ist schon implementiert.

                                    1 Antwort Letzte Antwort
                                    0
                                    • rantanplanR Offline
                                      rantanplanR Offline
                                      rantanplan
                                      schrieb am zuletzt editiert von
                                      #219

                                      @Bluefox:

                                      Brauchst du wirklich mit Datum oder nur Tageszeit? Weil Tageszeit ist schon implementiert. `

                                      Hallo Bluefox

                                      Danke für Deine Antwort.

                                      Du meinst wahrscheinlich den Baustein "Aktuelle Zeit ist "{}" "Uhrzeit"".

                                      Der währe gut, wenn "Uhrzeit" über eine Variable gesteuert werden könnte.

                                      So "festverdrahtete" Parameter mag ich nicht, weil man für Änderungen IMMER an das Programm muss.

                                      Das regel ich lieber über Systemvariablen.

                                      Und "Frau" will auch mal was ändern können. (Und die lasse ich besser nicht ans Programm ;) )

                                      Ähnlich "Aktuelle Zeit von "Sonnenaufgang usw." Offset (Minuten).

                                      Der "Offset" sollte variabel sein.

                                      Ich habe es Momentan mit einer Funktion gelöst, die true/false zurückgibt.

                                      {aktuelle Zeit als SS:mm} >= {Zeit_Anfang} UND {aktuelle Zeit als SS:mm} <= {Zeit_Ende}

                                      Wobei "Zeit_Anfang" und "Zeit_Ende" Systemvariablen sind.

                                      Dies funktioniert leider nicht tagesübergreifend. Also zwischen "22:00" und "05:00".

                                      Ein Vergleich mit Zeit/Datum wäre auch nicht schlecht.

                                      Z.B. von 03.03.2017 bis 20.03.2017 ist Urlaub.

                                      (Zeitangaben natürlich variabel ;) )

                                      Grüße

                                      Rantanplan

                                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                      1 Antwort Letzte Antwort
                                      0
                                      • DutchmanD Offline
                                        DutchmanD Offline
                                        Dutchman
                                        Developer Most Active Administrators
                                        schrieb am zuletzt editiert von
                                        #220
                                        • 1 auch ich würde mich freuen wen man diese werte (zeit/timer etc) hard Coded UND als Variable setzen könnte, das macht alles flexibler/dynsmischer

                                        Sent from my iPhone using Tapatalk

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Online
                                          M Online
                                          mike2712
                                          schrieb am zuletzt editiert von
                                          #221

                                          Hallo,

                                          das ist ein super Tool, es macht richtig Spaß, aber ich fände es auch gut wenn ein Vergleich von Wochentagen möglich wäre, .B. sollen meine Jalousien am Wochenende mit anderen Zeiten wie in der Woche gesteuert werden, oder gibt es da was und ich habs nur nicht gefunden?

                                          Lg Mike

                                          ioBroker im Docker auf Qnap TS-453A 16GB Ram 4-Bay

                                          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

                                          906

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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