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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.0k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplatemonitoring
581 Beiträge 81 Kommentatoren 138.2k Aufrufe 84 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.
  • 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.

    T Offline
    T Offline
    Tobi81
    schrieb am zuletzt editiert von Tobi81
    #514

    @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 1 Antwort Letzte Antwort
    0
    • 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.
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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.
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          Tobi81
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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.
                schrieb am zuletzt editiert von
                #520

                @pittini

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

                Unbenannt.PNG

                1 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #522

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

                    B 1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #523

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

                      P 1 Antwort Letzte Antwort
                      0
                      • B babl

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

                        P Offline
                        P Offline
                        Pittini
                        Developer
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            Matt77CHE
                            schrieb am zuletzt editiert von Matt77CHE
                            #526

                            gelöscht

                            1 Antwort Letzte Antwort
                            0
                            • Nightfly1983N Offline
                              Nightfly1983N Offline
                              Nightfly1983
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antworten Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • dog-rgbD Offline
                                    dog-rgbD Offline
                                    dog-rgb
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #532

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

                                        Horst BöttcherH 1 Antwort Letzte Antwort
                                        1
                                        • dog-rgbD dog-rgb

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

                                          Horst BöttcherH Offline
                                          Horst BöttcherH Offline
                                          Horst Böttcher
                                          schrieb am zuletzt editiert von
                                          #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_
                                          
                                          
                                          Dominik F.D 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

                                          378

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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