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
    742

  • 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 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
                                • paul53P paul53

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

                                  Ja, so sehe ich das.

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

                                  @paul53

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

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

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

                                  Angeblich hat jetzt kein Gerät eine Batterie.

                                  Screenshot_20210124-120226_Chrome~2.jpg

                                  Screenshot_20210124-121225_Fully Kiosk Browser.jpg

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

                                  Meine Tabellen für eure Visualisierung klick

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

                                    @paul53

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

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

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

                                    Angeblich hat jetzt kein Gerät eine Batterie.

                                    Screenshot_20210124-120226_Chrome~2.jpg

                                    Screenshot_20210124-121225_Fully Kiosk Browser.jpg

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

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

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

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

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

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

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

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

                                      @paul53

                                      Sieht eigentlich gut aus.

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

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

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

                                      Meine Tabellen für eure Visualisierung klick

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

                                        @paul53

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

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

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

                                        Angeblich hat jetzt kein Gerät eine Batterie.

                                        Screenshot_20210124-120226_Chrome~2.jpg

                                        Screenshot_20210124-121225_Fully Kiosk Browser.jpg

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

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

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

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

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

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

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

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

                                          @paul53

                                          Das war es. Vielen Dank.

                                          Screenshot_20210124-194910_Fully Kiosk Browser.jpg

                                          Das Garagentor hängt am Netz.

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

                                          Meine Tabellen für eure Visualisierung klick

                                          bambi-archB 1 Antwort Letzte Antwort
                                          0

                                          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

                                          614

                                          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