Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Visualisierung
  4. ioBroker, HABPanel und ng-repeat - die 2.

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

ioBroker, HABPanel und ng-repeat - die 2.

Geplant Angeheftet Gesperrt Verschoben Visualisierung
4 Beiträge 3 Kommentatoren 421 Aufrufe 2 Watching
  • Ä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.
  • jahnbesJ Offline
    jahnbesJ Offline
    jahnbes
    schrieb am zuletzt editiert von jahnbes
    #1

    Ich versuche in einer HABPanel-Visualisierung eine Tabelle darzustellen, in der die Prozentzahl des Batteriezustandes meiner ZigBee-Geräte gelistet ist. Dabei soll beim Unterschreiten von 70% der Hintergrund der Zelle gelb, beim Unterschreiten von 40% rot erscheinen.

    Alle Versuche, dieses mit Hilfe der ng-repeat-Direktive zu erreichen sind gescheitert. Das Problem liegt offensichtlich in der Codezeile

    {{'%.2f' | sprintf:itemValue({{batteries}}) }} 
    

    Hier das ganze Problem in abgespeckter Form in einer Listendarstellung, die nicht funktioniert:

    <ul>
        <li ng-repeat="batteries in ['zigbee.0.0c4314fffe1e2d25.battery', 'zigbee.0.b4e3f9fffed1bd72.battery']">
            {{'%.2f' | sprintf:itemValue({{batteries}}) }}
        </li>
    </ul>
    

    Die Variante

    <ul>
        <li ng-repeat="batteries in ['zigbee.0.0c4314fffe1e2d25.battery', 'zigbee.0.b4e3f9fffed1bd72.battery']">
            {{batteries}}
        </li>
    </ul>
    

    funktioniert problemlos. Nur ist es nicht das, was ich will, da so nur die zwei Strings ausgegeben werden:

    zigbee.0.0c4314fffe1e2d25.battery
    zigbee.0.b4e3f9fffed1bd72.battery
    

    Ich will aber den Inhalt der Items haben, wie ich es üblicherweise mit

    itemValue({{batteries}})
    

    erreiche.

    Hat jemand eine Idee, wie ich

    {{'%.2f' | sprintf:itemValue({{batteries}}) }}
    

    zum Laufen bekommen? Oder einen Tipp, wo ich nachlesen könnte?
    Ich habe schon in etlichen Foren, auch allen von openHAB und HABPanel selbst gesucht und leider nichts gefunden.

    mcm1957M jahnbesJ 2 Antworten Letzte Antwort
    0
    • jahnbesJ jahnbes

      Ich versuche in einer HABPanel-Visualisierung eine Tabelle darzustellen, in der die Prozentzahl des Batteriezustandes meiner ZigBee-Geräte gelistet ist. Dabei soll beim Unterschreiten von 70% der Hintergrund der Zelle gelb, beim Unterschreiten von 40% rot erscheinen.

      Alle Versuche, dieses mit Hilfe der ng-repeat-Direktive zu erreichen sind gescheitert. Das Problem liegt offensichtlich in der Codezeile

      {{'%.2f' | sprintf:itemValue({{batteries}}) }} 
      

      Hier das ganze Problem in abgespeckter Form in einer Listendarstellung, die nicht funktioniert:

      <ul>
          <li ng-repeat="batteries in ['zigbee.0.0c4314fffe1e2d25.battery', 'zigbee.0.b4e3f9fffed1bd72.battery']">
              {{'%.2f' | sprintf:itemValue({{batteries}}) }}
          </li>
      </ul>
      

      Die Variante

      <ul>
          <li ng-repeat="batteries in ['zigbee.0.0c4314fffe1e2d25.battery', 'zigbee.0.b4e3f9fffed1bd72.battery']">
              {{batteries}}
          </li>
      </ul>
      

      funktioniert problemlos. Nur ist es nicht das, was ich will, da so nur die zwei Strings ausgegeben werden:

      zigbee.0.0c4314fffe1e2d25.battery
      zigbee.0.b4e3f9fffed1bd72.battery
      

      Ich will aber den Inhalt der Items haben, wie ich es üblicherweise mit

      itemValue({{batteries}})
      

      erreiche.

      Hat jemand eine Idee, wie ich

      {{'%.2f' | sprintf:itemValue({{batteries}}) }}
      

      zum Laufen bekommen? Oder einen Tipp, wo ich nachlesen könnte?
      Ich habe schon in etlichen Foren, auch allen von openHAB und HABPanel selbst gesucht und leider nichts gefunden.

      mcm1957M Offline
      mcm1957M Offline
      mcm1957
      schrieb am zuletzt editiert von
      #2

      @jahnbes
      I suggest to use the german section for german questions...

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

      LESEN - gute Forenbeitrage

      HomoranH 1 Antwort Letzte Antwort
      0
      • mcm1957M mcm1957

        @jahnbes
        I suggest to use the german section for german questions...

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @mcm57 suggestion accepted

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • jahnbesJ jahnbes

          Ich versuche in einer HABPanel-Visualisierung eine Tabelle darzustellen, in der die Prozentzahl des Batteriezustandes meiner ZigBee-Geräte gelistet ist. Dabei soll beim Unterschreiten von 70% der Hintergrund der Zelle gelb, beim Unterschreiten von 40% rot erscheinen.

          Alle Versuche, dieses mit Hilfe der ng-repeat-Direktive zu erreichen sind gescheitert. Das Problem liegt offensichtlich in der Codezeile

          {{'%.2f' | sprintf:itemValue({{batteries}}) }} 
          

          Hier das ganze Problem in abgespeckter Form in einer Listendarstellung, die nicht funktioniert:

          <ul>
              <li ng-repeat="batteries in ['zigbee.0.0c4314fffe1e2d25.battery', 'zigbee.0.b4e3f9fffed1bd72.battery']">
                  {{'%.2f' | sprintf:itemValue({{batteries}}) }}
              </li>
          </ul>
          

          Die Variante

          <ul>
              <li ng-repeat="batteries in ['zigbee.0.0c4314fffe1e2d25.battery', 'zigbee.0.b4e3f9fffed1bd72.battery']">
                  {{batteries}}
              </li>
          </ul>
          

          funktioniert problemlos. Nur ist es nicht das, was ich will, da so nur die zwei Strings ausgegeben werden:

          zigbee.0.0c4314fffe1e2d25.battery
          zigbee.0.b4e3f9fffed1bd72.battery
          

          Ich will aber den Inhalt der Items haben, wie ich es üblicherweise mit

          itemValue({{batteries}})
          

          erreiche.

          Hat jemand eine Idee, wie ich

          {{'%.2f' | sprintf:itemValue({{batteries}}) }}
          

          zum Laufen bekommen? Oder einen Tipp, wo ich nachlesen könnte?
          Ich habe schon in etlichen Foren, auch allen von openHAB und HABPanel selbst gesucht und leider nichts gefunden.

          jahnbesJ Offline
          jahnbesJ Offline
          jahnbes
          schrieb am zuletzt editiert von
          #4

          @jahnbes
          Das Problem ist gelöst. Hier auf die Schnelle ein Screenshot der Lösung
          zigbee_batteriezustand_1.jpg
          und der zugehörige html-Code:

          <style>
              caption {
                  color: white;
                  font-size: x-large;
              }
          
              th {
                  text-align: center;
                  color: black;
                  background-color: #67eea8b7;
                  font-size: large;
                  font-weight: normal;
              }
          
              .alarm {
                  color: black;
                  background-color: rgb(253, 116, 116);
              }
          
              .attention {
                  color: black;
                  background-color: rgb(252, 234, 115);
              }
          
              td {
                  text-align: center;
                  color: white;
                  font-size: large;
              }
          </style>
          
          <table class="table table-bordered" columns="3">
              <caption>&nbsp;&nbsp;&nbsp;Zigbee-Thermometer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Batteriezustand&nbsp;&nbsp;&nbsp;- 1 -</caption>
              <div ng-app="" ng-init="geraete=[ 
              {raum:'Arbeitszimmer',adresse:'zigbee.0.00158d0008ce4367.'},
              {raum:'Schlafzimmer',adresse:'zigbee.0.00158d0008c11f15.'},
              {raum:'Wohnzimmer',adresse:'zigbee.0.00158d0008385f00.'}
              ]">
                  <tr>
                      <th>Raum</th>
                      <th>Prozent</th>
                      <th>Spannung</th>
                  </tr>
                  <tr ng-repeat="x in geraete">
                      <td>{{x.raum}}</td>
                      <td ng-init="percentV=itemValue(x.adresse+'battery')" ng-class="{'alarm': percentV <= 40, 'attention': percentV > 40 && percentV < 70}">
                          {{'%.0f' | sprintf:percentV}} %</td>
                      <td>{{'%.2f' | sprintf:itemValue(x.adresse+'voltage')}} V</td>
                  </tr>
              </div>
          </table>
          

          Und hier ein Screenshot einer komplizierteren Tabelle:
          zigbee_geraete_tabelle.jpg
          Ich bereite einen ausführlichen Beitrag vor. Wenn er im Netz ist, verlinke ich ihn hier.
          Viele Grüße, jahnbes.

          1 Antwort Letzte Antwort
          0
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          598

          Online

          32.7k

          Benutzer

          82.4k

          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