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
    109

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

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

[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.
  • 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
      • 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
        wrote on last edited by
        #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 Reply Last reply
        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
          wrote on last edited by
          #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 Reply 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
            #488

            @pittini
            Hi,
            das Problem mit [Object] [Object] ist zwar in der Tabelle weg, Aber ich habe das auch noch bei der Ansicht im St0Ma Message Creator.
            Kannst du da bitte noch mal schauen.
            Danke

            P 1 Reply Last reply
            0
            • M Mike Hellracer

              @pittini
              Hi,
              das Problem mit [Object] [Object] ist zwar in der Tabelle weg, Aber ich habe das auch noch bei der Ansicht im St0Ma Message Creator.
              Kannst du da bitte noch mal schauen.
              Danke

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

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

              Aber ich habe das auch noch bei der Ansicht im St0Ma Message Creator.

              Was fürn Ding?

              Kannst du da bitte noch mal schauen.

              Gern, wenn ich wüßte wonach bzw. worums eigentlich geht.

              M 1 Reply Last reply
              0
              • P Pittini

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

                Aber ich habe das auch noch bei der Ansicht im St0Ma Message Creator.

                Was fürn Ding?

                Kannst du da bitte noch mal schauen.

                Gern, wenn ich wüßte wonach bzw. worums eigentlich geht.

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

                @pittini
                sorry, ich dachte du kennst den ;)
                Ursache: ist der Value im DP
                Javascript.0.BatterieUeberwachung.NextExpectedLowBatt

                P 1 Reply Last reply
                0
                • M Mike Hellracer

                  @pittini
                  sorry, ich dachte du kennst den ;)
                  Ursache: ist der Value im DP
                  Javascript.0.BatterieUeberwachung.NextExpectedLowBatt

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

                  @mike-hellracer V1.8.4 sollte es tun, hab die anderen 7 Vorkommen auch gleich mit gemacht.

                  M 1 Reply Last reply
                  0
                  • P Pittini

                    @mike-hellracer V1.8.4 sollte es tun, hab die anderen 7 Vorkommen auch gleich mit gemacht.

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

                    @pittini
                    Danke probiere ich morgen aus.

                    1 Reply Last reply
                    0
                    • C Offline
                      C Offline
                      c.radi
                      wrote on last edited by
                      #493

                      Hallo und vielen Dank für dieses super Script.

                      Ich habe eine Frage, kann man einstellen, wie häufig das Script ausgeführt wird, bzw. wie häufig die Meldungen kommen.
                      Ich habe Pushover als Benachrichtigung eingestellt, aber die Nachrichten kommen ca. im Stundentakt.

                      Gruß
                      Christian

                      P A 2 Replies Last reply
                      0
                      • C c.radi

                        Hallo und vielen Dank für dieses super Script.

                        Ich habe eine Frage, kann man einstellen, wie häufig das Script ausgeführt wird, bzw. wie häufig die Meldungen kommen.
                        Ich habe Pushover als Benachrichtigung eingestellt, aber die Nachrichten kommen ca. im Stundentakt.

                        Gruß
                        Christian

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

                        @c-radi Ich nehm mal an, es geht um dieses Problem: https://github.com/Pittini/iobroker-Batterienauswertung/issues/22 Wird gefixt sobald ich Zeit über hab.

                        1 Reply Last reply
                        0
                        • C c.radi

                          Hallo und vielen Dank für dieses super Script.

                          Ich habe eine Frage, kann man einstellen, wie häufig das Script ausgeführt wird, bzw. wie häufig die Meldungen kommen.
                          Ich habe Pushover als Benachrichtigung eingestellt, aber die Nachrichten kommen ca. im Stundentakt.

                          Gruß
                          Christian

                          A Offline
                          A Offline
                          ArnoD
                          wrote on last edited by ArnoD
                          #495

                          @c-radi

                          Habe das Script erst heute installiert und deswegen noch nicht viel Erfahrung damit, aber ich würde das Problem über ein Array lösen, in dem ich mir einfach die bereits erzeugten Meldungen von einem Tag merken würde und diese dann ignorieren würde.

                          Ab Zeile 63 ein neues Array "MekerMeldungen" erstellen. (Name kann frei definiert werden)

                          let MekerMeldungen = [];
                          

                          Die function Meldung(msg) dann folgendermaßen ändern:

                          function Meldung(msg) {
                              let Start = msg.indexOf('unter');
                              if (Start <=0){Start = 0}
                              if (!MekerMeldungen.includes(msg.substr(Start))){
                                  MekerMeldungen.push(msg.substr(Start));
                          	log("Reaching Meldung(), msg=" + msg);
                          	if (UseSay) Say(msg);
                          	if (UseTelegram) {
                          		sendTo(TelegramInstance, "send", {
                          			user: TelegramUser,
                          			text: msg
                          		});
                          	};
                          	if (UseMail) {
                          		sendTo("email", {
                          			html: msg
                          		});
                          	};
                          	if (UseAlexa) {
                          		if (AlexaId != "") setState(AlexaInstance + ".Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, AlexaVolume + "; " + msg);
                          	};
                          	if (UsePushover) {
                          		sendTo(PushoverInstance, {
                          			device: PushoverDevice,
                          			message: msg,
                          			title: PushOverTitle,
                          			priority: 0,
                          			retry: 60,
                          			expire: 600,
                          			html: 1
                          		});
                          	};
                              }
                              if (logging) log(msg);
                              if (UseEventLog) WriteEventLog(msg);
                              if (UsePopUp) ShowPopUp(true, msg, "Batterys", "red");
                          }
                          

                          Um aber jeden Tag wieder eine Meldung zu bekommen, muss jetzt nur noch jeden Tag das Array "MekerMeldungen" gelöscht werden.
                          Am einfachsten über ein Schedule:

                          schedule({hour: 0, minute: 1}, function () {
                                  MekerMeldungen = [];
                          });
                          

                          Vielleicht will ja Pittini das übernehmen oder es gibt eine bessere Lösung.

                          Nachtrag:
                          Habe gerade bemerkt das im msg String auch die aktuelle Spannung enthalten ist.
                          Somit würde mein Vorschlag so nicht funktionieren, da jede Spannungsänderung als neue Meldung durchrutschen würde.
                          Eine Möglichkeit wäre, die aktuelle Spannung aus dem Meldungstext zu entfernen.
                          Habe meinen Code oben jetzt korrigiert.
                          Ich suche in der Variable msg jetzt das Wort „unter“ und verwende den String ab diesem Wort, um gleiche Meldungen zu filtern.
                          Funktioniert erst mal. :-)

                          1 Reply Last reply
                          0
                          • D3ltoroxpD Offline
                            D3ltoroxpD Offline
                            D3ltoroxp
                            wrote on last edited by
                            #496

                            Ich hab mal eine Frage, ich habe meine Geräte nun alle mit dem Script verknüpft, was mache ich denn bei solchen Kandidaten ?

                            0e5c376a-9475-4625-ac68-049ba393f1f3-grafik.png

                            Da gibt es nur Batterie %

                            P 1 Reply Last reply
                            0
                            • D3ltoroxpD D3ltoroxp

                              Ich hab mal eine Frage, ich habe meine Geräte nun alle mit dem Script verknüpft, was mache ich denn bei solchen Kandidaten ?

                              0e5c376a-9475-4625-ac68-049ba393f1f3-grafik.png

                              Da gibt es nur Batterie %

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

                              @d3ltoroxp Genauso anlegen wie alle anderen auch, erkennt das Skript selber was das ist. Siehe auch Anleitung .2.

                              D3ltoroxpD 1 Reply Last reply
                              1
                              • P Pittini

                                @d3ltoroxp Genauso anlegen wie alle anderen auch, erkennt das Skript selber was das ist. Siehe auch Anleitung .2.

                                D3ltoroxpD Offline
                                D3ltoroxpD Offline
                                D3ltoroxp
                                wrote on last edited by D3ltoroxp
                                #498

                                @pittini Vielen Dank, ich hatte auf Git die Anleitung durchgelesen aber ich finde diesen Punkt nicht, ich muss Blind sein ? Was gebe ich denn da an ?

                                BatteryMinLimit_30
                                

                                EDIT :: Ich habs gefunden, gleich 2 Satz.

                                Diese neue Funktion DeadCheck kann ich auch nutzen für z.b. Fensterkontakte, um zu schauen ob sie noch eine Verbindung haben oder erreichbar sind, genau so wie Geräte die gar keine Batterie haben.

                                dog-rgbD 1 Reply Last reply
                                0
                                • SchmakusS Offline
                                  SchmakusS Offline
                                  Schmakus
                                  Developer
                                  wrote on last edited by
                                  #499

                                  @Pittini Da es ja bekanntermaßen Probleme mit dem DeadCheck gibt, weil sich States oft nur selten melden, wäre ein DeadCheck mit Zeitangabe sinnvoll?
                                  Also quasi DeadCheck_24 für 24h oder DeadCheck_72 für 72h.......

                                  Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

                                  P 1 Reply Last reply
                                  0
                                  • SchmakusS Schmakus

                                    @Pittini Da es ja bekanntermaßen Probleme mit dem DeadCheck gibt, weil sich States oft nur selten melden, wäre ein DeadCheck mit Zeitangabe sinnvoll?
                                    Also quasi DeadCheck_24 für 24h oder DeadCheck_72 für 72h.......

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

                                    @schmakus Isses Wert drüber nachzudenken. Da ich grad aber keine Zeit hab, bitt Issue auf Git, damits nicht vergessen wird, ob ich je dazukomme is ne andere Frage.

                                    1 Reply Last reply
                                    0
                                    • F Offline
                                      F Offline
                                      Frank579
                                      wrote on last edited by
                                      #501

                                      @Pittini
                                      Wollte gerade die 1.8.5 von deinem Skript mal testen (zur zeit läuft die 1.8.1) Er schmeiß mir aber beim starten die fehler ins Log

                                      
                                      javascript.0
                                      2022-01-15 13:17:03.876	error	at processImmediate (internal/timers.js:466:21)
                                      
                                      javascript.0
                                      2022-01-15 13:17:03.876	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38)
                                      
                                      javascript.0
                                      2022-01-15 13:17:03.876	error	at Object.<anonymous> (script.js.common.System.Batt_185:126:13)
                                      
                                      javascript.0
                                      2022-01-15 13:17:03.876	error	at main (script.js.common.System.Batt_185:266:5)
                                      
                                      javascript.0
                                      2022-01-15 13:17:03.876	error	at MakeTable (script.js.common.System.Batt_185:610:75)
                                      
                                      javascript.0
                                      2022-01-15 13:17:03.876	error	Error in callback: TypeError: Cannot read property 'toFixed' of undefined
                                      
                                      javascript.0
                                      2022-01-15 13:17:03.868	info	script.js.common.System.Batt_185: registered 0 subscriptions and 0 schedules
                                      

                                      Hast du eine Idee was ich falsch mache, habe bis jetzt nur den DP fürs Skript auf userdata.0 geändert

                                      P 1 Reply Last reply
                                      0
                                      • F Frank579

                                        @Pittini
                                        Wollte gerade die 1.8.5 von deinem Skript mal testen (zur zeit läuft die 1.8.1) Er schmeiß mir aber beim starten die fehler ins Log

                                        
                                        javascript.0
                                        2022-01-15 13:17:03.876	error	at processImmediate (internal/timers.js:466:21)
                                        
                                        javascript.0
                                        2022-01-15 13:17:03.876	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38)
                                        
                                        javascript.0
                                        2022-01-15 13:17:03.876	error	at Object.<anonymous> (script.js.common.System.Batt_185:126:13)
                                        
                                        javascript.0
                                        2022-01-15 13:17:03.876	error	at main (script.js.common.System.Batt_185:266:5)
                                        
                                        javascript.0
                                        2022-01-15 13:17:03.876	error	at MakeTable (script.js.common.System.Batt_185:610:75)
                                        
                                        javascript.0
                                        2022-01-15 13:17:03.876	error	Error in callback: TypeError: Cannot read property 'toFixed' of undefined
                                        
                                        javascript.0
                                        2022-01-15 13:17:03.868	info	script.js.common.System.Batt_185: registered 0 subscriptions and 0 schedules
                                        

                                        Hast du eine Idee was ich falsch mache, habe bis jetzt nur den DP fürs Skript auf userdata.0 geändert

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

                                        @frank579 Zeig mal Einstellungen und kontrollier obs irgendwo nen leeren Datenpunkt gibt.

                                        F Dominik F.D 2 Replies Last reply
                                        1
                                        • P Pittini

                                          @frank579 Zeig mal Einstellungen und kontrollier obs irgendwo nen leeren Datenpunkt gibt.

                                          F Offline
                                          F Offline
                                          Frank579
                                          wrote on last edited by
                                          #503

                                          @pittini
                                          Super der leere Datenpunkt wars, hatte noch eine Leiche im Alias drin, wurde beim alten Skript als Dead erkannt.
                                          Vielen Dank 👍 👍

                                          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

                                          504

                                          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