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.
  • E Offline
    E Offline
    Elektroman
    schrieb am zuletzt editiert von
    #200

    Danke für die schnelle Antwort,

    1. Da ich bis auf SPS noch nichts prog. habe fehlen mir gewisse Grundlagen, daher kann ich wenig ableiten ( CCU 2 Programme prog. zähle ich mal nicht dazu)

    2. Ich helfe gerne, nur reicht mein jetziges Niveau bestimmt nicht aus um anderen zu helfen ;-)

    3. Besonderes erst mal nichts, weil ich auch nicht richtig Überschauen kann was alles geht.

    Oh doch eine Kleinigkeit, gehört aber nicht hier hin, suche noch die Möglichkeit bei meinem Receiver den Net-Radiosender weiter zu schalten ( mit einer weiteren Taste)

    Für viele bestimmt nur eine Spielerei, für mich ist das aber eine super Sache

    Kurzes drücken auf den "EIB Taster"( der keiner ist) Receiver geht an stellt die Lautstärke ein und Schaltet Net-Radio als Eingang ein.

    Nach einer Stunde geht er automatisch aus oder ich drücke die Taste lange

    Im Alltag bin ich immer zu faul erst das Tablet zu suchen usw….

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

      Ist das so korrekt, oder zu umständlich?

      ![](</s><URL url=)<link_text text="http://uploads.tapatalk-cdn.com/2016092 ... 283815.jpg">http://uploads.tapatalk-cdn.com/20160920/7965789db5e49271fe6bffa315283815.jpg</link_text>" />

      1 Antwort Letzte Antwort
      0
      • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          910

                                          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