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

    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>
    

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

    Meine Tabellen für eure Visualisierung klick

    Dr. BakteriusD dslraserD 3 Antworten 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>
      
      Dr. BakteriusD Online
      Dr. BakteriusD Online
      Dr. Bakterius
      Most Active
      schrieb am zuletzt editiert von
      #2

      @David-G Danke! Aber ich denke, es hätte auch eine Variable (statt 'falsch' und 'wahr') gereicht.

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

        @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 Antwort Letzte Antwort
        0
        • Dr. BakteriusD Dr. Bakterius

          @David-G Danke! Aber ich denke, es hätte auch eine Variable (statt 'falsch' und 'wahr') gereicht.

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

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

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

          Meine Tabellen für eure Visualisierung klick

          dslraserD 2 Antworten Letzte Antwort
          0
          • David G.D 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..

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von dslraser
            #5

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

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von dslraser
              #6

              @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 1 Antwort Letzte Antwort
              0
              • 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

                                          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