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 eleganter machen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    blockly eleganter machen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @dos1973 last edited by mickym

      @dos1973

      Ich nutze zwar kein blockly sondern Node-Red - aber in diesem Fall ist die Logik Maschine leider nicht die Wurzel des Übels. (Du kannst zwar wie unten beschrieben eine Liste in einem eigen Datenpunkt definieren und dann via Schleife in einem Blockly durchgehen, aber schöner wäre es wenn man mit Wildcards arbeiten könnte).

      Im Prinzip hat iobroker das Problem, dass Du wahrscheinlich mit blockly und auch mit den Node-Red iobroker Nodes immer nur einzelne Nodes abfragen kannst.

      Ich habe das im Forum schon mal versucht zu thematisieren: https://forum.iobroker.net/topic/36470/node-red-und-iobroker-mqtt-watch-dog-funktion/2

      Das Problem ist, dass Du weder mit Blockly (???? da kenn ich mich zu wenig aus) noch mit Node-Red mit Wildcards als Trigger arbeiten kannst. Falls Du mit Blockly mit Wildcards arbeiten kannst - wäre das die eleganteste Lösung.

      Da ich mich mit blockly aber nicht auskenne, habe ich mir mit mqtt beholfen und überwache so meine Shellies .
      Über mqtt überwache ich alle Shellies mit dem Pfad: shellies/+/online also einem einzigen Befehl.

      Sollte also nur ein Shelly seinen Status ändern wird ein trigger erzeugt.

      screen.png

      So eine Watch-Dog Funktion gibt es aber mE in iobroker leider (noch 😉 ) nicht, um mit mehreren Datenpunkten aufeinmal einen Trigger auszulösen. Oder geht das mit Blockly????
      Falls nicht kann man ggf. einen mqtt broker zu nutzen und falls Du den Shelly Adapter nutzt diese Werte an einen mqtt broker weitergibst oder eben direkt auf mqtt switchst.
      Das macht aber auch nur Sinn, wenn man dann wiederum mit Blockly direkt auf einen mqtt-Broker zugreifen kann.?

      So habe ich mir dann eine Übersicht über Status und die wichtigsten Befehle in meinem persönlichen View zu den Shellies zusammengestellt.

      screen.png

      Nach der IP-Adresse haben die Symbole folgende Bedeutung:
      1- eventuelles Firmware Update
      2- Neustart des Shellies
      3- Öffnen des Shellies im Browser
      4- Status Ein/Ausgeschaltet
      5- Offline oder Online (Linkstatus)

      Diese anderen Parameter habe ich aber nur dadurch erreicht in dem ich mir zu den Schaltern eine eigene Alias Struktur gebildet habe, die sofern es die Infos der Hersteller hergeben. Soweit ich Dich aber verstanden habe, ist der Link-Status (rot markiert) das, was Dich interessiert.


      Im Prinzip kannst Du natürlich auch einen Datenpunkt unter userdata als Objekt/Liste definieren und den dann mit einer Schleife durchzählen. Ist immerhin eine Abhilfe - aber schön ist halt anders. 😉

      A Meister Mopper 2 Replies Last reply Reply Quote 0
      • A
        Ahnungsbefreit @mickym last edited by

        @mickym @dos1973 Blockly beherrscht das Triggern auf "Wildcards" über den "ID von Selektor $" Baustein. Ich bin gerade am Handy und habe mir das konkrete Beispiel von @dos1973 noch nicht angesehen aber die Aussage von @mickym ist so nicht richtig. Die Suche hier im Forum hilft da bestimmt weiter...

        mickym 1 Reply Last reply Reply Quote 0
        • Meister Mopper
          Meister Mopper @mickym last edited by

          @mickym Hm, ich sehe da einen Shelly mit gleicher IP und verschiedenen Namen. Kommt das durch Alias?


          c7b9bf93-07b9-4b17-9cf0-60413a4d372c-grafik.png

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Meister Mopper last edited by

            @Meister-Mopper Nein das ist ein Shelly 2.5 - das ist ein Gerät mit 2 Kanälen. Deshalb gleiche IP.

            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Ahnungsbefreit last edited by mickym

              @Ahnungsbefreit Na super - dann wäre das aber doch die Lösung - wenn Blockly mit Wildcards arbeiten kann und Du anhand des konkreten Pfades dann analysierst von welchem Gerät eine Meldung kommt. Eventuell braucht man dann eine Liste nur noch zu Initialisierung - aber man triggert nicht mehr auf Zeit, was auch resourcenschonender ist.

              A 1 Reply Last reply Reply Quote 0
              • A
                Ahnungsbefreit @mickym last edited by

                @mickym @dos1973 ich nutze keine Shellys deswegen kenne ich die Objektstruktur nicht aber ich stelle mir das etwa so vor:

                215449de-01aa-4997-976f-782d3a84e787-image.png

                Der Selektor muss bestimmt noch angepasst werden, habe mir das aus dem Screenshot zusammengesponnen...

                mickym D 3 Replies Last reply Reply Quote 3
                • mickym
                  mickym Most Active @Ahnungsbefreit last edited by mickym

                  @Ahnungsbefreit Ja genau - so meinte ich das. Mein Screenshot kannst nicht verwenden, da kein Shelly Adapter - aber das Prinzip ist genauso wie Du beschrieben hast und meines Erachtens umgesetzt hast. Die Frage ist quasi nur noch, ob man die Schleife zu initialisierung einmal vorher durchlaufen lässt für eine ggf. vorhandene visualisierung, aber das muss @dos1973 selbst beantworten.

                  1 Reply Last reply Reply Quote 0
                  • D
                    dos1973 @Ahnungsbefreit last edited by

                    @Ahnungsbefreit
                    ich probiere das gleich mal aus...

                    1 Reply Last reply Reply Quote 0
                    • D
                      dos1973 @Ahnungsbefreit last edited by

                      @Ahnungsbefreit

                      ich habe das mal nachgebaut

                      Bildschirmfoto 2021-01-03 um 12.58.16.png

                      12:57:54.260	info	javascript.0 (457) script.js.1_Überwachung_Wohnung.shelly_test: ID: ist offline
                      
                      

                      aber die "ID" wird nicht aufgelöst?

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Ahnungsbefreit @dos1973 last edited by

                        @dos1973 "varShellyID" und "varWert" sind falsch. Geh auf "Trigger", da gibt es den roten kleinen Block "ObjectID" und wenn Du auf den Pfeil klickst, kommen mehr Optionen:

                        4e4d65c2-4bf0-496c-af36-777b79be0be3-image.png

                        David G. D 2 Replies Last reply Reply Quote 1
                        • David G.
                          David G. @Ahnungsbefreit last edited by

                          @Ahnungsbefreit

                          Das ist ja sehr praktisch.
                          So könnte ich doch dann auch die Batteriezustände aller HomematicIP Geräte auf einmal überwachen oder?

                          A 1 Reply Last reply Reply Quote 0
                          • D
                            dos1973 @Ahnungsbefreit last edited by

                            @Ahnungsbefreit

                            ahh ok, habs, dachte das wären variablen.
                            das ist schonmal richtig cool 😉

                            13:08:41.243	info	javascript.0 (457) script.js.1_Überwachung_Wohnung.shelly_test: ID: shelly.0.SHPLG-S#020570#1.online ist online
                            

                            aber wie kann ich dem denn jetzt den Namen zuordnen?
                            Bildschirmfoto 2021-01-03 um 13.11.38.png

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              Ahnungsbefreit @David G. last edited by

                              @David-G Ja klar! Wobei es für diesen Zweck schon ein fertiges Script hier im Forum gibt, das nicht nur mit Homematic arbeitet und das Ergebnis auch visualisiert. Einfach mal nach Batterie Script suchen...

                              A David G. 2 Replies Last reply Reply Quote 0
                              • A
                                Ahnungsbefreit @dos1973 last edited by

                                @dos1973 Probier mal so:

                                09a4223f-1e04-409a-95db-1a3251b7b8dc-image.png oder evtl. ein anderer Eintrag aus dem Menü, einfach mal versuchen...

                                D 1 Reply Last reply Reply Quote 0
                                • A
                                  Ahnungsbefreit @Ahnungsbefreit last edited by

                                  @David-G das hier: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    dos1973 @Ahnungsbefreit last edited by

                                    @Ahnungsbefreit

                                    mit "KanalName" gehts.

                                    javascript.0 (457) script.js.1_Überwachung_Wohnung.shelly_test: ID: PlugS-Föhn ist online
                                    
                                    
                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Ahnungsbefreit @dos1973 last edited by

                                      @dos1973 Sehr schön, also ist Blockly doch nicht so unelegant 🙂

                                      Wenn ich Dir helfen konnte, darfst Du meinen Lösungsvorschlag gerne über die kleinen Pfeile rechts unten "upvoten"...

                                      D mickym 2 Replies Last reply Reply Quote 0
                                      • D
                                        dos1973 @Ahnungsbefreit last edited by

                                        @Ahnungsbefreit

                                        Danke Dir!
                                        bin begeistert... ich bau mal mein Script von gestern mit den 20 fachen Wiederholung um... Ich komme bestimmt nochmal

                                        1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Ahnungsbefreit last edited by mickym

                                          @Ahnungsbefreit sagte in blockly eleganter machen:

                                          @dos1973 Sehr schön, also ist Blockly doch nicht so unelegant 🙂

                                          Habe ich ja nicht behauptet - hab gesagt, dass ich mich mit Blockly nicht auskenne - aber halt mit anderen Mitteln so einen Lösungsansatz gewählt habe. 😉 . Aber ist doch super, wie Du hier mit dem Lösungsansatz das Ganze in die richtigen Bahnen gelenkt hast. Vielen Dank auch von mir!

                                          1 Reply Last reply Reply Quote 0
                                          • David G.
                                            David G. @Ahnungsbefreit last edited by David G.

                                            @Ahnungsbefreit

                                            Das habe ich nie wie ich wollte ans laufen bekommen.....

                                            Da ich nur homematic benutze, reicht mir das so.

                                            Eine kleine Frage aber noch.

                                            Reicht das eine "*" im Selektor immer aus, oder braucht man wenn der Datenpunkt in weiteren Unterordner ist noch entsprechend viele weitere Sternchen.

                                            So lasse ich mir eine Telegram senden und eine Notification in meiner VIS.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            868
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            5
                                            72
                                            4361
                                            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