Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script fürTabelle der Batterie Zustände

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    486

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

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

Script fürTabelle der Batterie Zustände

Scheduled Pinned Locked Moved JavaScript
javascriptmonitoringtemplate
1.4k Posts 67 Posters 515.8k Views 86 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Idefix01

    @liv-in-sky

    so sieht es bei mir aus, nur irgendwie durcheinander
    hm.jpg

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #1316

    @idefix01

    das ist leider richtig so - das sortieren für die json , welche du nutzt, wird nicht sortiert

    am einfachsten für mich wäre eine sortierung nach namen - könnt ich dir morgen mal einbauen

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Reply Last reply
    0
    • I Idefix01

      @liv-in-sky

      so sieht es bei mir aus, nur irgendwie durcheinander
      hm.jpg

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      wrote on last edited by
      #1317

      @idefix01

      füge das am ende des scripts ein - ganz unten:

       function sortierMalMD(myObjF) {
      
           
                   myObjF.sort(function (alpha, beta) {
                   if ((alpha.name.toUpperCase()).trim() > (beta.name.toUpperCase()).trim())
                      return 1;
                   if ((beta.name.toUpperCase()).trim() > (alpha.name.toUpperCase()).trim())
                      return -1;
                   return 0;
                  });}
      

      und noch diese zeile an dieser stelle mit dem pfeil:

      sortierMalMD(myJsonWidget2)
      

      Image 1.png

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      I 1 Reply Last reply
      0
      • liv-in-skyL liv-in-sky

        @idefix01

        füge das am ende des scripts ein - ganz unten:

         function sortierMalMD(myObjF) {
        
             
                     myObjF.sort(function (alpha, beta) {
                     if ((alpha.name.toUpperCase()).trim() > (beta.name.toUpperCase()).trim())
                        return 1;
                     if ((beta.name.toUpperCase()).trim() > (alpha.name.toUpperCase()).trim())
                        return -1;
                     return 0;
                    });}
        

        und noch diese zeile an dieser stelle mit dem pfeil:

        sortierMalMD(myJsonWidget2)
        

        Image 1.png

        I Offline
        I Offline
        Idefix01
        wrote on last edited by
        #1318

        @liv-in-sky

        Super, ich danke Dir, hat perfekt funktioniert

        1 Reply Last reply
        0
        • dog-rgbD Offline
          dog-rgbD Offline
          dog-rgb
          wrote on last edited by
          #1319

          Hallo,

          ich habe die Xiaomi Temperatursensoren mit der alternativen Firmware bestückt und bekomme die mit ESP32 Tasmota Bluetooth in den iobroker. Weiterhin habe ich die EQ3 Thermostate die über den gleichen ESP32 Tasmota reinkommen.
          Da die Xiaomi gepackt in einem DP kommen und dieser auch für den ESP32 verwendet werden habe ich ein Javascript das mir die einkommenden Daten in den Bereich 0_userdata schreibt, ebenso landen die EQ3 dort. Wie kann ich die Batteriewerte dieser DP hier verwenden?

          Beispiele der DP:
          0_userdata.0.ATC.ATC_14A_BadEG.Battery (Zahl 0..100)
          0_userdata.0.EQ3.EQ3_14A_BadEG.battery (Text zum Beispiel "GOOD", muss mal suchen welche Werte noch kommen)

          1 Reply Last reply
          0
          • liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by
            #1320

            @dog-rgb

            hier bei meinem sript muss man solche sonderfälle extra coden der schwierigkeitsgrad hängt vonm den datnpunzen ab - eir sie aufgebaut sind

            es gibt noch ein anderes script : suche nach generisch batterie" - dort kann man alles einbinden

            schaur dir mal das andee scipt an - und wenn das für dich nichts ist - meld dich nochmal

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            dog-rgbD 1 Reply Last reply
            0
            • liv-in-skyL liv-in-sky

              @dog-rgb

              hier bei meinem sript muss man solche sonderfälle extra coden der schwierigkeitsgrad hängt vonm den datnpunzen ab - eir sie aufgebaut sind

              es gibt noch ein anderes script : suche nach generisch batterie" - dort kann man alles einbinden

              schaur dir mal das andee scipt an - und wenn das für dich nichts ist - meld dich nochmal

              dog-rgbD Offline
              dog-rgbD Offline
              dog-rgb
              wrote on last edited by
              #1321

              @liv-in-sky Danke für den Hinweis, dann werde ich mich mal mit dem anderen beschäftigen (dieses habe ich gefunden: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe)

              liv-in-skyL 1 Reply Last reply
              0
              • dog-rgbD dog-rgb

                @liv-in-sky Danke für den Hinweis, dann werde ich mich mal mit dem anderen beschäftigen (dieses habe ich gefunden: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe)

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                wrote on last edited by
                #1322

                @dog-rgb genau das habe ich gemeint

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                1 Reply Last reply
                0
                • liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  wrote on last edited by liv-in-sky
                  #1323

                  @Christoph1337

                  bitte mal testen - zigbee und deconz sind drin - die dp angleichen und deconz aktivieren

                  testBatt.txt

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  Christoph1337C 1 Reply Last reply
                  0
                  • liv-in-skyL liv-in-sky

                    @Christoph1337

                    bitte mal testen - zigbee und deconz sind drin - die dp angleichen und deconz aktivieren

                    testBatt.txt

                    Christoph1337C Offline
                    Christoph1337C Offline
                    Christoph1337
                    wrote on last edited by
                    #1324

                    @liv-in-sky Super!
                    Leider ist das Encodung wieder zermatscht!

                    liv-in-skyL NegaleinN 2 Replies Last reply
                    0
                    • Christoph1337C Christoph1337

                      @liv-in-sky Super!
                      Leider ist das Encodung wieder zermatscht!

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      wrote on last edited by
                      #1325

                      @christoph1337

                      sorry - das nervt mit dieser einschränkung

                      ist hier - https://github.com/liv-in-sky/battery-iobroker-vis-table nimm das testBatt.txt

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      Christoph1337C 1 Reply Last reply
                      0
                      • Christoph1337C Christoph1337

                        @liv-in-sky Super!
                        Leider ist das Encodung wieder zermatscht!

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        wrote on last edited by
                        #1326

                        @christoph1337 sagte in Script fürTabelle der Batterie Zustände:

                        Leider ist das Encodung wieder zermatscht!

                        das liegt an der Art, wie du das ..txt öffnest.

                        Nicht einfach auf den Link klicken
                        sondern Rechtsklick, speichern unter

                        dann passt die Formatierung zu 100%

                        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                        ° Node.js Fixer ---> iob nodejs-update
                        ° Fixer ---> iob fix

                        1 Reply Last reply
                        0
                        • liv-in-skyL liv-in-sky

                          @christoph1337

                          sorry - das nervt mit dieser einschränkung

                          ist hier - https://github.com/liv-in-sky/battery-iobroker-vis-table nimm das testBatt.txt

                          Christoph1337C Offline
                          Christoph1337C Offline
                          Christoph1337
                          wrote on last edited by
                          #1327

                          @liv-in-sky
                          919c8735-09ed-431b-89c5-f8d87b9dcf91-image.png

                          Sieht gut aus!

                          Deconz kann ich aktuell nicht mehr mit diesen, da ich da keine Sensoren mehr drin habe.

                          btw. Ich missbrauche den "homematic" Teil immer für meinem MAX Adapter. Den Max Teil den du gebaut hast funktionier für den CUL.

                          if (homematic){
                              tabelleMachSchoen()
                                       counter=-1
                              
                                        // 
                                          for(var i=0;i<mehrfachTabelle;i++ ) {
                                          val0=""; val1=""; val2="";counter++;tabelleBind();
                                        }
                                         
                                         for(var i=0;i<mehrfachTabelle;i++ ) {
                                            if(i==0){val0="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">HOMEMATIC DEVICES</b>";} else{val0=""; }
                                             val1=""; val2="";counter++;tabelleBind();
                                        } 
                          
                            
                               arrDoppelt=[];
                               myObjF=[];
                          $('maxcube.*.devices.*.battery_low').each(function(id, i) {           // hier eigene schleife definieren und den wert counter++ nicht vergessen  !!!
                          
                          I 1 Reply Last reply
                          0
                          • Christoph1337C Christoph1337

                            @liv-in-sky
                            919c8735-09ed-431b-89c5-f8d87b9dcf91-image.png

                            Sieht gut aus!

                            Deconz kann ich aktuell nicht mehr mit diesen, da ich da keine Sensoren mehr drin habe.

                            btw. Ich missbrauche den "homematic" Teil immer für meinem MAX Adapter. Den Max Teil den du gebaut hast funktionier für den CUL.

                            if (homematic){
                                tabelleMachSchoen()
                                         counter=-1
                                
                                          // 
                                            for(var i=0;i<mehrfachTabelle;i++ ) {
                                            val0=""; val1=""; val2="";counter++;tabelleBind();
                                          }
                                           
                                           for(var i=0;i<mehrfachTabelle;i++ ) {
                                              if(i==0){val0="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">HOMEMATIC DEVICES</b>";} else{val0=""; }
                                               val1=""; val2="";counter++;tabelleBind();
                                          } 
                            
                              
                                 arrDoppelt=[];
                                 myObjF=[];
                            $('maxcube.*.devices.*.battery_low').each(function(id, i) {           // hier eigene schleife definieren und den wert counter++ nicht vergessen  !!!
                            
                            I Offline
                            I Offline
                            Idefix01
                            wrote on last edited by
                            #1328

                            @liv-in-sky

                            Hallöchen, in dem Script lassen sich ja auch unerwünschte Geräte raus filtern.

                            Ich habe auch ein Hue Bewegungssensor. Dieser bringt mir allerdings zusätzlich auch noch diese zwei Batteriezustände, die identisch sind mit dem normalen Sensor Objekt (hue.0.Hue_ambient_light_sensor_1, hue.0.Hue_temperature_sensor_1).

                            Diese würde ich gern auch raus filtern, wenn das irgendwie möglich wäre.

                            liv-in-skyL 1 Reply Last reply
                            0
                            • I Idefix01

                              @liv-in-sky

                              Hallöchen, in dem Script lassen sich ja auch unerwünschte Geräte raus filtern.

                              Ich habe auch ein Hue Bewegungssensor. Dieser bringt mir allerdings zusätzlich auch noch diese zwei Batteriezustände, die identisch sind mit dem normalen Sensor Objekt (hue.0.Hue_ambient_light_sensor_1, hue.0.Hue_temperature_sensor_1).

                              Diese würde ich gern auch raus filtern, wenn das irgendwie möglich wäre.

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              wrote on last edited by
                              #1329

                              @idefix01

                              verstehe ich nicht - du kannst doch die gesamte id in das filterarray eingeben - in anführungszeichen und mit komma getrennt

                              etwa so:

                              ["hue.0.Hue_ambient_light_sensor_1.percent"," hue.0.Hue_temperature_sensor_1.percent"]
                              

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              I 1 Reply Last reply
                              0
                              • liv-in-skyL liv-in-sky

                                @idefix01

                                verstehe ich nicht - du kannst doch die gesamte id in das filterarray eingeben - in anführungszeichen und mit komma getrennt

                                etwa so:

                                ["hue.0.Hue_ambient_light_sensor_1.percent"," hue.0.Hue_temperature_sensor_1.percent"]
                                
                                I Offline
                                I Offline
                                Idefix01
                                wrote on last edited by
                                #1330

                                @liv-in-sky

                                ja das habe ich auch gemacht aber, er nimmt es nicht. Es reagiert nicht darauf und bleibt trotzdem weiter stehen

                                liv-in-skyL 2 Replies Last reply
                                0
                                • I Idefix01

                                  @liv-in-sky

                                  ja das habe ich auch gemacht aber, er nimmt es nicht. Es reagiert nicht darauf und bleibt trotzdem weiter stehen

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  wrote on last edited by
                                  #1331

                                  @idefix01 prüfe ich morgen mal

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  1 Reply Last reply
                                  0
                                  • I Idefix01

                                    @liv-in-sky

                                    ja das habe ich auch gemacht aber, er nimmt es nicht. Es reagiert nicht darauf und bleibt trotzdem weiter stehen

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    wrote on last edited by
                                    #1332

                                    @idefix01

                                    Poste doch noch was jetzt im Filterarray steht und zeige ein Bild (objecte_tab) von den dp, die du filtern willst

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    1 Reply Last reply
                                    0
                                    • A Offline
                                      A Offline
                                      AlexMuc81
                                      wrote on last edited by AlexMuc81
                                      #1333

                                      Hallo zusammen,

                                      obwohl bei mir ein Fensterkontakt leer ist, zeigt mir die Tabelle an, dass alles ok. ist.
                                      Ich bin jetzt nicht der Profi im Programmieren, aber ich glaube es werden die falschen Datenpunkte
                                      geprüft.

                                              $('hmip.*.*.0.lowBat').each(function(id, i) {  
                                                   // val0=getObject(id).common.name ; 
                                                     var ida = id.split('.');
                                                     val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name 
                                                     json1=val0;
                                                     val1help=getState(id).val;
                                                     if (val1help=="true") {val1=(" <font color=\"red\"> ")+"low bat"; json2="low";json5="red";json3_1=0} else{val1=(" <font color=\"lightgreen\"> ")+"full bat";json2="high";json5="green";json3_1=100} 
                                                     if (val1help=="true") {val2=symbolKO;json3=symbolKO} else{val2=symbolOK;json3=symbolKO}         
                                                     if (val1help=="true") AkkuAlarm.push(1);
                                                     if (val1help=="true")  alarmMessage.push(val0);
                                      
                                              
                                                  json3=val2;
                                                  json6="HOMEMATIC-IP"
                                                  if (braucheMaterialDesignWidget || braucheMaterialDesignWidgetTable) {
                                                    json4=json4=pfadBilderMaterialWidget+"homematick.png"
                                                    makeJsonWidget(json1,json2,json3,json4,json5,json6,json3_1);}
                                              let help=[val0,val1,val2]; myObjF.push(help);
                                      });
                                      

                                      Ist im Original script die Zeile 1161 - 1179.

                                      Wenn ich bei mir jetzt die Datenobjekte anschaue, sieht der so aus bei HomematicIP

                                      hmip.0.devices.*.channels.0 -> State: true

                                      der * steht für die ID des Gerätes

                                      Kann mir da jemand weiterhelfen?
                                      Danke

                                      Gruß
                                      Alex

                                      liv-in-skyL 2 Replies Last reply
                                      0
                                      • A AlexMuc81

                                        Hallo zusammen,

                                        obwohl bei mir ein Fensterkontakt leer ist, zeigt mir die Tabelle an, dass alles ok. ist.
                                        Ich bin jetzt nicht der Profi im Programmieren, aber ich glaube es werden die falschen Datenpunkte
                                        geprüft.

                                                $('hmip.*.*.0.lowBat').each(function(id, i) {  
                                                     // val0=getObject(id).common.name ; 
                                                       var ida = id.split('.');
                                                       val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name 
                                                       json1=val0;
                                                       val1help=getState(id).val;
                                                       if (val1help=="true") {val1=(" <font color=\"red\"> ")+"low bat"; json2="low";json5="red";json3_1=0} else{val1=(" <font color=\"lightgreen\"> ")+"full bat";json2="high";json5="green";json3_1=100} 
                                                       if (val1help=="true") {val2=symbolKO;json3=symbolKO} else{val2=symbolOK;json3=symbolKO}         
                                                       if (val1help=="true") AkkuAlarm.push(1);
                                                       if (val1help=="true")  alarmMessage.push(val0);
                                        
                                                
                                                    json3=val2;
                                                    json6="HOMEMATIC-IP"
                                                    if (braucheMaterialDesignWidget || braucheMaterialDesignWidgetTable) {
                                                      json4=json4=pfadBilderMaterialWidget+"homematick.png"
                                                      makeJsonWidget(json1,json2,json3,json4,json5,json6,json3_1);}
                                                let help=[val0,val1,val2]; myObjF.push(help);
                                        });
                                        

                                        Ist im Original script die Zeile 1161 - 1179.

                                        Wenn ich bei mir jetzt die Datenobjekte anschaue, sieht der so aus bei HomematicIP

                                        hmip.0.devices.*.channels.0 -> State: true

                                        der * steht für die ID des Gerätes

                                        Kann mir da jemand weiterhelfen?
                                        Danke

                                        Gruß
                                        Alex

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        wrote on last edited by liv-in-sky
                                        #1334

                                        @alexmuc81 sagte in Script fürTabelle der Batterie Zustände:

                                        der * steht für die ID des Gerätes

                                        poste mal die ganze id eines datenpunktes, der die battery anzeigt - sollte am ende: .lowBat heißen

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        A 1 Reply Last reply
                                        0
                                        • liv-in-skyL liv-in-sky

                                          @alexmuc81 sagte in Script fürTabelle der Batterie Zustände:

                                          der * steht für die ID des Gerätes

                                          poste mal die ganze id eines datenpunktes, der die battery anzeigt - sollte am ende: .lowBat heißen

                                          A Offline
                                          A Offline
                                          AlexMuc81
                                          wrote on last edited by
                                          #1335

                                          @liv-in-sky

                                          hmip.0.devices.3014F711A00000D709954F99.channels.0.lowBat
                                          hmip.0.devices.3014F711A00000D709955FBB.channels.0.lowBat
                                          usw.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          577

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe