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

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplatemonitoring
581 Beiträge 81 Kommentatoren 136.9k 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

    @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
    schrieb am zuletzt editiert von
    #468

    @pittini IMG_3269.jpeg

    C 1 Antwort Letzte Antwort
    0
    • K Kosta

      @pittini IMG_3269.jpeg

      C Offline
      C Offline
      Chrunchy
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        1
        • K Offline
          K Offline
          kgw
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von kgw
              #473

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

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

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

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

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          robudus
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antworten Letzte Antwort
                            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
                              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      Mike Hellracer
                                      schrieb am zuletzt editiert von
                                      #485

                                      @pittini
                                      Top, Danke

                                      1 Antwort Letzte Antwort
                                      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.

                                        R Offline
                                        R Offline
                                        robudus
                                        schrieb am zuletzt editiert von
                                        #486

                                        @pittini 98b35094-a46a-4076-b7c6-52efde2f58be-grafik.png

                                        Wenn ich kurz umschalte von false auf true und zurück dann zeigt er auch kurz false und true an... dann wechselt er aber wieder auf die 0. Also ist das ein Bug im Adapter für Jeelink? Hast du eine Idee wie man das als Workaround lösen kann?

                                        Vielen Dank

                                        G ROBudus

                                        P 1 Antwort Letzte Antwort
                                        0
                                        • R robudus

                                          @pittini 98b35094-a46a-4076-b7c6-52efde2f58be-grafik.png

                                          Wenn ich kurz umschalte von false auf true und zurück dann zeigt er auch kurz false und true an... dann wechselt er aber wieder auf die 0. Also ist das ein Bug im Adapter für Jeelink? Hast du eine Idee wie man das als Workaround lösen kann?

                                          Vielen Dank

                                          G ROBudus

                                          P Offline
                                          P Offline
                                          Pittini
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #487

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

                                          Hast du eine Idee wie man das als Workaround lösen kann?

                                          Evtl. mit Alias bzw. linkedDevices. Aber das sinnvollste wär der Adapter gibt nen echten Bool aus.

                                          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

                                          777

                                          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