Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly für Müllabfuhrtermine

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly für Müllabfuhrtermine

    This topic has been deleted. Only users with topic management privileges can see it.
    • Chaot
      Chaot @Elektronikwelt last edited by

      @Elektronikwelt Und was ist das für ein Datenformat?
      Das sieht fast aus wie ein ICal Export.

      1 Reply Last reply Reply Quote 0
      • E
        Elektronikwelt last edited by

        Ist ein JSON Format aus dem Web.

        Chaot 1 Reply Last reply Reply Quote 0
        • Chaot
          Chaot @Elektronikwelt last edited by

          @Elektronikwelt
          Ok, das habe ich dann falsch gedeutet.
          In dem Fall wirst du wohl das JSON parsen müssen.
          Wie du das in Blockly umsetzt kann ich dir dann leider nicht erklären.
          Ich könnte dir mein Gasthermenscript anbieten ,it dem ich sowas mache. Das kannst du dir vielleicht mal anschauen um zu sehen wie das abläuft. Eventuell kannst du das ja dann für deine Zwecke nutzen.

          //Script zur Zerlegung der JSON Daten in einzelne Datenpunkte
          //Idee: Chaot
          // Umsetzung: paul53
          
          
          var json = "mqtt.0.Heizung.boiler_data"/*BoilerDaten*/;
          var Vorl = "javascript.0.Heizung.Vorlauf"/*Vorlauf*/;
          var Rueckl = "javascript.0.Heizung.Ruecklauf"/*Ruecklauf*/;
          var WWist = "javascript.0.Heizung.WarmwasserIst"/*Warmwasser Ist*/;
          var WWsoll = "javascript.0.Heizung.WarmwasserSoll"/*Warmwasser Soll*/;
          var Druck = "javascript.0.Heizung.Systemdruck"/*Systemdruck*/;
          var WWAn = "javascript.0.Heizung.WarmwasserAn"/*Warmwasser aktiv*/;
          var WWFlow = "javascript.0.Heizung.WarmwasserDurchfluss"/*Warmwasser Durchfluss*/;
          var GasAn = "javascript.0.Heizung.GasAn"/*Gas aktiv*/;
          var Leistung = "javascript.0.Heizung.Leistung"/*Leistung*/;
          var OutTemp = "javascript.0.Heizung.OutTemp"/*Aussentemperatur*/;
          var BoilTemp = "javascript.0.Heizung.BoilTemp"/*Boilertemperatur*/;
          var BurnStarts = "javascript.0.Heizung.BurnStarts"/*Brennerstarts*/;
          var LaufzeitBrenner = "javascript.0.Heizung.LaufzeitBrenner"/*LaufzeitBrenner*/;
          var LaufzeitWW = "javascript.0.Heizung.LaufzeitWW"/*LaufzeitWW*/;
          var LaufzeitGesamt = "javascript.0.Heizung.LaufzeitGesamt"/*LaufzeitGesamt*/;
          var LaufzeitHeizung = "javascript.0.Heizung.LaufzeitHeizung"/*LaufzeitHeizung*/;
          
          
          on(json, function(dp) {
             var obj = JSON.parse(dp.state.val);
             setState(Vorl, parseFloat(obj.curFlowTemp));
             setState(Rueckl, parseFloat(obj.retTemp));
             setState(WWist, parseFloat(obj.wWCurTmp));
             setState(WWsoll, parseFloat(obj.wWSelTemp));
             setState(Druck, parseFloat(obj.sysPress));
             setState(WWAn, obj.wWActivated);
             setState(WWFlow, obj.wWCurFlow);
             setState(GasAn, obj.burnGas);
             setState(Leistung, obj.curBurnPow);
             setState(OutTemp, obj.outdoorTemp);
             setState(BoilTemp, obj.boilTemp);
             setState(BurnStarts, obj.burnStarts);
             setState(LaufzeitBrenner, obj.burnWorkMin);
             setState(LaufzeitWW, obj.wWWorkM);
             setState(LaufzeitGesamt, obj.UBAuptime);
             setState(LaufzeitHeizung, obj.heatWorkMin);
          });
          
          1 Reply Last reply Reply Quote 0
          • E
            Elektronikwelt last edited by

            @Chaot ich bin nicht ganz fit in Javascript. Ich habe z.B. oben in dem Abruf mehrere cal_id usw. . Wie kann ich diese dementsprechend ablegen?

            Chaot 1 Reply Last reply Reply Quote 0
            • Chaot
              Chaot @Elektronikwelt last edited by

              @Elektronikwelt
              Ich habe jetzt maldeine Kalender etwas übersichtlicher formatiert.
              Vielleicht ist dann etwas besser zu erkennen nach was man sortieren könnte:

              [{"Ack":"Success","id":"mm_termins","messages":[{"status":"OK","msg":"getTermins"}],"_data":[
              {"cal_id":"85676095","cal_date":"2020-01-04","cal_date_normal":"04.01.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676124","cal_date":"2020-01-09","cal_date_normal":"09.01.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676140","cal_date":"2020-01-10","cal_date_normal":"10.01.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676096","cal_date":"2020-01-17","cal_date_normal":"17.01.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676097","cal_date":"2020-01-31","cal_date_normal":"31.01.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676125","cal_date":"2020-02-05","cal_date_normal":"05.02.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676141","cal_date":"2020-02-06","cal_date_normal":"06.02.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676098","cal_date":"2020-02-14","cal_date_normal":"14.02.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676087","cal_date":"2020-02-28","cal_date_normal":"28.02.2020","cal_garbage_type":"BIB_PROB","cal_comment":"beim Bauhof 09:30 - 10:15"},
              {"cal_id":"85676099","cal_date":"2020-02-28","cal_date_normal":"28.02.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676126","cal_date":"2020-03-04","cal_date_normal":"04.03.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676142","cal_date":"2020-03-05","cal_date_normal":"05.03.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676100","cal_date":"2020-03-13","cal_date_normal":"13.03.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676101","cal_date":"2020-03-27","cal_date_normal":"27.03.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676127","cal_date":"2020-04-01","cal_date_normal":"01.04.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676143","cal_date":"2020-04-02","cal_date_normal":"02.04.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676154","cal_date":"2020-04-09","cal_date_normal":"09.04.2020","cal_garbage_type":"BIB_GRUEN","cal_comment":""},
              {"cal_id":"85676102","cal_date":"2020-04-11","cal_date_normal":"11.04.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676103","cal_date":"2020-04-24","cal_date_normal":"24.04.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676128","cal_date":"2020-04-29","cal_date_normal":"29.04.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676144","cal_date":"2020-04-30","cal_date_normal":"30.04.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676104","cal_date":"2020-05-08","cal_date_normal":"08.05.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676105","cal_date":"2020-05-23","cal_date_normal":"23.05.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676129","cal_date":"2020-05-27","cal_date_normal":"27.05.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676145","cal_date":"2020-05-28","cal_date_normal":"28.05.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676106","cal_date":"2020-06-06","cal_date_normal":"06.06.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676107","cal_date":"2020-06-19","cal_date_normal":"19.06.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676130","cal_date":"2020-06-24","cal_date_normal":"24.06.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676146","cal_date":"2020-06-25","cal_date_normal":"25.06.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676108","cal_date":"2020-07-03","cal_date_normal":"03.07.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676109","cal_date":"2020-07-17","cal_date_normal":"17.07.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676131","cal_date":"2020-07-22","cal_date_normal":"22.07.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676147","cal_date":"2020-07-23","cal_date_normal":"23.07.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676110","cal_date":"2020-07-31","cal_date_normal":"31.07.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676111","cal_date":"2020-08-14","cal_date_normal":"14.08.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676132","cal_date":"2020-08-19","cal_date_normal":"19.08.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676148","cal_date":"2020-08-20","cal_date_normal":"20.08.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676112","cal_date":"2020-08-28","cal_date_normal":"28.08.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676113","cal_date":"2020-09-11","cal_date_normal":"11.09.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676133","cal_date":"2020-09-16","cal_date_normal":"16.09.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676149","cal_date":"2020-09-17","cal_date_normal":"17.09.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676114","cal_date":"2020-09-25","cal_date_normal":"25.09.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676088","cal_date":"2020-09-25","cal_date_normal":"25.09.2020","cal_garbage_type":"BIB_PROB","cal_comment":"beim Bauhof 09:30 - 10:15"},
              {"cal_id":"85676115","cal_date":"2020-10-09","cal_date_normal":"09.10.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676134","cal_date":"2020-10-14","cal_date_normal":"14.10.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676150","cal_date":"2020-10-15","cal_date_normal":"15.10.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676116","cal_date":"2020-10-23","cal_date_normal":"23.10.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676117","cal_date":"2020-11-06","cal_date_normal":"06.11.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676135","cal_date":"2020-11-11","cal_date_normal":"11.11.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676151","cal_date":"2020-11-12","cal_date_normal":"12.11.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676155","cal_date":"2020-11-12","cal_date_normal":"12.11.2020","cal_garbage_type":"BIB_GRUEN","cal_comment":""},
              {"cal_id":"85676118","cal_date":"2020-11-20","cal_date_normal":"20.11.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676119","cal_date":"2020-12-04","cal_date_normal":"04.12.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676136","cal_date":"2020-12-09","cal_date_normal":"09.12.2020","cal_garbage_type":"BIB_PAP","cal_comment":""},
              {"cal_id":"85676152","cal_date":"2020-12-10","cal_date_normal":"10.12.2020","cal_garbage_type":"BIB_GELB","cal_comment":""},
              {"cal_id":"85676120","cal_date":"2020-12-18","cal_date_normal":"18.12.2020","cal_garbage_type":"BIB_REST","cal_comment":""},
              {"cal_id":"85676153","cal_date":"2020-12-30","cal_date_normal":"30.12.2020","cal_garbage_type":"BIB_GELB","cal_comment":""}
              ],"_extra":[]}]
              

              Aktuell fällt mir da zwar noch nichts ein, aber vielleicht findet sich ja jemand der hier ein Muster erkennt das man umsetzen kann.

              E 1 Reply Last reply Reply Quote 0
              • E
                Elektronikwelt @Chaot last edited by

                Ja ich hoffe es. Danke trotzdem für deine Mühe

                Chaot 1 Reply Last reply Reply Quote 0
                • Chaot
                  Chaot @Elektronikwelt last edited by

                  @Elektronikwelt
                  Hast du mal Tante Google bemüht ob du JSON in Ical konvertiert bekommst?
                  Oder du nimmst die Datenblöcke und machst schnell ein CSV draus. Das kann der GoogleKalender auch lesen.

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    Das geht "eigentlich" wahrscheinlich ganz einfach.
                    Selbst in Blockly gibt es Blöcke um json auszulesen.

                    Wie das json strukturiert ist kann man sich unter http://jsonviewer.stack.hu/ ansehen

                    Dann muss mann "nur noch" die richtigen Parameter abfragen, dann klappt es.

                    Ich selber habe es noch nicht hinbekommen, aber wer sonst als @paul53 hat mir mal ein Skript in dem ich nach werten per Text-Suche parsen wollte in json-Analyse umgebogen.

                    Ich hatte sonst auch den json2ical Ansatz über google gesucht, finde aber nichts "mal eben" brauchbares

                    1 Reply Last reply Reply Quote 0
                    • E
                      Elektronikwelt last edited by

                      Wie das JSON aufgebaut ist, ist mir bekannt. Nur die Frage ist wie komme ich über Blockly an die richtigen Daten. Genau dieser Ansatz fehlt mir.

                      @paul53 kannst du mir behilflich sein.

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @Elektronikwelt last edited by Homoran

                        @Elektronikwelt sagte in Blockly für Müllabfuhrtermine:

                        Wie das JSON aufgebaut ist, ist mir bekannt.

                        Dann ist ja gut, dann kennst du auch die Bezeichnungen.

                        In Blockly von Paul sah das Zerlegen des JSON etwa so aus:

                        JSON_parse_Blockly.png

                        E 1 Reply Last reply Reply Quote 0
                        • E
                          Elektronikwelt @Homoran last edited by

                          @Homoran danke das werde ich mal die nächsten Tage ausprobieren

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          595
                          Online

                          32.0k
                          Users

                          80.3k
                          Topics

                          1.3m
                          Posts

                          4
                          17
                          866
                          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