Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mike Hellracer @Pittini last edited by

      @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 Reply Quote 0
      • P
        Pittini Developer @Mike Hellracer last edited by

        @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 Reply Quote 0
        • M
          Mike Hellracer @Pittini last edited by

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

          P 1 Reply Last reply Reply Quote 0
          • P
            Pittini Developer @Mike Hellracer last edited by

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

            M 1 Reply Last reply Reply Quote 0
            • M
              Mike Hellracer @Pittini last edited by

              @pittini
              Danke probiere ich morgen aus.

              1 Reply Last reply Reply Quote 0
              • C
                c.radi last edited by

                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 Reply Quote 0
                • P
                  Pittini Developer @c.radi last edited by

                  @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.

                  TheBermud created this issue in Pittini/iobroker-Batterienauswertung

                  open Meldung wird verschickt, wenn sich ein Wert, der bereits unter Limit ist sich ändert und unterm Limit bleibt #22

                  1 Reply Last reply Reply Quote 0
                  • A
                    ArnoD @c.radi last edited by ArnoD

                    @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 Reply Quote 0
                    • D3ltoroxp
                      D3ltoroxp last edited by

                      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 Reply Quote 0
                      • P
                        Pittini Developer @D3ltoroxp last edited by

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

                        D3ltoroxp 1 Reply Last reply Reply Quote 1
                        • D3ltoroxp
                          D3ltoroxp @Pittini last edited by D3ltoroxp

                          @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-rgb 1 Reply Last reply Reply Quote 0
                          • Schmakus
                            Schmakus Developer last edited by

                            @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 1 Reply Last reply Reply Quote 0
                            • P
                              Pittini Developer @Schmakus last edited by

                              @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 Reply Quote 0
                              • F
                                Frank579 last edited by

                                @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 Reply Quote 0
                                • P
                                  Pittini Developer @Frank579 last edited by

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

                                  F Dominik F. 2 Replies Last reply Reply Quote 1
                                  • F
                                    Frank579 @Pittini last edited by

                                    @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 Reply Quote 0
                                    • dog-rgb
                                      dog-rgb @D3ltoroxp last edited by

                                      @d3ltoroxp said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                      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.

                                      Kann ich den DeadCheck denn für Geräte ohne Batteriemeldung verwenden {scheint mir nicht so), oder muss ich dann einen Dummy DP erstellen der für den Batteriewert verwendet werden kann?
                                      Ich würde den DeadCheck gerne für weitere Geräte verwenden, wäre nur gut wenn es ausreichen würde diese Geräte nur dem DeadCheck zuzuweisen. Oder habe ich da was falsch eingestellt?

                                      Schmakus 1 Reply Last reply Reply Quote 0
                                      • Schmakus
                                        Schmakus Developer @dog-rgb last edited by

                                        @dog-rgb said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                        @d3ltoroxp said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                        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.

                                        Kann ich den DeadCheck denn für Geräte ohne Batteriemeldung verwenden {scheint mir nicht so), oder muss ich dann einen Dummy DP erstellen der für den Batteriewert verwendet werden kann?
                                        Ich würde den DeadCheck gerne für weitere Geräte verwenden, wäre nur gut wenn es ausreichen würde diese Geräte nur dem DeadCheck zuzuweisen. Oder habe ich da was falsch eingestellt?

                                        Der DeadCheck arbeitet autark von der Batteriespannung. Du kannst demnach auch nur den DeadCheck verwenden.

                                        dog-rgb 1 Reply Last reply Reply Quote 0
                                        • dog-rgb
                                          dog-rgb @Schmakus last edited by dog-rgb

                                          @schmakus said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                          @dog-rgb said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                          @d3ltoroxp said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                          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.

                                          Kann ich den DeadCheck denn für Geräte ohne Batteriemeldung verwenden {scheint mir nicht so), oder muss ich dann einen Dummy DP erstellen der für den Batteriewert verwendet werden kann?
                                          Ich würde den DeadCheck gerne für weitere Geräte verwenden, wäre nur gut wenn es ausreichen würde diese Geräte nur dem DeadCheck zuzuweisen. Oder habe ich da was falsch eingestellt?

                                          Der DeadCheck arbeitet autark von der Batteriespannung. Du kannst demnach auch nur den DeadCheck verwenden.

                                          Ich habe den Eindruck das dies nicht der Fall ist. Wenn ich einen DP nur im DeadCheck habe, dann taucht der weder in der Liste noch im Logging auf (wenn ich es einschalte).

                                          Schmakus 1 Reply Last reply Reply Quote 0
                                          • Schmakus
                                            Schmakus Developer @dog-rgb last edited by

                                            @dog-rgb said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                            @schmakus said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                            @dog-rgb said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                            @d3ltoroxp said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                            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.

                                            Kann ich den DeadCheck denn für Geräte ohne Batteriemeldung verwenden {scheint mir nicht so), oder muss ich dann einen Dummy DP erstellen der für den Batteriewert verwendet werden kann?
                                            Ich würde den DeadCheck gerne für weitere Geräte verwenden, wäre nur gut wenn es ausreichen würde diese Geräte nur dem DeadCheck zuzuweisen. Oder habe ich da was falsch eingestellt?

                                            Der DeadCheck arbeitet autark von der Batteriespannung. Du kannst demnach auch nur den DeadCheck verwenden.

                                            Ich habe den Eindruck das dies nicht der Fall ist. Wenn ich einen DP nur im DeadCheck habe, dann taucht der weder in der Liste noch im Logging auf (wenn ich es einschalte).

                                            Du könntest tatsächlich recht haben:

                                            21.06.21 (1.8.1)
                                            Change: Die bisherige automatische DeadCheckfunktion auf dem Batteriespannungdatenpunkt wurde entfernt aufgrund von einigen, insbesonders HM, Geräten welche kaum oder nicht aktualisieren. Wird ein DeadCheck gewünscht, so muß die Funktion "DeadCheck" explizit auf den gwünschten Datenpunkt gelegt werden. Dies muß innerhalb des gleichen Channels wie der Batteriedatenpunkt geschehen. https://github.com/Pittini/iobroker-Batterienauswertung/issues/18
                                            
                                            stony2k created this issue in Pittini/iobroker-Batterienauswertung

                                            closed Gerät wird als dead angezeigt, obwohl LOWBAT false ist #18

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            456
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            81
                                            581
                                            110478
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo