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.6k

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

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

    @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
                          • 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
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #490

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

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

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

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

                                    @pittini
                                    Danke probiere ich morgen aus.

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      c.radi
                                      schrieb am zuletzt editiert von
                                      #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 Antworten Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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 Online
                                          A Online
                                          ArnoD
                                          schrieb am zuletzt editiert von 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 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

                                          421

                                          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