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

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    115

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    159

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    866

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

Scheduled Pinned Locked Moved Skripten / Logik
javascripttemplatemonitoring
581 Posts 81 Posters 148.6k 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.
  • K Kosta

    @pittini P.S.: ich habe auch ehrlich gesagt nicht ganz verstanden wie es mit der Messung von Volt funktioniert.. kann man diese Funktion ausschalten, damit einfach nur auf Prozente der Batterieladung geschaut wird? Vielleicht, liegt das Problem auch da..

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

    @kgb sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

    @pittini P.S.: ich habe auch ehrlich gesagt nicht ganz verstanden wie es mit der Messung von Volt funktioniert.. kann man diese Funktion ausschalten, damit einfach nur auf Prozente der Batterieladung geschaut wird? Vielleicht, liegt das Problem auch da..

    Prozente sind ja nur ne andere Angabe der Spannung, also nein, kann man nicht ausschalten, braucht man nicht ausschalten. Zeig doch mal nen Screenshot aus der Objektliste wo ich seh wie Du die Batteriespannungsfunktion setzt und wo. Und falls Du Änderungen an den Skriptsettings gemacht hast, bitte auch davon nen Auszug.
    Wenn Du Geräte aus den Aufzählungen dazunimmst oder raus löschst, mußte den JS Controller danach neustarten damit der das neu einliest. Haste das gemacht?

    K 2 Replies Last reply
    0
    • P Pittini

      @kgb sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

      @pittini P.S.: ich habe auch ehrlich gesagt nicht ganz verstanden wie es mit der Messung von Volt funktioniert.. kann man diese Funktion ausschalten, damit einfach nur auf Prozente der Batterieladung geschaut wird? Vielleicht, liegt das Problem auch da..

      Prozente sind ja nur ne andere Angabe der Spannung, also nein, kann man nicht ausschalten, braucht man nicht ausschalten. Zeig doch mal nen Screenshot aus der Objektliste wo ich seh wie Du die Batteriespannungsfunktion setzt und wo. Und falls Du Änderungen an den Skriptsettings gemacht hast, bitte auch davon nen Auszug.
      Wenn Du Geräte aus den Aufzählungen dazunimmst oder raus löschst, mußte den JS Controller danach neustarten damit der das neu einliest. Haste das gemacht?

      K Offline
      K Offline
      Kosta
      wrote on last edited by
      #467

      @pittini hier sind ein paar Screenshots. Danke für deine Unterstützung!!!IMG_3270.jpeg ![IMG_3269.jpeg](/assets/uploads/files/1636999083IMG_3267.jpeg 169-img_3269-resized.jpeg)

      P 1 Reply Last reply
      0
      • P Pittini

        @kgb sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

        @pittini P.S.: ich habe auch ehrlich gesagt nicht ganz verstanden wie es mit der Messung von Volt funktioniert.. kann man diese Funktion ausschalten, damit einfach nur auf Prozente der Batterieladung geschaut wird? Vielleicht, liegt das Problem auch da..

        Prozente sind ja nur ne andere Angabe der Spannung, also nein, kann man nicht ausschalten, braucht man nicht ausschalten. Zeig doch mal nen Screenshot aus der Objektliste wo ich seh wie Du die Batteriespannungsfunktion setzt und wo. Und falls Du Änderungen an den Skriptsettings gemacht hast, bitte auch davon nen Auszug.
        Wenn Du Geräte aus den Aufzählungen dazunimmst oder raus löschst, mußte den JS Controller danach neustarten damit der das neu einliest. Haste das gemacht?

        K Offline
        K Offline
        Kosta
        wrote on last edited by
        #468

        @pittini IMG_3269.jpeg

        C 1 Reply Last reply
        0
        • K Kosta

          @pittini IMG_3269.jpeg

          C Offline
          C Offline
          Chrunchy
          wrote on last edited by
          #469

          @kgb gemäß Script gibt es eine Variable "FunktionBaseName" (vorbelegt meine ich mit "BatterieSpannung_") diese muss dann für die jeweiligen Batteriespannungen verwendet werden.

          Beispiele:
          Geräte mit 3V Batteriespannung müssen in die Funktion "BatterieSpannung_30"
          Geräte mit 1,5V Batteriespannung müssen in die Funktion "BatterieSpannung_15"
          usw.

          Aus dem Zahlenwert wird ggf. die Sollspannung berechnet. Bei dir sind es 1V, was bei 50% dann eben nur 0,5V Ist-Spannung ergibt, also quasi 0.

          Gruß Chrunchy

          1 Reply Last reply
          1
          • K Kosta

            @pittini hier sind ein paar Screenshots. Danke für deine Unterstützung!!!IMG_3270.jpeg ![IMG_3269.jpeg](/assets/uploads/files/1636999083IMG_3267.jpeg 169-img_3269-resized.jpeg)

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

            @kgb Also zum einen ist der Raum falsch zugeordnet, das ganze Gerät ist in diesem Raum und nicht nur ein Datenpunkt. Zum anderen, wenn Du Bat_10 verwendest, mußte das auch in den Einstellungen im Skript anpassen. Wobei ich jetzt weder ein Gerät kenne, noch ne Batterie mit 1V. Siehe auch was @Chrunchy völlig korrekt anmerkte.

            1 Reply Last reply
            1
            • K Offline
              K Offline
              kgw
              wrote on last edited by Negalein
              #471

              Hallo,

              Version 1.8.2
              iobroker alles auf Stand, JavaScript 5.2.8

              alles nach Anweisung eingebaut. Es kommen aber zunächst folgende Fehlermeldungen:

              javascript.0 2021-11-16 11:19:08.110	error	at CheckNextLowBatt (script.js.tmpNoRun.**Batterieüberwachung:379**:97)
              javascript.0 2021-11-16 11:19:08.109	error	Error in callback: TypeError: Cannot read property 'toFixed' of undefined
              
              
              javascript.0 2021-11-16 11:20:37.885	error	at MakeTable (script.js.tmpNoRun.**Batterieüberwachung:578**:105)
              javascript.0 2021-11-16 11:20:37.884	error	Error in callback: TypeError: Cannot read property 'common' of null
              
              
              javascript.0 2021-11-16 11:22:06.519	error	at MakeTable (script.js.tmpNoRun.**Batterieüberwachung:587**:75)
              javascript.0 2021-11-16 11:22:06.519	error	Error in callback: TypeError: Cannot read property 'toFixed' of undefined
              

              Aktiviert (BatterieSpannung_30) ist zunächst nur ein homematic Heizkörperventil:

              1fd82bd4-9240-4a5d-8620-c0e05f6a5eaa-grafik.png

              Ich habe hoffentlich alle Kommentare gelesen aber nichts für mich auffälliges entdeckt.
              Evtl. hat jmd, eine Idee bevor ich anfange zu debuggen?

              Gruß TS

              P 1 Reply Last reply
              0
              • K kgw

                Hallo,

                Version 1.8.2
                iobroker alles auf Stand, JavaScript 5.2.8

                alles nach Anweisung eingebaut. Es kommen aber zunächst folgende Fehlermeldungen:

                javascript.0 2021-11-16 11:19:08.110	error	at CheckNextLowBatt (script.js.tmpNoRun.**Batterieüberwachung:379**:97)
                javascript.0 2021-11-16 11:19:08.109	error	Error in callback: TypeError: Cannot read property 'toFixed' of undefined
                
                
                javascript.0 2021-11-16 11:20:37.885	error	at MakeTable (script.js.tmpNoRun.**Batterieüberwachung:578**:105)
                javascript.0 2021-11-16 11:20:37.884	error	Error in callback: TypeError: Cannot read property 'common' of null
                
                
                javascript.0 2021-11-16 11:22:06.519	error	at MakeTable (script.js.tmpNoRun.**Batterieüberwachung:587**:75)
                javascript.0 2021-11-16 11:22:06.519	error	Error in callback: TypeError: Cannot read property 'toFixed' of undefined
                

                Aktiviert (BatterieSpannung_30) ist zunächst nur ein homematic Heizkörperventil:

                1fd82bd4-9240-4a5d-8620-c0e05f6a5eaa-grafik.png

                Ich habe hoffentlich alle Kommentare gelesen aber nichts für mich auffälliges entdeckt.
                Evtl. hat jmd, eine Idee bevor ich anfange zu debuggen?

                Gruß TS

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

                @kgw Na, das kann nicht gehen. Du hast die Funktion dem ganzen Gerät zugeordnet, das ist sinnfrei. Die Funktion ist nur einem Datenpunkt zuzuweisen, der Raum dem ganzen Gerät, steht auch explizit so in der Anleitung inkl. Screenshot.
                2021-11-16 21_54_58-Window.png

                K M 2 Replies Last reply
                0
                • P Pittini

                  @kgw Na, das kann nicht gehen. Du hast die Funktion dem ganzen Gerät zugeordnet, das ist sinnfrei. Die Funktion ist nur einem Datenpunkt zuzuweisen, der Raum dem ganzen Gerät, steht auch explizit so in der Anleitung inkl. Screenshot.
                  2021-11-16 21_54_58-Window.png

                  K Offline
                  K Offline
                  kgw
                  wrote on last edited by kgw
                  #473

                  @pittini Herzlichen Dank!
                  im Eifer des Gefechts total übersehen! Wie üblich: Lesen hilft.👍
                  Werde ich heute abend gleich checken.

                  Heute Abend:
                  Kaum macht man's richtig...

                  1 Reply Last reply
                  0
                  • P Pittini

                    @kgw Na, das kann nicht gehen. Du hast die Funktion dem ganzen Gerät zugeordnet, das ist sinnfrei. Die Funktion ist nur einem Datenpunkt zuzuweisen, der Raum dem ganzen Gerät, steht auch explizit so in der Anleitung inkl. Screenshot.
                    2021-11-16 21_54_58-Window.png

                    M Offline
                    M Offline
                    Mike Hellracer
                    wrote on last edited by
                    #474

                    @pittini
                    Hi, ich habe jetzt endlich mal wieder die Zeit gefunden mich um das Update deiner Scripte zu kümmern.
                    Es hat auch soweit alles funktioniert nur bei der Funktion für den DeadCheck stehe ich irgendwie auf dem Schlauch.
                    Viele der DP heißen "unreach" (z. B. ALiasse und HM) und liefern daraus resultierend ein false für OK. Das wird aber leider von deinem Script als "nicht erreichbar" interpretiert.
                    Muss ich da was konfigurieren damit es unreach und reachable kann?

                    P 1 Reply Last reply
                    0
                    • M Mike Hellracer

                      @pittini
                      Hi, ich habe jetzt endlich mal wieder die Zeit gefunden mich um das Update deiner Scripte zu kümmern.
                      Es hat auch soweit alles funktioniert nur bei der Funktion für den DeadCheck stehe ich irgendwie auf dem Schlauch.
                      Viele der DP heißen "unreach" (z. B. ALiasse und HM) und liefern daraus resultierend ein false für OK. Das wird aber leider von deinem Script als "nicht erreichbar" interpretiert.
                      Muss ich da was konfigurieren damit es unreach und reachable kann?

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

                      @mike-hellracer sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                      Viele der DP heißen "unreach" (z. B. ALiasse und HM) und liefern daraus resultierend ein false für OK. Das wird aber leider von deinem Script als "nicht erreichbar" interpretiert.
                      Muss ich da was konfigurieren damit es unreach und reachable kann?

                      Das is aber seltsam, weil dem Deadcheck vollkommen egal ist was im Datenpunkt steht, der schaut nur aufn Zeitstempel, wann, welcher Wert auch immer, aktualisiert wurde. Versuch das bitte mal einzugrenzen und schau ob da aktualisiert wurde, sonst is die Meldung klar.

                      M 1 Reply Last reply
                      0
                      • P Pittini

                        @mike-hellracer sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                        Viele der DP heißen "unreach" (z. B. ALiasse und HM) und liefern daraus resultierend ein false für OK. Das wird aber leider von deinem Script als "nicht erreichbar" interpretiert.
                        Muss ich da was konfigurieren damit es unreach und reachable kann?

                        Das is aber seltsam, weil dem Deadcheck vollkommen egal ist was im Datenpunkt steht, der schaut nur aufn Zeitstempel, wann, welcher Wert auch immer, aktualisiert wurde. Versuch das bitte mal einzugrenzen und schau ob da aktualisiert wurde, sonst is die Meldung klar.

                        M Offline
                        M Offline
                        Mike Hellracer
                        wrote on last edited by Mike Hellracer
                        #476

                        @pittini
                        Ja der Zeitstempel ist ein paar Tage alt.

                        Zigbee Wassermelder:
                        -available aktualisiert nur bei Auslösung
                        Ggf. den DP Batterie nutzen oder kann man da was anpassen?

                        HM Fenstersensoren

                        • alle Werte aktualisieren maximal bei Auslösung :(

                        Hast du ggf. eine Idee, oder noch besser eine Lösung?

                        P 1 Reply Last reply
                        0
                        • M Mike Hellracer

                          @pittini
                          Ja der Zeitstempel ist ein paar Tage alt.

                          Zigbee Wassermelder:
                          -available aktualisiert nur bei Auslösung
                          Ggf. den DP Batterie nutzen oder kann man da was anpassen?

                          HM Fenstersensoren

                          • alle Werte aktualisieren maximal bei Auslösung :(

                          Hast du ggf. eine Idee, oder noch besser eine Lösung?

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

                          @mike-hellracer Wenn das Gerät tatsächlich keinen Datenpunkt hat, der regelmäßig aktualisiert wird, isses auch nicht möglich rauszufinden ob das Gerät tot ist, dann mußt dich halt auf reach/unreach bzw. die Batteriespannungsanzeige verlassen.

                          M 1 Reply Last reply
                          0
                          • P Pittini

                            @mike-hellracer Wenn das Gerät tatsächlich keinen Datenpunkt hat, der regelmäßig aktualisiert wird, isses auch nicht möglich rauszufinden ob das Gerät tot ist, dann mußt dich halt auf reach/unreach bzw. die Batteriespannungsanzeige verlassen.

                            M Offline
                            M Offline
                            Mike Hellracer
                            wrote on last edited by
                            #478

                            @pittini
                            OK danke dir trotzdem.
                            Ich schaue mal was ich finden kann.

                            1 Reply Last reply
                            0
                            • R Offline
                              R Offline
                              robudus
                              wrote on last edited by
                              #479

                              Hallo Zusammen,
                              benutze die Version 1.8.2 bei den Jeelinkgeräten bekomme ich eine Batteriewarnmldug obwohl alles ok ist. Kann jemand helfen?
                              Anbei die Screenshots. Es ist ein boolean Wert und steht auf false bzw 0. Bedeutet Batterie ist ok.
                              Bitte um Hilfe.

                              2021-11-21 21_48_12-vis.png

                              2021-11-21 21_47_14-objects - iobroker.png

                              2021-11-21 21_46_31-objects - iobroker.png

                              Vielen Dank

                              G ROBudus

                              P 1 Reply Last reply
                              0
                              • R robudus

                                Hallo Zusammen,
                                benutze die Version 1.8.2 bei den Jeelinkgeräten bekomme ich eine Batteriewarnmldug obwohl alles ok ist. Kann jemand helfen?
                                Anbei die Screenshots. Es ist ein boolean Wert und steht auf false bzw 0. Bedeutet Batterie ist ok.
                                Bitte um Hilfe.

                                2021-11-21 21_48_12-vis.png

                                2021-11-21 21_47_14-objects - iobroker.png

                                2021-11-21 21_46_31-objects - iobroker.png

                                Vielen Dank

                                G ROBudus

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

                                @robudus Ich frag mich grad woher die 0 kommt, das RAW gibt das eigentlich nicht her. Der DP ist als Bool definiert, deswegen erwartet das Skript da auch nen Bool, also true oder false.

                                M R 2 Replies Last reply
                                0
                                • P Pittini

                                  @robudus Ich frag mich grad woher die 0 kommt, das RAW gibt das eigentlich nicht her. Der DP ist als Bool definiert, deswegen erwartet das Skript da auch nen Bool, also true oder false.

                                  M Offline
                                  M Offline
                                  Mike Hellracer
                                  wrote on last edited by Mike Hellracer
                                  #481

                                  @pittini
                                  sorry, aber ich habe noch ein Problem oder vlt nur ein Missverständnis.
                                  Wenn der Name des Sensor mehrsprachig ist wird für den Name des Sensor [Object] [Object] angezeigt.
                                  Oder sollte da der de Name der Funktion stehen?

                                  P 1 Reply Last reply
                                  0
                                  • M Mike Hellracer

                                    @pittini
                                    sorry, aber ich habe noch ein Problem oder vlt nur ein Missverständnis.
                                    Wenn der Name des Sensor mehrsprachig ist wird für den Name des Sensor [Object] [Object] angezeigt.
                                    Oder sollte da der de Name der Funktion stehen?

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

                                    @mike-hellracer sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                    Wenn der Name des Sensor mehrsprachig ist wird für den Name des Sensor [Object] [Object] angezeigt.
                                    Oder sollte da der de Name der Funktion stehen?

                                    Änder mal bitte wie aufm Bild zu sehen und sag obs dann klappt bitte.
                                    2021-11-22 12_13_13-Window.png

                                    Und hier als Text zum kopieren:

                                    if (TblShowDeviceNameCol) {
                                               let tempName = getObject(GetParentId(Sensor[x].id), "common").common.name;
                                               if (typeof tempName == "object") tempName = tempName.de;
                                               MyTable += "<td " + style0 + BgColor + "'>" + tempName + "</td>";
                                           };
                                    
                                    M 2 Replies Last reply
                                    0
                                    • P Pittini

                                      @mike-hellracer sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                      Wenn der Name des Sensor mehrsprachig ist wird für den Name des Sensor [Object] [Object] angezeigt.
                                      Oder sollte da der de Name der Funktion stehen?

                                      Änder mal bitte wie aufm Bild zu sehen und sag obs dann klappt bitte.
                                      2021-11-22 12_13_13-Window.png

                                      Und hier als Text zum kopieren:

                                      if (TblShowDeviceNameCol) {
                                                 let tempName = getObject(GetParentId(Sensor[x].id), "common").common.name;
                                                 if (typeof tempName == "object") tempName = tempName.de;
                                                 MyTable += "<td " + style0 + BgColor + "'>" + tempName + "</td>";
                                             };
                                      
                                      M Offline
                                      M Offline
                                      Mike Hellracer
                                      wrote on last edited by Mike Hellracer
                                      #483

                                      @pittini
                                      Yep, das war's
                                      Habe hier die Variable "enumCategory" auch für dieses Script...

                                      const WhichEnumCategoryToUse = "functions"; // Legt fest in welcher Kategorie sich die Aufzählungen befinden! Nur ändern wer weis was er tut!
                                      


                                      und die anzupassenden Zeilen 126, 232, 294

                                      let Funktionen = getEnums(WhichEnumCategoryToUse); //Array mit Aufzählung der Funktionen
                                      
                                      

                                      P 1 Reply Last reply
                                      0
                                      • M Mike Hellracer

                                        @pittini
                                        Yep, das war's
                                        Habe hier die Variable "enumCategory" auch für dieses Script...

                                        const WhichEnumCategoryToUse = "functions"; // Legt fest in welcher Kategorie sich die Aufzählungen befinden! Nur ändern wer weis was er tut!
                                        


                                        und die anzupassenden Zeilen 126, 232, 294

                                        let Funktionen = getEnums(WhichEnumCategoryToUse); //Array mit Aufzählung der Funktionen
                                        
                                        

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

                                        @mike-hellracer sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                        let Funktionen = getEnums(WhichEnumCategoryToUse); //Array mit Aufzählung der Funktionen

                                        Drin v1.8.3.

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          Mike Hellracer
                                          wrote on last edited by
                                          #485

                                          @pittini
                                          Top, Danke

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          529

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          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