Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Skripten / Logik
  4. Blockly
  5. VORLAGE: Batterieüberwachung HomematicIP mit Blockly

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    739

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

VORLAGE: Batterieüberwachung HomematicIP mit Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
javascripttemplateblockly
27 Beiträge 5 Kommentatoren 2.7k Aufrufe 3 Beobachtet
  • Ä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.
  • dslraserD 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.D Online
    David G.D Online
    David G.
    schrieb am zuletzt editiert von David G.
    #7

    @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.

    Zeigt eure Lovelace-Visualisierung klick
    (Auch ideal um sich Anregungen zu holen)

    Meine Tabellen für eure Visualisierung klick

    1 Antwort Letzte Antwort
    1
    • David G.D David G.

      Hallo,

      ich habe mir dank der Hilfe im Forum ein Blockly zur Batterieüberwachung meiner HomaticIP-Geräte zusammengeklickt.
      (Ich weiß, dass es schon ein Universalskript gibt.)
      Es werden automatisch alle Geräte gefunden und mit Ihrem Namen in einer HTML Tabelle formatiert.

      Die Tabelle wird jede Minute neu generiert.

      Das Skript kann für alles verwendet werden, was mit wahr und falsch abgebildet werden kann.
      Erreichbarkeit von Geräten, Batterie, Fensterstatus etc. ......

      Im Script ist denke ich alles soweit erklärt.
      Bin nicht soo fit in Blockly, keine Ahnung ob manches Überflüssig oder falsch ist .....
      Scheint aber alles zu klappen.

      Screenshot_20210105-094306_Fully Kiosk Browser.jpg

      Die Formatierung der Tabelle und der Texte kann mit ein wenig HTML angepasst werden.

      Unbenannt.JPG

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="q=Q/4S_nykMJv,R-%5SK">id</variable>
          <variable id="SKh+R[G%ptX]9uv^hB,!">wahr</variable>
          <variable id=";O,|I4cqK/q|U6dt.?NN">falsch</variable>
          <variable id="%62`(Q[9y{,UvP3o}T|/">i</variable>
          <variable id="GI^dumJfw0)4Nzi2HVw`">ParentID</variable>
        </variables>
        <block type="schedule" id="=M?}+$74/A|+fu)hob?*" x="1188" y="463">
          <field name="SCHEDULE">* * * * *</field>
          <statement name="STATEMENT">
            <block type="variables_set" id="dZ;P0S=A~Ue9U{sxWFjF">
              <field name="VAR" id="SKh+R[G%ptX]9uv^hB,!">wahr</field>
              <value name="VALUE">
                <block type="text" id="1Rdn%LJ,UsyiTo}^fQyi">
                  <field name="TEXT"></field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="JoJ{Z)?hFmCa3B.z1B~;">
                  <field name="VAR" id=";O,|I4cqK/q|U6dt.?NN">falsch</field>
                  <value name="VALUE">
                    <block type="text" id="I)B703c6WPKo}@_L8ai^">
                      <field name="TEXT"></field>
                    </block>
                  </value>
                  <next>
                    <block type="controls_forEach" id="VXic[*WK}rqr0-!U:EFy">
                      <field name="VAR" id="%62`(Q[9y{,UvP3o}T|/">i</field>
                      <value name="LIST">
                        <block type="selector" id="vI2MD73D2c=a4z1nh`=`">
                          <field name="TEXT">hm-rpc.0.*.0.LOW_BAT</field>
                        </block>
                      </value>
                      <statement name="DO">
                        <block type="variables_set" id="5%|F-TdcQ{4t*4:+v!]w">
                          <field name="VAR" id="GI^dumJfw0)4Nzi2HVw`">ParentID</field>
                          <value name="VALUE">
                            <block type="text_getSubstring" id="`QFsslqwXJcDRwUQ_z;$" inline="false">
                              <mutation at1="true" at2="true"></mutation>
                              <field name="WHERE1">FROM_START</field>
                              <field name="WHERE2">FROM_START</field>
                              <value name="STRING">
                                <block type="variables_get" id="2K5mqiyK-@A,u?+%_r-I">
                                  <field name="VAR" id="%62`(Q[9y{,UvP3o}T|/">i</field>
                                </block>
                              </value>
                              <value name="AT1">
                                <block type="math_number" id="_q*GktBrg4YS~$oc@#.$">
                                  <field name="NUM">1</field>
                                </block>
                              </value>
                              <value name="AT2">
                                <block type="math_arithmetic" id="BHxb,^*vvK^,t3OWIp~N" inline="false">
                                  <field name="OP">MINUS</field>
                                  <value name="A">
                                    <shadow type="math_number" id="V4^8g/Fq~(QA(Gn,=_g9">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="text_indexOf" id=";@~lMPhmFt@}zblOq8}z" inline="false">
                                      <field name="END">LAST</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="ZxgO1Qq@jpN)?*](o;s%">
                                          <field name="VAR" id="%62`(Q[9y{,UvP3o}T|/">i</field>
                                        </block>
                                      </value>
                                      <value name="FIND">
                                        <shadow type="text" id="xWkYFdwM0dR_rBOFM|zY">
                                          <field name="TEXT">.0.LOW_BAT</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="h-25vZ[WT=N4?QJ3saG%">
                                      <field name="NUM">1</field>
                                    </shadow>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="controls_if" id="[t4#.[R7stu?S`@$u3BW">
                              <mutation else="1"></mutation>
                              <value name="IF0">
                                <block type="get_value_var" id="Iq+@rH{{dyJ9HWgoI~T4">
                                  <field name="ATTR">val</field>
                                  <value name="OID">
                                    <shadow type="text">
                                      <field name="TEXT"></field>
                                    </shadow>
                                    <block type="variables_get" id="B)n%:}PX%zZGvt#JtbR(">
                                      <field name="VAR" id="%62`(Q[9y{,UvP3o}T|/">i</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="variables_set" id="S+Gd]Tap?Ej$]1P.V.(_">
                                  <field name="VAR" id="SKh+R[G%ptX]9uv^hB,!">wahr</field>
                                  <value name="VALUE">
                                    <block type="text_join" id="5?soV=/V!gT:YP;%=C7*">
                                      <mutation items="4"></mutation>
                                      <value name="ADD0">
                                        <block type="variables_get" id="t5Hgf|mSwoVqQ}(:~9Y7">
                                          <field name="VAR" id="SKh+R[G%ptX]9uv^hB,!">wahr</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text" id="xa}qmEJ|8{^pBcPkIB|C">
                                          <field name="TEXT">&lt;tr&gt;&lt;td&gt;</field>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="get_attr" id="N%K=-ar/nF2t;vp68{4;" inline="false">
                                          <value name="PATH">
                                            <shadow type="text" id="NEKfB0mKYNB9yf[p[(LM">
                                              <field name="TEXT">common.name</field>
                                            </shadow>
                                          </value>
                                          <value name="OBJECT">
                                            <block type="procedures_callcustomreturn" id="mBvJ_WhP|}o*z}@Nf9Gx">
                                              <mutation name="GetObjectByID">
                                                <arg name="id"></arg>
                                              </mutation>
                                              <value name="ARG0">
                                                <block type="variables_get" id="D:=8pGehBP5ZOKH2LV2?">
                                                  <field name="VAR" id="GI^dumJfw0)4Nzi2HVw`">ParentID</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="ADD3">
                                        <block type="text" id="2WmqZ^-K89eQ9Z!T.Sg!">
                                          <field name="TEXT">&lt;/td&gt; &lt;td ALIGN="CENTER"&gt;&lt;font size="3"&gt;&lt;b&gt;&lt;font color=red&gt;●&lt;/font&gt; &lt;/td&gt; &lt;/tr&gt;</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                              <statement name="ELSE">
                                <block type="variables_set" id="sh;fX7NWP+]`^FcnbVjU">
                                  <field name="VAR" id=";O,|I4cqK/q|U6dt.?NN">falsch</field>
                                  <value name="VALUE">
                                    <block type="text_join" id="|Xz[CQA5p*BCe{uu*,ir">
                                      <mutation items="4"></mutation>
                                      <value name="ADD0">
                                        <block type="variables_get" id="F4J0jDpn[Na[1p8Ruf=%">
                                          <field name="VAR" id=";O,|I4cqK/q|U6dt.?NN">falsch</field>
                                        </block>
                                      </value>
                                      <value name="ADD1">
                                        <block type="text" id="C+UnHlb%GLN.|tA3o,`C">
                                          <field name="TEXT">&lt;tr&gt;&lt;td&gt;</field>
                                        </block>
                                      </value>
                                      <value name="ADD2">
                                        <block type="get_attr" id="=z[7ycSqfif0h~4Sz*|=" inline="false">
                                          <value name="PATH">
                                            <shadow type="text" id="C*^0Xt3cP0zy%F4#veYO">
                                              <field name="TEXT">common.name</field>
                                            </shadow>
                                          </value>
                                          <value name="OBJECT">
                                            <block type="procedures_callcustomreturn" id=",{*p|W,%6Npy^h.,(XSP">
                                              <mutation name="GetObjectByID">
                                                <arg name="id"></arg>
                                              </mutation>
                                              <value name="ARG0">
                                                <block type="variables_get" id="dgPrr_H^_1Z}0!cS+Iw{">
                                                  <field name="VAR" id="GI^dumJfw0)4Nzi2HVw`">ParentID</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="ADD3">
                                        <block type="text" id="yNUk#G;)wLb1Xq!/%A[M">
                                          <field name="TEXT">&lt;/td&gt; &lt;td ALIGN="CENTER"&gt;&lt;font size="3"&gt;&lt;b&gt;&lt;font color=green&gt;●&lt;/font&gt; &lt;/td&gt; &lt;/tr&gt;</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <next>
                        <block type="update" id="|*Wyl;F2(g0J1J^:!x68">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.VIS.Akkumeldungen.hmip_akku_tabelle</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="text_join" id="CF52S*}*)[vTA|Y~w+@1">
                              <mutation items="5"></mutation>
                              <value name="ADD0">
                                <block type="text" id="yxd%qU_@2Bv39AdiqwQ*">
                                  <field name="TEXT">&lt;table style="width: 100%;"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td width=100%&gt;&lt;b&gt;&lt;font size="3"&gt;Gerät&lt;/b&gt;&lt;/td&gt;&lt;/font&gt; &lt;td ALIGN="CENTER"&gt;&lt;b&gt;&lt;font size="3"&gt;Batteriestatus&lt;/b&gt;&lt;/td&gt;&lt;/font&gt; &lt;/tr&gt;</field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="text" id="`hArP:}QO5fa:5w(*q*y">
                                  <field name="TEXT">&lt;tr&gt; &lt;td colspan="2"&gt; &lt;hr&gt; &lt;/dt&gt; &lt;/tr&gt;</field>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="variables_get" id="!NM$6J~B9mGR:#`~#8V_">
                                  <field name="VAR" id=";O,|I4cqK/q|U6dt.?NN">falsch</field>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="variables_get" id="JwXRwyMGnb)]ut6eTQc-">
                                  <field name="VAR" id="SKh+R[G%ptX]9uv^hB,!">wahr</field>
                                </block>
                              </value>
                              <value name="ADD4">
                                <block type="text" id="#E/@/Eiu!x|i4nvHP^wR">
                                  <field name="TEXT">&lt;/tbody&gt; &lt;/table&gt;</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="procedures_defcustomreturn" id="z1v5P%=uhnATnl`x*fMU" x="1287" y="462">
          <mutation statements="false">
            <arg name="id" varid="q=Q/4S_nykMJv,R-%5SK"></arg>
          </mutation>
          <field name="NAME">GetObjectByID</field>
          <field name="SCRIPT">cmV0dXJuIGdldE9iamVjdChpZCk7</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="comment" id="7b)G*.(ks+o+9/KF?==d" x="1737" y="462">
          <field name="COMMENT">Zum generieren des Namens nötig</field>
        </block>
        <block type="comment" id=",nhkIOk5!S-bl(WQ%W2," x="1763" y="562">
          <field name="COMMENT">Pfad zum überwachten Status. Überall wo sich der Pfad ändern kann ein "*" setzen</field>
        </block>
        <block type="comment" id="E+[,5)F;s:Baq^:PP%:]" x="1388" y="737">
          <field name="COMMENT">Generierung Name</field>
        </block>
        <block type="comment" id="^}0=ESmiwoVU9u;$fX0$" x="2063" y="712">
          <field name="COMMENT">Hier den den ende des Pfades eintragen</field>
        </block>
        <block type="comment" id="7[:rRJVBk6Rksi_#t88m" x="1788" y="863">
          <field name="COMMENT">Für Tabelle nötig</field>
        </block>
        <block type="comment" id="19ql9!tQemk6O^f:c#-L" x="1938" y="913">
          <field name="COMMENT">Erzeugung des Namess des Objektes in der Tabelle</field>
        </block>
        <block type="comment" id="0i38/qZ%GIMlxFe)xf/#" x="2087" y="988">
          <field name="COMMENT">Für Tabelle nötig, hier kann die Farbe des Punktes angepasst werden</field>
        </block>
        <block type="comment" id="ywl:gJJfGwXIx+y1.dD{" x="2088" y="1088">
          <field name="COMMENT">Alles nochmal für "false"</field>
        </block>
        <block type="comment" id="BUtvX0Od,/2F^?SiC^^R" x="1987" y="1238">
          <field name="COMMENT">Für Tabelle nötig</field>
        </block>
        <block type="comment" id=".aipRCl^|NRuCa:O#P-y" x="1188" y="1287">
          <field name="COMMENT">Hier einen selber angelegten Datenpunkt angeben</field>
        </block>
        <block type="comment" id="yI+58LiZf6zrWcujT:fK" x="1937" y="1288">
          <field name="COMMENT">Trennlinie, bei Bedarf entfernen</field>
        </block>
        <block type="comment" id="K9Wwg*_,UJZ|3J{1`}Ry" x="1813" y="1363">
          <field name="COMMENT">Für Tabelle nötig</field>
        </block>
      </xml>
      
      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #8

      @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.D 1 Antwort Letzte Antwort
      0
      • dslraserD dslraser

        @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.D Online
        David G.D Online
        David G.
        schrieb am zuletzt editiert von David G.
        #9

        @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.

        Zeigt eure Lovelace-Visualisierung klick
        (Auch ideal um sich Anregungen zu holen)

        Meine Tabellen für eure Visualisierung klick

        David G.D 1 Antwort Letzte Antwort
        0
        • David G.D 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.D Online
          David G.D Online
          David G.
          schrieb am zuletzt editiert von
          #10

          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.

          Zeigt eure Lovelace-Visualisierung klick
          (Auch ideal um sich Anregungen zu holen)

          Meine Tabellen für eure Visualisierung klick

          paul53P 1 Antwort Letzte Antwort
          0
          • David G.D David G.

            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.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #11

            @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?

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            David G.D 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @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.D Online
              David G.D Online
              David G.
              schrieb am zuletzt editiert von David G.
              #12

              @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.

              Zeigt eure Lovelace-Visualisierung klick
              (Auch ideal um sich Anregungen zu holen)

              Meine Tabellen für eure Visualisierung klick

              paul53P 1 Antwort Letzte Antwort
              0
              • David G.D 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.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #13

                @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.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                David G.D 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @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.D Online
                  David G.D Online
                  David G.
                  schrieb am zuletzt editiert von David G.
                  #14

                  @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).

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • David G.D 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).

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #15

                    @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.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    David G.D 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @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.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von David G.
                      #16

                      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?

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • David G.D 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?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #17

                        @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

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        David G.D 2 Antworten Letzte Antwort
                        1
                        • paul53P 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.D Online
                          David G.D Online
                          David G.
                          schrieb am zuletzt editiert von David G.
                          #18

                          @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....).

                          Zeigt eure Lovelace-Visualisierung klick
                          (Auch ideal um sich Anregungen zu holen)

                          Meine Tabellen für eure Visualisierung klick

                          1 Antwort Letzte Antwort
                          0
                          • paul53P 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.D Online
                            David G.D Online
                            David G.
                            schrieb am zuletzt editiert von
                            #19

                            @paul53

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

                            Zeigt eure Lovelace-Visualisierung klick
                            (Auch ideal um sich Anregungen zu holen)

                            Meine Tabellen für eure Visualisierung klick

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • David G.D David G.

                              @paul53

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

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #20

                              @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.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              David G.D 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @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.D Online
                                David G.D Online
                                David G.
                                schrieb am zuletzt editiert von
                                #21

                                @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

                                Zeigt eure Lovelace-Visualisierung klick
                                (Auch ideal um sich Anregungen zu holen)

                                Meine Tabellen für eure Visualisierung klick

                                paul53P 2 Antworten Letzte Antwort
                                0
                                • David G.D David G.

                                  @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

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #22

                                  @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.

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  David G.D 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @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.D Online
                                    David G.D Online
                                    David G.
                                    schrieb am zuletzt editiert von
                                    #23

                                    @paul53

                                    Sieht eigentlich gut aus.

                                    Da ist der Debug:
                                    Screenshot_20210124-191336_Chrome~2.jpg

                                    Hier das Ergebnis. Die -1 ist vermutlich das Gerät ohne Batterie.
                                    Screenshot_20210124-191428_Chrome.jpg
                                    (Am Handy bekomme ich den Log nicht ordentlich kopiert....)

                                    Zeigt eure Lovelace-Visualisierung klick
                                    (Auch ideal um sich Anregungen zu holen)

                                    Meine Tabellen für eure Visualisierung klick

                                    1 Antwort Letzte Antwort
                                    0
                                    • David G.D David G.

                                      @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

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #24

                                      @david-g sagte: Jetzt habe ich allerdings überall den grauen Punkt

                                      Du prüfst zweimal auf wahr anstelle einmal auf wahr und einmal auf falsch.

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      David G.D 1 Antwort Letzte Antwort
                                      1
                                      • paul53P paul53

                                        @david-g sagte: Jetzt habe ich allerdings überall den grauen Punkt

                                        Du prüfst zweimal auf wahr anstelle einmal auf wahr und einmal auf falsch.

                                        David G.D Online
                                        David G.D Online
                                        David G.
                                        schrieb am zuletzt editiert von David G.
                                        #25

                                        @paul53

                                        Das war es. Vielen Dank.

                                        Screenshot_20210124-194910_Fully Kiosk Browser.jpg

                                        Das Garagentor hängt am Netz.

                                        Zeigt eure Lovelace-Visualisierung klick
                                        (Auch ideal um sich Anregungen zu holen)

                                        Meine Tabellen für eure Visualisierung klick

                                        bambi-archB 1 Antwort Letzte Antwort
                                        0
                                        • David G.D David G.

                                          @paul53

                                          Das war es. Vielen Dank.

                                          Screenshot_20210124-194910_Fully Kiosk Browser.jpg

                                          Das Garagentor hängt am Netz.

                                          bambi-archB Offline
                                          bambi-archB Offline
                                          bambi-arch
                                          schrieb am zuletzt editiert von
                                          #26

                                          @david-g Hallo! Könntest du freundlicher weise einmal das Blockly zum Kopieren reinstellen? Dankeschön!

                                          David G.D 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          562

                                          Online

                                          32.8k

                                          Benutzer

                                          82.7k

                                          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