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. [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

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

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

Scheduled Pinned Locked Moved Skripten / Logik
javascripttemplatemonitoring
581 Posts 81 Posters 145.9k Views 84 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.
  • T Tobi81

    @pittini Vielen Dank für die Erklärung.
    Ich habe noch nie einen Alias Datenpunkt erstellt. Geht das über den Alias-Adapter?
    Danach erstellt man die neuen Datenpunkte unter Alias.0. oder? Wie sage ich dann deinem Script das er diese Datenpunkte überwachen soll? Denen muss ich ja eine Funktion zuweisen, oder?

    Dominik F.D Offline
    Dominik F.D Offline
    Dominik F.
    wrote on last edited by
    #515

    @tobi81

    Nimm den Alias Manager, damit geht das sehr einfach. Es lohnt sich übrigens alle Datenpunkte, die du irgendwie brauchst, also nicht nur für dieses Skript, als Alias zu erstellen. Somit brauchst du, wenn du mal etwas austauscht, nur die Alias ändern, also die Datenpunkte im Alias nur neu zuweisen, und alles funktioniert weiterhin.

    Wenn du das erstellst hast, folgst du einfach den Anweisungen von Pittini in seiner Erklärung.

    1 Reply Last reply
    0
    • P Pittini

      @tobi81 BatterieSpannung_1 würde heißen in dem Gerät is ne Batterie mit 0,1 Volt. Haste so ein Gerät/Batterie? Nein. Womit die Frage geklärt wäre.
      Zum Thema 0 und 1, das ist neu und wird so vom Skript nicht erkannt, bei lowbat wird ein true oder false erwartet, also am besten nen Alias machen der die 0/1 zu true/false wandelt, dann wird das vom Skript auch erkannt. Die BatterieSpannung_xx ist IMMER die tatsächliche Spannung, egal ob da dann % oder lowbat oder was auch immer kommt.

      Dominik F.D Offline
      Dominik F.D Offline
      Dominik F.
      wrote on last edited by
      #516

      @pittini

      Ich bekomme folgenden Log von dem Skript:

      avascript.0
      2022-02-08 18:50:48.543	info	script.js.common.Auswertung_Batterien: Reaching Meldung(), msg=Batteriestand (2.29 V) unter Limit (2.32 V) im EG Diele bei Gerät EG_Diele Heizkörper
      

      Problem an der Sache ist, der Batteriestand ist 2,4V, das wird auch in der Tabelle richtig erkannt:

      Unbenannt.PNG

      Hast du eine Idee was das Problem sein könnte?

      P 1 Reply Last reply
      0
      • T Offline
        T Offline
        Tobi81
        wrote on last edited by
        #517

        Ich denke ich habe den Alias Adapter erfolgreich eingerichtet und ein Testdevice sieht jetzt so aus:

        Bildschirmfoto 2022-02-08 um 20.39.08.png

        Ich habe LowBatt nach lowbat umbenannt und die Funktion BatterieSpannung_30 hinzugefügt. Wenn ich jetzt das Script von Pittini neustarte bekomme ich folgende Fehlermeldungen:

        2022-02-08 20:45:41.094 - warn: javascript.0 (18309) getState "alias.0.TEST.lowBatt" not found (3)
        2022-02-08 20:45:41.095 - warn: javascript.0 (18309) at Init (script.js.common.BatterienÜberwachung:160:31)
        2022-02-08 20:45:41.095 - warn: javascript.0 (18309) at main (script.js.common.BatterienÜberwachung:261:5)
        2022-02-08 20:45:41.096 - warn: javascript.0 (18309) at Object. (script.js.common.BatterienÜberwachung:126:13)
        2022-02-08 20:45:41.096 - warn: javascript.0 (18309) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1988:38)
        2022-02-08 20:45:41.096 - warn: javascript.0 (18309) at processImmediate (internal/timers.js:463:21)
        2022-02-08 20:45:41.109 - error: javascript.0 (18309) Error in callback: TypeError: Cannot read property 'toFixed' of undefined
        2022-02-08 20:45:41.109 - error: javascript.0 (18309) at MakeTable (script.js.common.BatterienÜberwachung:610:75)
        2022-02-08 20:45:41.109 - error: javascript.0 (18309) at main (script.js.common.BatterienÜberwachung:266:5)
        2022-02-08 20:45:41.109 - error: javascript.0 (18309) at Object. (script.js.common.BatterienÜberwachung:126:13)
        2022-02-08 20:45:41.109 - error: javascript.0 (18309) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1988:38)
        2022-02-08 20:45:41.110 - error: javascript.0 (18309) at processImmediate (internal/timers.js:463:21)
        

        Dieses "getState "alias.0.TEST.lowBatt" not found" ist wohl das Problem. Ich hab dann aber auch noch lowbat wieder nach lowBatt zurückbenannt, aber immer noch die gleichen Fehler.

        Was mache ich falsch?

        P 1 Reply Last reply
        0
        • Dominik F.D Dominik F.

          @pittini

          Ich bekomme folgenden Log von dem Skript:

          avascript.0
          2022-02-08 18:50:48.543	info	script.js.common.Auswertung_Batterien: Reaching Meldung(), msg=Batteriestand (2.29 V) unter Limit (2.32 V) im EG Diele bei Gerät EG_Diele Heizkörper
          

          Problem an der Sache ist, der Batteriestand ist 2,4V, das wird auch in der Tabelle richtig erkannt:

          Unbenannt.PNG

          Hast du eine Idee was das Problem sein könnte?

          P Offline
          P Offline
          Pittini
          Developer
          wrote on last edited by
          #518

          @dominik-f Würde ich mal loggen welche Werte da auftreten, irgendwoher muß das Skript die 2,29 Volt aus der Meldung ja herhaben.

          Dominik F.D 1 Reply Last reply
          0
          • T Tobi81

            Ich denke ich habe den Alias Adapter erfolgreich eingerichtet und ein Testdevice sieht jetzt so aus:

            Bildschirmfoto 2022-02-08 um 20.39.08.png

            Ich habe LowBatt nach lowbat umbenannt und die Funktion BatterieSpannung_30 hinzugefügt. Wenn ich jetzt das Script von Pittini neustarte bekomme ich folgende Fehlermeldungen:

            2022-02-08 20:45:41.094 - warn: javascript.0 (18309) getState "alias.0.TEST.lowBatt" not found (3)
            2022-02-08 20:45:41.095 - warn: javascript.0 (18309) at Init (script.js.common.BatterienÜberwachung:160:31)
            2022-02-08 20:45:41.095 - warn: javascript.0 (18309) at main (script.js.common.BatterienÜberwachung:261:5)
            2022-02-08 20:45:41.096 - warn: javascript.0 (18309) at Object. (script.js.common.BatterienÜberwachung:126:13)
            2022-02-08 20:45:41.096 - warn: javascript.0 (18309) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1988:38)
            2022-02-08 20:45:41.096 - warn: javascript.0 (18309) at processImmediate (internal/timers.js:463:21)
            2022-02-08 20:45:41.109 - error: javascript.0 (18309) Error in callback: TypeError: Cannot read property 'toFixed' of undefined
            2022-02-08 20:45:41.109 - error: javascript.0 (18309) at MakeTable (script.js.common.BatterienÜberwachung:610:75)
            2022-02-08 20:45:41.109 - error: javascript.0 (18309) at main (script.js.common.BatterienÜberwachung:266:5)
            2022-02-08 20:45:41.109 - error: javascript.0 (18309) at Object. (script.js.common.BatterienÜberwachung:126:13)
            2022-02-08 20:45:41.109 - error: javascript.0 (18309) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1988:38)
            2022-02-08 20:45:41.110 - error: javascript.0 (18309) at processImmediate (internal/timers.js:463:21)
            

            Dieses "getState "alias.0.TEST.lowBatt" not found" ist wohl das Problem. Ich hab dann aber auch noch lowbat wieder nach lowBatt zurückbenannt, aber immer noch die gleichen Fehler.

            Was mache ich falsch?

            P Offline
            P Offline
            Pittini
            Developer
            wrote on last edited by Pittini
            #519

            @tobi81 Nach jeder Änderung an Aufzählungen MUß der JS Adapter neu gestartet werden, sonst kriegt das System davon nix mit. Und jedes Skript welche die geänderten Aufzählungen nutzt muß auch neugestartet werden, damit die Trigger aktualisiert werden.

            B 1 Reply Last reply
            0
            • P Pittini

              @dominik-f Würde ich mal loggen welche Werte da auftreten, irgendwoher muß das Skript die 2,29 Volt aus der Meldung ja herhaben.

              Dominik F.D Offline
              Dominik F.D Offline
              Dominik F.
              wrote on last edited by
              #520

              @pittini

              Du hattest recht....aus irgendeinem Grund springt der Batteriestate immer mal wieder kurz nach unten.

              Unbenannt.PNG

              1 Reply Last reply
              0
              • P Pittini

                @tobi81 Nach jeder Änderung an Aufzählungen MUß der JS Adapter neu gestartet werden, sonst kriegt das System davon nix mit. Und jedes Skript welche die geänderten Aufzählungen nutzt muß auch neugestartet werden, damit die Trigger aktualisiert werden.

                B Offline
                B Offline
                babl
                wrote on last edited by
                #521

                @pittini hast du das mitbekommen mit den neuen Änderungen für die xiaomi Batterie Geräte.

                https://github.com/Koenkk/zigbee2mqtt/issues/8499#issuecomment-1032422285

                Sie haben jetzt andere voltanpassungen durchgeführt, sollte man da dein Script auch eventuell angleichen?

                P 1 Reply Last reply
                0
                • B babl

                  @pittini hast du das mitbekommen mit den neuen Änderungen für die xiaomi Batterie Geräte.

                  https://github.com/Koenkk/zigbee2mqtt/issues/8499#issuecomment-1032422285

                  Sie haben jetzt andere voltanpassungen durchgeführt, sollte man da dein Script auch eventuell angleichen?

                  P Offline
                  P Offline
                  Pittini
                  Developer
                  wrote on last edited by
                  #522

                  @babl 3V sind 3V, wie oder woher die berechnet werden is mir egal. sehe hier keinerlei Anpassungsnotwendigkeit.

                  B 1 Reply Last reply
                  0
                  • P Pittini

                    @babl 3V sind 3V, wie oder woher die berechnet werden is mir egal. sehe hier keinerlei Anpassungsnotwendigkeit.

                    B Offline
                    B Offline
                    babl
                    wrote on last edited by
                    #523

                    @pittini aber bei 2.85V werden die bei zigbee bereits mit 0% gelistet

                    P 1 Reply Last reply
                    0
                    • B babl

                      @pittini aber bei 2.85V werden die bei zigbee bereits mit 0% gelistet

                      P Offline
                      P Offline
                      Pittini
                      Developer
                      wrote on last edited by
                      #524

                      @babl Wieviel Prozent zigbee da angibt, ist doch egal solange Du dem Skript den Spannungsdatenpunkt gibst und nicht den mit den Prozenten. Dann errechnet das Skript das selber. Und all meine Xiaomis liefern beides.

                      B 1 Reply Last reply
                      0
                      • P Pittini

                        @babl Wieviel Prozent zigbee da angibt, ist doch egal solange Du dem Skript den Spannungsdatenpunkt gibst und nicht den mit den Prozenten. Dann errechnet das Skript das selber. Und all meine Xiaomis liefern beides.

                        B Offline
                        B Offline
                        babl
                        wrote on last edited by
                        #525

                        @pittini das stimmt schon, nur hat man jetzt 2 verschiedene anzeigen.

                        bei dir im script steht er bei 98% Batterieleistung

                        und im Zigbee steht er mit 47% Batterieleistung

                        Das ist halt auch etwas blöd.

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          Matt77CHE
                          wrote on last edited by Matt77CHE
                          #526

                          gelöscht

                          1 Reply Last reply
                          0
                          • Nightfly1983N Offline
                            Nightfly1983N Offline
                            Nightfly1983
                            wrote on last edited by
                            #527

                            Habe seit heute auch paar Probleme mit dem Script, kann mir jemand weiterhelfen?
                            Das Script bringt folgende Fehler:

                            14:44:46.922	info	javascript.0 (35201) script.js.common.Batterieueberwachung: CheckDeadBatt() State for 19 doesnt exists
                            14:44:46.929	error	javascript.0 (35201) at MakeTable (script.js.common.Batterieueberwachung:610:75)
                            14:44:46.929	error	javascript.0 (35201) at CheckDeadBatt (script.js.common.Batterieueberwachung:366:13)
                            14:44:46.929	error	javascript.0 (35201) at CheckBatterys (script.js.common.Batterieueberwachung:465:5)
                            14:44:46.929	error	javascript.0 (35201) at Object.<anonymous> (script.js.common.Batterieueberwachung:726:13)
                            
                            P 1 Reply Last reply
                            0
                            • Nightfly1983N Nightfly1983

                              Habe seit heute auch paar Probleme mit dem Script, kann mir jemand weiterhelfen?
                              Das Script bringt folgende Fehler:

                              14:44:46.922	info	javascript.0 (35201) script.js.common.Batterieueberwachung: CheckDeadBatt() State for 19 doesnt exists
                              14:44:46.929	error	javascript.0 (35201) at MakeTable (script.js.common.Batterieueberwachung:610:75)
                              14:44:46.929	error	javascript.0 (35201) at CheckDeadBatt (script.js.common.Batterieueberwachung:366:13)
                              14:44:46.929	error	javascript.0 (35201) at CheckBatterys (script.js.common.Batterieueberwachung:465:5)
                              14:44:46.929	error	javascript.0 (35201) at Object.<anonymous> (script.js.common.Batterieueberwachung:726:13)
                              
                              P Offline
                              P Offline
                              Pittini
                              Developer
                              wrote on last edited by
                              #528

                              @nightfly1983 Naja, steht ja fast im Klartext da

                              State for 19 doesnt exists
                              

                              Keine Ahnung was "19" ist, aber ich würde vermuten Du hast ein Gerät gelöscht, oder iwas geändert? Ohne zu wissen was Du gemacht hast oder ausführliches Log, kann ich nur raten.

                              Nightfly1983N reindeer-webR 2 Replies Last reply
                              0
                              • P Pittini

                                @nightfly1983 Naja, steht ja fast im Klartext da

                                State for 19 doesnt exists
                                

                                Keine Ahnung was "19" ist, aber ich würde vermuten Du hast ein Gerät gelöscht, oder iwas geändert? Ohne zu wissen was Du gemacht hast oder ausführliches Log, kann ich nur raten.

                                Nightfly1983N Offline
                                Nightfly1983N Offline
                                Nightfly1983
                                wrote on last edited by
                                #529

                                @pittini Na das hat mir doch schon voll geholfen :smile:
                                Ein Sensor hat keinen Wert bei der Spannung geliefert und damit kam es zustande.
                                Brauchte nur den Denkanstoß, danke dir

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

                                  Hallo, wenn ein Gerät ausfällt und somit DeadDeviceCount>0 ist, wird AllBatterysOK nicht auf False gesetzt. Ich hätte gerne einen Datenpunkt der meldet wenn irgendein Gerät ein Problem hat, und nicht nur wenn der Batteriestand zu niedrig ist.

                                  P 1 Reply Last reply
                                  0
                                  • dog-rgbD dog-rgb

                                    Hallo, wenn ein Gerät ausfällt und somit DeadDeviceCount>0 ist, wird AllBatterysOK nicht auf False gesetzt. Ich hätte gerne einen Datenpunkt der meldet wenn irgendein Gerät ein Problem hat, und nicht nur wenn der Batteriestand zu niedrig ist.

                                    P Offline
                                    P Offline
                                    Pittini
                                    Developer
                                    wrote on last edited by
                                    #531

                                    @dog-rgb Mach bitte ein Issue auf Git damits nicht vergessen wird. Wird aber auf jeden Fall dauern, ich hab grad null Zeit.

                                    dog-rgbD 1 Reply Last reply
                                    0
                                    • P Pittini

                                      @dog-rgb Mach bitte ein Issue auf Git damits nicht vergessen wird. Wird aber auf jeden Fall dauern, ich hab grad null Zeit.

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

                                      @pittini Erledigt (https://github.com/Pittini/iobroker-Batterienauswertung/issues/34)

                                      Horst BöttcherH 1 Reply Last reply
                                      1
                                      • dog-rgbD dog-rgb

                                        @pittini Erledigt (https://github.com/Pittini/iobroker-Batterienauswertung/issues/34)

                                        Horst BöttcherH Do not disturb
                                        Horst BöttcherH Do not disturb
                                        Horst Böttcher
                                        wrote on last edited by
                                        #533
                                        Fehler aus dem Log
                                        
                                        javascript.0	2022-05-10 23:56:08.511	error	(803) at processImmediate (internal/timers.js:466:21)
                                        javascript.0	2022-05-10 23:56:08.511	error	(803) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38)
                                        javascript.0	2022-05-10 23:56:08.510	error	(803) at Object.<anonymous> (script.js.common.System.Baterieüberwachung_:126:13)
                                        javascript.0	2022-05-10 23:56:08.509	error	(803) at main (script.js.common.System.Baterieüberwachung_:265:5)
                                        javascript.0	2022-05-10 23:56:08.509	error	(803) at CheckNextLowBatt (script.js.common.System.Baterieüberwachung_:395:91)
                                        javascript.0	2022-05-10 23:56:08.508	error	(803) Error in callback: TypeError: Cannot read property 'value' of undefined
                                        javascript.0	2022-05-10 23:56:08.484	info	(803) script.js.common.System.Baterieüberwachung_: registered 0 subscriptions and 0 schedules
                                        javascript.0	2022-05-10 23:56:08.482	info	(803) script.js.common.System.Baterieüberwachung_: starting Batterieüberwachung V.1.8.5
                                        javascript.0	2022-05-10 23:56:08.468	info	(803) Start javascript script.js.common.System.Baterieüberwachung_
                                        javascript.0	2022-05-10 23:56:07.066	info	(803) Stop script script.js.common.System.Baterieüberwachung_
                                        
                                        

                                        ioBroker auf Proxmox (Debian) auf LENOVO PC Thinkcentre als Produktivsystem

                                        Dominik F.D 1 Reply Last reply
                                        0
                                        • Horst BöttcherH Horst Böttcher
                                          Fehler aus dem Log
                                          
                                          javascript.0	2022-05-10 23:56:08.511	error	(803) at processImmediate (internal/timers.js:466:21)
                                          javascript.0	2022-05-10 23:56:08.511	error	(803) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38)
                                          javascript.0	2022-05-10 23:56:08.510	error	(803) at Object.<anonymous> (script.js.common.System.Baterieüberwachung_:126:13)
                                          javascript.0	2022-05-10 23:56:08.509	error	(803) at main (script.js.common.System.Baterieüberwachung_:265:5)
                                          javascript.0	2022-05-10 23:56:08.509	error	(803) at CheckNextLowBatt (script.js.common.System.Baterieüberwachung_:395:91)
                                          javascript.0	2022-05-10 23:56:08.508	error	(803) Error in callback: TypeError: Cannot read property 'value' of undefined
                                          javascript.0	2022-05-10 23:56:08.484	info	(803) script.js.common.System.Baterieüberwachung_: registered 0 subscriptions and 0 schedules
                                          javascript.0	2022-05-10 23:56:08.482	info	(803) script.js.common.System.Baterieüberwachung_: starting Batterieüberwachung V.1.8.5
                                          javascript.0	2022-05-10 23:56:08.468	info	(803) Start javascript script.js.common.System.Baterieüberwachung_
                                          javascript.0	2022-05-10 23:56:07.066	info	(803) Stop script script.js.common.System.Baterieüberwachung_
                                          
                                          
                                          Dominik F.D Offline
                                          Dominik F.D Offline
                                          Dominik F.
                                          wrote on last edited by
                                          #534

                                          @horst-böttcher

                                          Das Skript scheint keine Batterien zu erkennen. Hast du dich wirklich penibel genau an die Anleitung gehalten? Meist liegt dort der Fehler, bitte überprüfe das nochmal.

                                          Horst BöttcherH 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

                                          573

                                          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