Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. VORLAGE: Batterieüberwachung HomematicIP mit Blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    VORLAGE: Batterieüberwachung HomematicIP mit Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @David G. last edited by dslraser

      @David-G
      Ich mache das hier so ähnlich, nur das ich alias verwende (weil man dann "schöne Namen" vergeben kann) und keinen Zeitplan (oder jede Minute) verwende, dafür könntest Du einen Selektor verwenden, dann wird nur getriggert wenn sich was ändert bzw. eine Batterie leer ausgibt.

      Edit: sieht dann bei mir z.B. so aus (die HTML Ausgabe ist über die Datenpunkte veränderbar)


      Screenshot_20210105-134159_Chrome.jpg

      oder so

      Screenshot_20210105-134219_Chrome.jpg

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

        @Dr-Bakterius

        Das habe ich gemacht, da ich so leichter den grünen und roten Punkt zuweisen kann.
        Und ich habe volle und leere Batterien nicht gemischt angezeigt.
        Keine Ahnung, ob das beides mit einer Variablen klappt.

        Ist wenig eigenes Können bei ^^, wirklich viel kombiniert was ich gelesen habe.

        @dslraser

        Den Trigger könnte ich wirklich noch ändern, da hast du recht.
        Mit den Namen stimmt.
        Das gute ist, dass in meinem Skript wenigsten der Name genommen wird und nicht die ID.
        Im Rega-Adapter kann man ja auch ausstellen, dass der Name synchronisiert wird. So kann man den auch unter rpc.0 ordentliche Namen vergeben.
        Habe nicht für alles ein Alias, da grade bei den Heizungen viel in einer Gruppe ist, wo ich nur ein Alias für die Gruppe anlege anstatt für zig Thermostate..

        dslraser 2 Replies Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @David G. last edited by dslraser

          @David-G sagte in VORLAGE: Batterieüberwachung HomematicIP mit Blockly:

          Das gute ist, dass in meinem Skript wenigsten der Name genommen wird und nicht die ID.

          Das hat auch wieder Vor und Nachteile. Ich habe es auch mal so gemacht, aber es gibt viele User, die ganz komische Namen vergeben haben...(in der CCU z.B. oder auch anderen Anwendungen die eigene Namen verwenden). Bei mir werden diese Namen auch zur Sprachansage über Alexa benutzt, die sollten sich dann auch aussprechen lassen und sich vernünftig anhören.

          1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @David G. last edited by dslraser

            @David-G sagte in VORLAGE: Batterieüberwachung HomematicIP mit Blockly:

            Im Rega-Adapter kann man ja auch ausstellen, dass der Name synchronisiert wird. So kann man den auch unter rpc.0 ordentliche Namen vergeben.

            das stimmt, aber es gibt noch viele andere Adapter in denen Batterien sind.

            Habe nicht für alles ein Alias, da grade bei den Heizungen viel in einer Gruppe ist, wo ich nur ein Alias für die Gruppe anlege anstatt für zig Thermostate..

            Ich auch nicht, ist ja auch nicht notwendig. Ich möchte ja nur bestimmte Werte auswerten, für die lege ich halt einen alias an.

            Aber, nicht falsch verstehen, alles keine Kritik. Wir können schließlich alle voneinander lernen.
            Und, jeder kann mach was er möchte.

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

              @dslraser

              Kein Ding, verstehe es nicht falsch.
              Erstens hat jeder andere Anforderungen wo und wie es ins Konzept passen muss.
              Zweitens hat jeder einen anderen Wissensstand wie Dinge umgesetzt werden können.
              Da ist es ja Hilfreich auf andere Vorgehensweisen erfahrenen Usern weitergegeben werden.

              Habe hier im Forum bisher sehr viel Hilfe erfahren dürfen, da probiere ich das, was ich mir erarbeitet habe weiterzugeben für andere.

              1 Reply Last reply Reply Quote 1
              • dslraser
                dslraser Forum Testing Most Active @David G. last edited by

                @David-G

                kannst Du bitte Deinen Blockly Export nochmal überprüfen ? (ich wollte mir das gerade mal importieren)

                Bildschirmfoto 2021-01-05 um 14.33.05.png

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

                  @dslraser

                  Hab es oben nochmal neu reinkopiert.
                  Hab grad nur gesehen, dass es noch einen doofen Namen hat. Wenn man sein Testskript dann doch bis zum Ende verwendet ^^.

                  Ich selber bekomme es importiert, gerade mal getestet.

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

                    Ich stelle jetzt mal zu meinem eigenen Script eine Frage.....

                    Weiß jemand, ob ich über eine zweite Liste noch die Erreichbarkeit meiner Geräte anzeigen kann?
                    Man könnte den mittleren Teil des Scripts ja quasi kopieren und auf unreach prüfen.

                    Hab nur Sorge, dass die Reihenfolgen der beiden Listen ggf unterschiedlich sind, da ja nicht jedes Gerät was einen unreach State hat auch einen low_bat State hat.

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

                      @david-g sagte: nicht jedes Gerät was einen unreach State hat auch einen low_bat State hat.

                      So ist es. Wie soll die Liste aussehen? Wie bisher, nur zusätzliche Anzeige von "UNREACH"? Oder alle Geräte und keine Anzeige bei "LOW_BAT", wenn kein "LOW_BAT" vorhanden?

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

                        @paul53

                        Am coolsten wäre einfach noch eine zweite Spalte mit grünen Punkten.
                        Die Tabelle bekomme ich la leicht erweitert, nur der Inhalt ^^.

                        Gerät I Batterie I Empfang

                        Falls das nicht machbar ist, binde ich einfach 2 Tabellen ein.

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

                          @david-g sagte: Am coolsten wäre einfach noch eine zweite Spalte mit grünen Punkten.

                          Das beantwortet meine Frage nicht: Tabelle mit allen Geräten oder nur mit Batterie betriebenen Geräten?

                          Da ohnehin schon die Geräte-ID ermittelt wurde, muss man nur noch den restlichen Teil dranhängen (".0.UNREACH" bzw. ".0.LOW_BAT") und zusätzlich abfragen.

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

                            @paul53

                            Mit allen Geräten.
                            Dann könnte man zB bei Geräten ohne Batterie einen grauen Punkt anzeigen anstatt einen grünen oder roten (oder keinen, falls es leichter ist).

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

                              @david-g sagte: Mit allen Geräten.

                              Dann nimm als Selektor "hm-rpc.0.*.0.UNREACH" und frage zusätzlich

                              parentID + ".0.LOW_BAT"
                              

                              ab, wobei erst mit existstState(id) geprüft werden müsste, ob vorhanden.

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

                                Selektor ändern bekomme ich noch hin ^^.
                                Danach hört es aber auf. Das mit der parentID verstehe ich eh nicht ganz. Steht da nur Dank deiner Hilfe aus dem Thread wo wir es erarbeitet haben. Genau wie beim existstState(id).
                                2 neue Variablen bräuchte ich doch bestimmt auch oder?

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

                                  @david-g sagte:

                                  2 neue Variablen bräuchte ich doch bestimmt auch oder?

                                  Wenn ich mir das Blockly so ansehe, dann eher 3:

                                  @david-g sagte in VORLAGE: Batterieüberwachung HomematicIP mit Blockly:

                                  bei Geräten ohne Batterie einen grauen Punkt anzeigen anstatt einen grünen oder roten

                                  Die HTML-Geschichten muss ich komplett Dir überlassen, denn damit kenne ich mich gar nicht aus.

                                  Eine JS-Funktion checkBatt(id) mit Ergebnis könnte so aussehen

                                  if(existsState(id)) return getState(id).val; // false / true
                                  return -1
                                  

                                  Prinzip der Auswertung:

                                  Bild_2021-01-23_190310.png

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

                                    @paul53

                                    Danke, werde ich morgen einbauen.

                                    Hoffe die Kids lassen es zu.
                                    Im Moment sind die nicht so ausgelastet (Hoffentlich macht der Kindergarten bald wieder auf....).

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

                                      @paul53

                                      Die Auswertung packe ich dann "einfach" mit in die Schleife rein, unter das erste "Falls" (nur eben mit getauschten Selektor im oberen Bereich)?

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

                                        @david-g sagte: Die Auswertung packe ich dann "einfach" mit in die Schleife rein, unter das erste "Falls" (nur eben mit getauschten Selektor im oberen Bereich)?

                                        Ja, so sehe ich das.

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

                                          @paul53

                                          So, habe jetzt mal alles eingebaut und im Screenshot hervorgehoben was neu ist.
                                          Das Uhrsprungsskript habe ich auf Unreach umgestellt, damit alle Geräte erscheinen.

                                          Oben die neue JS-Funktion, dann die Erzeugung des Textes für die Tabelle.
                                          Weiter unten setzte ich den Text ein.

                                          Jetzt habe ich allerdings überall den grauen Punkt (hab erstmal nur den Text eingefügt zur Übersicht anstatt den HTML Code für den Punkt)

                                          Angeblich hat jetzt kein Gerät eine Batterie.

                                          Screenshot_20210124-120226_Chrome~2.jpg

                                          Screenshot_20210124-121225_Fully Kiosk Browser.jpg

                                          paul53 2 Replies Last reply Reply Quote 0
                                          • paul53
                                            paul53 @David G. last edited by

                                            @david-g sagte: Angeblich hat jetzt kein Gerät eine Batterie.

                                            Prüfe mal mit einem Debug-Block, ob die an checkBatt(id) übergebene ID passt.

                                            David G. 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            751
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript template
                                            5
                                            27
                                            2198
                                            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