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.
    • 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
                          • Dominik F.
                            Dominik F. @Pittini last edited by

                            @pittini

                            Ich hab gerade das Skript aktualisiert, hat das einen Grund, dass die Einstellungen zum Ausschalten für die Tabellenspalten doppelt vorhanden sind?

                            /Tabellen Einstellungen
                            const TblOkBgColor = "#4caf50"; //Hintergrundfarbe für Batteriestatus Ok
                            const TblInfoBgColor = "#ffc107"; //Hintergrundfarbe für Batteriestatus Info, also die leerste Batterie welche noch nicht das Limit unterschreitet
                            const TblWarnBgColor = "#f44336"; //Hintergrundfarbe für Batteriestatus Warnung, also jene Batterie welche unter das Limit kam.
                            const TblDeadBgColor = "grey"; //Hintergrundfarbe für Batterie/Geräte Status tot.
                            const HeadBgColor = "dimgrey"; //Hintergrundfarbe des Tabellenkopfes
                            const FontColor = "black"; //Textfarbe für Tabelleninhalt
                            const HeadFontColor = "white"; //Textfarbe für Tabellenkopf
                            const TblShowLfdCol = true; //Tabellenspalte mit laufender Nummer anzeigen?
                            const TblShowDeviceIDCol = true; //Tabellenspalte mit Geräte ID anzeigen?
                            const TblShowDeviceNameCol = true; //Tabellenspalte mit Gerätenamen anzeigen?
                            const TblShowRoomCol = true; //Tabellenspalte mit Raum anzeigen?
                            const TblShowUmaxCol = true; //Tabellenspalte mit Batterie Nennspannung anzeigen? 
                            const TblShowUistCol = true; //Tabellenspalte mit aktueller Batteriespannung anzeigen?
                            const TblShowUlimitCol = true; //Tabellenspalte mit unterer Batterielimit Spannung anzeigen?
                            const TblShowProzbatCol = true; //Tabellenspalte mit Batteriestand in Prozent anzeigen?
                            const TblShowProzliveCol = true; //Tabellenspalte mit Restlebensdauer unter Berücksichtigung der Limitspannung in Prozent anzeigen? Beispiel: Batterie hat 3V Nennspannung, Limit ist bei 2V, aktueller Batteriestand ist 2.5V, dann wäre die Restlebensdauer 50%
                            const TblShowStatusCol = true; //Tabellenspalte mit Status ausgeben?
                            const TblShowHasDeadCheck = true; //Tabellenspalte mit DeadCheckstatus ausgeben?
                            
                            //Spalten der JSON Tabellen bei Bedarf ausschalten
                            const TblJSNShowLfdCol = true; //Tabellenspalte mit laufender Nummer anzeigen?
                            const TblJSNShowDeviceIDCol = true; //Tabellenspalte mit Geräte ID anzeigen?
                            const TblJSNShowDeviceNameCol = true; //Tabellenspalte mit Gerätenamen anzeigen?
                            const TblJSNShowRoomCol = true; //Tabellenspalte mit Raum anzeigen?
                            const TblJSNShowUmaxCol = true; //Tabellenspalte mit Batterie Nennspannung anzeigen? 
                            const TblJSNShowUistCol = true; //Tabellenspalte mit aktueller Batteriespannung anzeigen?
                            const TblJSNShowUlimitCol = true; //Tabellenspalte mit unterer Batterielimit Spannung anzeigen?
                            const TblJSNShowProzbatCol = true; //Tabellenspalte mit Batteriestand in Prozent anzeigen?
                            const TblJSNShowProzliveCol = true; //Tabellenspalte mit Restlebensdauer unter Berücksichtigung der Limitspannung in Prozent anzeigen? Beispiel: Batterie hat 3V Nennspannung, Limit ist bei 2V, aktueller Batteriestand ist 2.5V, dann wäre die Restlebensdauer 50%
                            const TblJSNShowStatusCol = true; //Tabellenspalte mit Status ausgeben?
                            const TblJSNShowHasDeadCheck = true; //Tabellenspalte mit DeadCheckstatus ausgeben?
                            
                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Pittini Developer @Dominik F. last edited by

                              @dominik-f Ja hat es, das eine is für die HTML Tabelle, das andere für die JSON Tabelle.

                              Dominik F. 1 Reply Last reply Reply Quote 0
                              • Dominik F.
                                Dominik F. @Pittini last edited by

                                @pittini

                                Achso, hatte bei beiden nur Tabelle gelesen 😄

                                1 Reply Last reply Reply Quote 0
                                • D3ltoroxp
                                  D3ltoroxp last edited by

                                  DeadCheck kann ich indem Fall auch einfach auf den DP available legen ? Wenn der nicht mehr aktualisiert wird, wird das Device dann unter Dead angezeigt ?

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    Tobi81 last edited by

                                    Ich habe JeeLink Sensoren, die den Zustand LowBatt 0 oder 1 liefern.

                                    Ich habe bisher nur die Funktionen BatterieSpannung_24 und BatterieSpannung_30.

                                    Brauche ich nun eine neue Funktion BatterieSpannung_1 oder wie gehe ich hier am besten vor um diesen Fall von dem Script zu berücksichtigen?

                                    Vielen Dank 🙂

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

                                      @tobi81 BatterieSpannung_1 würde heißen in dem Gerät is ne Batterie mit 0,1 Volt. Haste so ein Gerät/Batterie? Nein. Womit die Frage geklärt wäre.
                                      Zum Thema 0 und 1, das ist neu und wird so vom Skript nicht erkannt, bei lowbat wird ein true oder false erwartet, also am besten nen Alias machen der die 0/1 zu true/false wandelt, dann wird das vom Skript auch erkannt. Die BatterieSpannung_xx ist IMMER die tatsächliche Spannung, egal ob da dann % oder lowbat oder was auch immer kommt.

                                      T Dominik F. 2 Replies Last reply Reply Quote 0
                                      • T
                                        Tobi81 @Pittini last edited by Tobi81

                                        @pittini Vielen Dank für die Erklärung.
                                        Ich habe noch nie einen Alias Datenpunkt erstellt. Geht das über den Alias-Adapter?
                                        Danach erstellt man die neuen Datenpunkte unter Alias.0. oder? Wie sage ich dann deinem Script das er diese Datenpunkte überwachen soll? Denen muss ich ja eine Funktion zuweisen, oder?

                                        Dominik F. 1 Reply Last reply Reply Quote 0
                                        • Dominik F.
                                          Dominik F. @Tobi81 last edited by

                                          @tobi81

                                          Nimm den Alias Manager, damit geht das sehr einfach. Es lohnt sich übrigens alle Datenpunkte, die du irgendwie brauchst, also nicht nur für dieses Skript, als Alias zu erstellen. Somit brauchst du, wenn du mal etwas austauscht, nur die Alias ändern, also die Datenpunkte im Alias nur neu zuweisen, und alles funktioniert weiterhin.

                                          Wenn du das erstellst hast, folgst du einfach den Anweisungen von Pittini in seiner Erklärung.

                                          1 Reply Last reply Reply Quote 0
                                          • Dominik F.
                                            Dominik F. @Pittini last edited by

                                            @pittini

                                            Ich bekomme folgenden Log von dem Skript:

                                            avascript.0
                                            2022-02-08 18:50:48.543	info	script.js.common.Auswertung_Batterien: Reaching Meldung(), msg=Batteriestand (2.29 V) unter Limit (2.32 V) im EG Diele bei Gerät EG_Diele Heizkörper
                                            

                                            Problem an der Sache ist, der Batteriestand ist 2,4V, das wird auch in der Tabelle richtig erkannt:

                                            Unbenannt.PNG

                                            Hast du eine Idee was das Problem sein könnte?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            817
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            81
                                            581
                                            110484
                                            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