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. Skripten / Logik
  4. Batteriestatus

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Batteriestatus

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
10 Beiträge 5 Kommentatoren 663 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.
  • A Offline
    A Offline
    albi_63
    schrieb am zuletzt editiert von
    #1

    Hy Leute
    Ich habe hier ein Batteriescript, welches mir die Anzahl Geräte, Anzahl Batterie schwach sowie die Geräte auflisten sollte.
    Und genau der letzte Punkt funktioniert nicht. Es wäre toll wenn man sehen könnte welches Gerät eine schwache Batterie hat.
    Wo muss ich am script was ändern damit das funktioniert? Ich verstehe nichts von Java.....

    Batteriedatenpunkte.jpg

    createState('Batteriescript.Anzahl_Geräte', 0, {type: 'number'});
    createState('Batteriescript.Batterie_schwach', 0, {type: 'number'});
    createState('Batteriescript.Gerät', " ", {type: 'string'});
    
    const mihome = $('mihome.0*.percent');
    const ble = $('ble.0*.battery');
    const zigbee = $('zigbee.0*.battery');
    const loggen = true;
    var arrLOWBAT;
    function lowbat(id) {
       var obj = getObject(id);
       arrLOWBAT.push(obj.common.name);
       if(loggen) log("Gerät: " + obj.common.name);
    }
    function countLowbat() {
       var moeglicheLOWBAT = 0;
       arrLOWBAT      = [];
       mihome.each(function (id, i) {
          if(getState(id).val < 30) lowbat(id);
          ++moeglicheLOWBAT;
       });  
        ble.each(function (id, i) {
            if(getState(id).val < 30) lowbat(id);
             ++moeglicheLOWBAT;
       }); 
       zigbee.each(function (id, i) {
            if(getState(id).val < 30) lowbat(id);
             ++moeglicheLOWBAT;
       }); 
    
       if(loggen) log("Text: " + arrLOWBAT.join(', '));
       if(loggen) log("Anzahl Geräte: " + moeglicheLOWBAT + " // davon mit schwacher Batterie: " +  arrLOWBAT.length);
       setState("Batteriescript.Gerät",     arrLOWBAT.join(',<br>'));
       setState("Batteriescript.Batterie_schwach",   arrLOWBAT.length);
       setState("Batteriescript.Anzahl_Geräte", moeglicheLOWBAT);
    }
    countLowbat();
    schedule("*/60 * * * *", countLowbat);
    
    sigi234S crunchipC paul53P 3 Antworten Letzte Antwort
    0
    • A albi_63

      Hy Leute
      Ich habe hier ein Batteriescript, welches mir die Anzahl Geräte, Anzahl Batterie schwach sowie die Geräte auflisten sollte.
      Und genau der letzte Punkt funktioniert nicht. Es wäre toll wenn man sehen könnte welches Gerät eine schwache Batterie hat.
      Wo muss ich am script was ändern damit das funktioniert? Ich verstehe nichts von Java.....

      Batteriedatenpunkte.jpg

      createState('Batteriescript.Anzahl_Geräte', 0, {type: 'number'});
      createState('Batteriescript.Batterie_schwach', 0, {type: 'number'});
      createState('Batteriescript.Gerät', " ", {type: 'string'});
      
      const mihome = $('mihome.0*.percent');
      const ble = $('ble.0*.battery');
      const zigbee = $('zigbee.0*.battery');
      const loggen = true;
      var arrLOWBAT;
      function lowbat(id) {
         var obj = getObject(id);
         arrLOWBAT.push(obj.common.name);
         if(loggen) log("Gerät: " + obj.common.name);
      }
      function countLowbat() {
         var moeglicheLOWBAT = 0;
         arrLOWBAT      = [];
         mihome.each(function (id, i) {
            if(getState(id).val < 30) lowbat(id);
            ++moeglicheLOWBAT;
         });  
          ble.each(function (id, i) {
              if(getState(id).val < 30) lowbat(id);
               ++moeglicheLOWBAT;
         }); 
         zigbee.each(function (id, i) {
              if(getState(id).val < 30) lowbat(id);
               ++moeglicheLOWBAT;
         }); 
      
         if(loggen) log("Text: " + arrLOWBAT.join(', '));
         if(loggen) log("Anzahl Geräte: " + moeglicheLOWBAT + " // davon mit schwacher Batterie: " +  arrLOWBAT.length);
         setState("Batteriescript.Gerät",     arrLOWBAT.join(',<br>'));
         setState("Batteriescript.Batterie_schwach",   arrLOWBAT.length);
         setState("Batteriescript.Anzahl_Geräte", moeglicheLOWBAT);
      }
      countLowbat();
      schedule("*/60 * * * *", countLowbat);
      
      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @albi_63

      https://forum.iobroker.net/topic/28789/script-fürtabelle-der-batterie-zustände

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      1 Antwort Letzte Antwort
      0
      • A albi_63

        Hy Leute
        Ich habe hier ein Batteriescript, welches mir die Anzahl Geräte, Anzahl Batterie schwach sowie die Geräte auflisten sollte.
        Und genau der letzte Punkt funktioniert nicht. Es wäre toll wenn man sehen könnte welches Gerät eine schwache Batterie hat.
        Wo muss ich am script was ändern damit das funktioniert? Ich verstehe nichts von Java.....

        Batteriedatenpunkte.jpg

        createState('Batteriescript.Anzahl_Geräte', 0, {type: 'number'});
        createState('Batteriescript.Batterie_schwach', 0, {type: 'number'});
        createState('Batteriescript.Gerät', " ", {type: 'string'});
        
        const mihome = $('mihome.0*.percent');
        const ble = $('ble.0*.battery');
        const zigbee = $('zigbee.0*.battery');
        const loggen = true;
        var arrLOWBAT;
        function lowbat(id) {
           var obj = getObject(id);
           arrLOWBAT.push(obj.common.name);
           if(loggen) log("Gerät: " + obj.common.name);
        }
        function countLowbat() {
           var moeglicheLOWBAT = 0;
           arrLOWBAT      = [];
           mihome.each(function (id, i) {
              if(getState(id).val < 30) lowbat(id);
              ++moeglicheLOWBAT;
           });  
            ble.each(function (id, i) {
                if(getState(id).val < 30) lowbat(id);
                 ++moeglicheLOWBAT;
           }); 
           zigbee.each(function (id, i) {
                if(getState(id).val < 30) lowbat(id);
                 ++moeglicheLOWBAT;
           }); 
        
           if(loggen) log("Text: " + arrLOWBAT.join(', '));
           if(loggen) log("Anzahl Geräte: " + moeglicheLOWBAT + " // davon mit schwacher Batterie: " +  arrLOWBAT.length);
           setState("Batteriescript.Gerät",     arrLOWBAT.join(',<br>'));
           setState("Batteriescript.Batterie_schwach",   arrLOWBAT.length);
           setState("Batteriescript.Anzahl_Geräte", moeglicheLOWBAT);
        }
        countLowbat();
        schedule("*/60 * * * *", countLowbat);
        
        crunchipC Abwesend
        crunchipC Abwesend
        crunchip
        Forum Testing Most Active
        schrieb am zuletzt editiert von crunchip
        #3

        @albi_63 fehlt dir nicht ein Punkt zwischen 0 und *
        So wäre es richtig

        'mihome.0.devices.*.percent'

        umgestiegen von Proxmox auf Unraid

        A 1 Antwort Letzte Antwort
        0
        • crunchipC crunchip

          @albi_63 fehlt dir nicht ein Punkt zwischen 0 und *
          So wäre es richtig

          'mihome.0.devices.*.percent'

          A Offline
          A Offline
          albi_63
          schrieb am zuletzt editiert von
          #4

          @crunchip
          Hy,
          Es ändert sich nichts wenn ich den Punkt hinter dem Stern setzte. Das Ergebnis bleibt das gleiche...
          Ich bekomme keine Namen der LowBatt Geräte
          const ble = $('ble.0.*.battery');

          HomoranH 1 Antwort Letzte Antwort
          0
          • A albi_63

            @crunchip
            Hy,
            Es ändert sich nichts wenn ich den Punkt hinter dem Stern setzte. Das Ergebnis bleibt das gleiche...
            Ich bekomme keine Namen der LowBatt Geräte
            const ble = $('ble.0.*.battery');

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

            @albi_63
            Was steht denn im Datenpunkt komplett drin?

            Wo kommt dieses Battery percent her, das da am Anfang steht?

            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 -

            crunchipC A 2 Antworten Letzte Antwort
            0
            • HomoranH Homoran

              @albi_63
              Was steht denn im Datenpunkt komplett drin?

              Wo kommt dieses Battery percent her, das da am Anfang steht?

              crunchipC Abwesend
              crunchipC Abwesend
              crunchip
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              @Homoran vom mihome Adapter, habs oben korrigiert

              umgestiegen von Proxmox auf Unraid

              1 Antwort Letzte Antwort
              0
              • A albi_63

                Hy Leute
                Ich habe hier ein Batteriescript, welches mir die Anzahl Geräte, Anzahl Batterie schwach sowie die Geräte auflisten sollte.
                Und genau der letzte Punkt funktioniert nicht. Es wäre toll wenn man sehen könnte welches Gerät eine schwache Batterie hat.
                Wo muss ich am script was ändern damit das funktioniert? Ich verstehe nichts von Java.....

                Batteriedatenpunkte.jpg

                createState('Batteriescript.Anzahl_Geräte', 0, {type: 'number'});
                createState('Batteriescript.Batterie_schwach', 0, {type: 'number'});
                createState('Batteriescript.Gerät', " ", {type: 'string'});
                
                const mihome = $('mihome.0*.percent');
                const ble = $('ble.0*.battery');
                const zigbee = $('zigbee.0*.battery');
                const loggen = true;
                var arrLOWBAT;
                function lowbat(id) {
                   var obj = getObject(id);
                   arrLOWBAT.push(obj.common.name);
                   if(loggen) log("Gerät: " + obj.common.name);
                }
                function countLowbat() {
                   var moeglicheLOWBAT = 0;
                   arrLOWBAT      = [];
                   mihome.each(function (id, i) {
                      if(getState(id).val < 30) lowbat(id);
                      ++moeglicheLOWBAT;
                   });  
                    ble.each(function (id, i) {
                        if(getState(id).val < 30) lowbat(id);
                         ++moeglicheLOWBAT;
                   }); 
                   zigbee.each(function (id, i) {
                        if(getState(id).val < 30) lowbat(id);
                         ++moeglicheLOWBAT;
                   }); 
                
                   if(loggen) log("Text: " + arrLOWBAT.join(', '));
                   if(loggen) log("Anzahl Geräte: " + moeglicheLOWBAT + " // davon mit schwacher Batterie: " +  arrLOWBAT.length);
                   setState("Batteriescript.Gerät",     arrLOWBAT.join(',<br>'));
                   setState("Batteriescript.Batterie_schwach",   arrLOWBAT.length);
                   setState("Batteriescript.Anzahl_Geräte", moeglicheLOWBAT);
                }
                countLowbat();
                schedule("*/60 * * * *", countLowbat);
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @albi_63 sagte:

                der letzte Punkt funktioniert nicht.

                   var obj = getObject(id);
                   arrLOWBAT.push(obj.common.name);
                

                Es werden die Datenpunktnamen in das Array geschrieben - nicht die Gerätenamen. Versuche es mal so:

                function lowbat(id) {
                   id = id.substring(0, id.lastIndexOf('.'));
                   var obj = getObject(id);
                   arrLOWBAT.push(obj.common.name);
                

                Es setzt voraus, dass zu allen Datenpunkt-Objekten ein Parent-Objekt existiert und das einen sinnvollen Namen hat.

                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

                A 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @albi_63
                  Was steht denn im Datenpunkt komplett drin?

                  Wo kommt dieses Battery percent her, das da am Anfang steht?

                  A Offline
                  A Offline
                  albi_63
                  schrieb am zuletzt editiert von
                  #8

                  @Homoran
                  Hy
                  Die Batterie percent kommt vom mihome adapter
                  Percentmihome.jpg
                  Im datenpunkt "Gerät" steht nur : Battery percent,>br>Batterie

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • A albi_63

                    @Homoran
                    Hy
                    Die Batterie percent kommt vom mihome adapter
                    Percentmihome.jpg
                    Im datenpunkt "Gerät" steht nur : Battery percent,>br>Batterie

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

                    @albi_63 sagte in Batteriestatus:

                    Die Batterie percent kommt vom mihome adapter

                    dann sind wir jetzt genau da was @paul53 prophezeit hat :joy:
                    Das ist der Datenpunkt Name

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

                      @albi_63 sagte:

                      der letzte Punkt funktioniert nicht.

                         var obj = getObject(id);
                         arrLOWBAT.push(obj.common.name);
                      

                      Es werden die Datenpunktnamen in das Array geschrieben - nicht die Gerätenamen. Versuche es mal so:

                      function lowbat(id) {
                         id = id.substring(0, id.lastIndexOf('.'));
                         var obj = getObject(id);
                         arrLOWBAT.push(obj.common.name);
                      

                      Es setzt voraus, dass zu allen Datenpunkt-Objekten ein Parent-Objekt existiert und das einen sinnvollen Namen hat.

                      A Offline
                      A Offline
                      albi_63
                      schrieb am zuletzt editiert von
                      #10

                      @paul53
                      Hy Paul
                      Danke für dein Feedback.
                      Jetzt bekomme ich die entsprechenden Werte:

                      Temp.-Kühlschrank,<br>Temp.-Aussenwand-nord

                      Jetzt muss ich noch schauen wie ich das in den iQontrol via Popup oder so bringe.
                      Ne Idee?
                      Danke dir

                      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

                      655

                      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