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

      @jason

      ich hab bei mir die Standardeinstellungen gelassen. Ist wie bei allen anderen Widgets auch. Du erstellst ein Gerät das die JsonTabelle beinhaltet wie bei deinen States auch und erstellst dann ein Widget JsonTable und wählst es dort aus.
      Wenn du die Tabelle irgendwie anders formatiert angezeigt bekommen möchtest, dann stell die Fragen dazu am Besten im Jarvis Thread. Das hat ja nichts mit dem Skript hier zutun.

      1 Reply Last reply Reply Quote 0
      • J
        Jason last edited by

        Da hast Du recht, ich hatte wohl ein großes Brett vorm Kopf!!

        Vielen Dank!

        1 Reply Last reply Reply Quote 0
        • reindeer-web
          reindeer-web @Pittini last edited by

          @pittini
          Obwohl das script immer funktioniert hat, bekommen ich jetzt immer diese Fehlermeldungen:

          16:15:23.711	error	javascript.0 (3163) at MakeTable (script.js.common.BattUeberwachung:610:75)
          16:15:23.711	error	javascript.0 (3163) at main (script.js.common.BattUeberwachung:266:5)
          16:15:23.712	error	javascript.0 (3163) at Object.<anonymous> (script.js.common.BattUeberwachung:126:13)
          

          An was könnte das denn liegen?

          P 1 Reply Last reply Reply Quote 0
          • P
            Pittini Developer @reindeer-web last edited by

            @reindeer-web Mit den wenigen Infos ist das Glaskugelraten. Hast was geändert oder neues hinzugefügt? Hast iwelche updates eingespielt, wenn ja welche? Hast Geräte welche einen null Wert haben? Hast logging mal im Skript aktiviert und geguggt was das sagt?

            reindeer-web 1 Reply Last reply Reply Quote 0
            • reindeer-web
              reindeer-web @Pittini last edited by

              @pittini
              Vielen Dank! Der Hinweis auf den null Wert hat mir sehr geholfen.
              Ich habe eine Homematic IP Schlüsselbundfernbedienung, die öfters für längere Zeit (Tage, Wochen) außer Reichweite ist. Wieso die plötzlich einen null Wert hat ist mir nicht ganz klar.
              Auf jeden Fall habe ich jetzt die Überwachung dafür herausgenommen und es funktioniert wieder alles bestens.

              1 Reply Last reply Reply Quote 0
              • S
                SidM last edited by

                Guten Abend!

                Ich weiß nicht ob ich zu blöd bin. Habe das Skript mit "BatterieSpannung_33" laufen.
                Jetzt versuche ich noch weitere Spannungen zu überwachen.

                Ich habe eine zweite Zeile hinzugefügt:

                const FunktionBaseName = "BatterieSpannung_33"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
                const FunktionBaseName = "BatterieSpannung_100"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
                

                Das hat nicht funktioniert und das Skript folgende Meldung ausgegeben:

                javascript.0 (6407) script.js.common.BatterieUeberwachung compile failed: at script.js.common.BatterieUeberwachung:13
                
                

                Also hab ich in der gleichen Zeile einfach eine weitere Spannung hinzugefügt:

                const FunktionBaseName = "BatterieSpannung_33";"BatterieSpannung_100"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
                

                Hier bekomme ich auch keine fehlermeldung.
                Aber unter den Datenpunkten hab ich weiterhin nur einmal den Datenpunkt BatteryMinLimit_
                Kann so also keine zwei getrennten Werte bei unterschreiten der jeweiligen Spannung einstellen.

                Was mache ich hier falsch?
                Javaskript Adapter wurde schon neu gestartet....

                Danke!

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

                  @sidm

                  Du hast dir einfach nur die Anleitung nicht genau genug durchgelesen 😉
                  Im Skript musst du das nicht anpassen, also bitte wieder in den Ursprung bringen:

                  const FunktionBaseName = "BatterieSpannung_"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
                  

                  Dann nach Anleitung bitte die Aufzählungen anlegen. In deinem Fall BatterieSpannung_33 und BatterieSpannung_100.
                  Den beiden Aufzählungen dann die entsprechenden Datenpunkte zuweisen.

                  Hier nochmal der Link zur Anleitung:
                  https://github.com/Pittini/iobroker-Batterienauswertung

                  Es ist wichtig, dass du die Punkte unter Installation sehr genau befolgst, da sonst genau das passiert, was bei dir passiert ist 🙂

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

                    @dominik-f

                    Ahh jetzt ja! Oh man...bin ich blöd 🙄

                    Die Aufzählung hatte ich ja angelegt, aber ich bei Punkt 5 "Nun Zeile 8-24 kontrollieren und bei Bedarf anpassen, wofür die einzelnen Zeilen gut sind, steht jeweils im Kommentar rechts daneben."
                    habe ich so verstanden, dass dort ebenfalls pro zu überwachende Spannung ein Eintrag rein muss.

                    Vielen Dank, nun passen die Datenpunkte!
                    Und @Pittini vielen Dank für das Klasse Skript!

                    1 Reply Last reply Reply Quote 1
                    • Horst Böttcher
                      Horst Böttcher last edited by

                      @pittini

                      javascript.0
                      Zeit
                      debug
                      Nachricht
                      
                      javascript.0
                      2023-03-16 14:51:14.668	error	at processImmediate (node:internal/timers:468:21)
                      
                      javascript.0
                      2023-03-16 14:51:14.668	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2443:38)
                      
                      javascript.0
                      2023-03-16 14:51:14.668	error	at Object.<anonymous> (script.js.System_.Batterieüberwachung:126:13)
                      
                      javascript.0
                      2023-03-16 14:51:14.668	error	at main (script.js.System_.Batterieüberwachung:265:5)
                      
                      javascript.0
                      2023-03-16 14:51:14.668	error	at CheckNextLowBatt (script.js.System_.Batterieüberwachung:395:91)
                      
                      javascript.0
                      2023-03-16 14:51:14.667	error	Error in callback: TypeError: Cannot read properties of undefined (reading 'value')
                      
                      javascript.0
                      2023-03-16 14:51:14.612	info	script.js.System_.Batterieüberwachung: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      
                      javascript.0
                      2023-03-16 14:51:14.608	info	script.js.System_.Batterieüberwachung: starting Batterieüberwachung V.1.8.5
                      
                      javascript.0
                      2023-03-16 14:51:14.567	info	Start javascript script.js.System_.Batterieüberwachung
                      
                      javascript.0
                      2023-03-16 14:51:12.628	info	Stop script script.js.System_.Batterieüberwachung
                      

                      zeigt leider nix an und bekomme fehler meldung

                      Dominik F. 1 Reply Last reply Reply Quote 0
                      • Dominik F.
                        Dominik F. @Horst Böttcher last edited by

                        @horst-böttcher

                        Zeig mal bitte die ersten 40 Zeilen des Skriptes, ich tippe darauf, dass du falsche Einstellungen hast UND/ODER die Funktion falsch hast

                        Horst Böttcher 1 Reply Last reply Reply Quote 0
                        • Horst Böttcher
                          Horst Böttcher @Dominik F. last edited by

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

                          @horst-böttcher

                          Zeig mal bitte die ersten 40 Zeilen des Skriptes, ich tippe darauf, dass du falsche Einstellungen hast UND/ODER die Funktion falsch hast

                          const Version = "1.8.5"; // Batterieüberwachungsskript Stand 06.12.2021 - Git: https://github.com/Pittini/iobroker-Batterienauswertung - Forum: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe
                          //Überwacht Batteriespannungen beliebig vieler Geräte 
                          log("starting Batterieüberwachung V." + Version);
                          //WICHTIG!!!
                          //Vorraussetzungen: Den Gerätechannels müssen Räume, sowie die Funktion "BatterieSpannung_xx" für jeden entsprechenden Batteriespannungs Datenpunkt zugewiesen sein.
                          //Bitte unbedingt Anleitung beachten
                          // Nach der Zuweisung unbedingt den JS Adpter neu starten!
                          
                          //Grund Einstellungen
                          const praefix = "javascript.0.BatterieUeberwachung."; //Grundpfad für Script DPs
                          const logging = false; //Logging aktivieren?
                          const FunktionBaseName = "BatterieSpannung_"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
                          const DeadFunktionName = "DeadCheck"; //Name der Funktion welche für den DeadCheck genutzt wird
                          const WhichEnumCategoryToUse = "functions"; // Legt fest in welcher Kategorie sich die Aufzählungen befinden! Nur ändern wer weis was er tut!
                          const UseMail = false; // Sollen Nachrichten via Mail gesendet werden?
                          const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden.
                          const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden.
                          const UsePopUp = false // Soll PopUp angezeigt werden? Funktion des Authors, sollte bei Anwendern auf false gesetzt werden.
                          const ProzMeansLive = true; //Zeigen Prozentwerte des Gerätedatenpunktes Batteriekapazität oder restliche Lebensdauer?
                          let DeadIsAfter = 360; // In Minuten - Zeit nach der ein Gerät als "tot" gewertet wird wenn keine Statusänderung (ts) erfolgte.
                          const NotifyDeadDevices = true; //Sollen "tote" Geräte gemeldet werden?
                          const NotifyWarnDevices = true;//Sollen Geräte unter Limit gemeldet werden?
                          const DeconzNameFromDP = false; //Nimmt für Deconz den Namen aus dem Datenpunkt statt aus dem übergeordnetem Channel
                          
                          //Variablen für Alexa
                          const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                          const AlexaInstance = "alexa2.0";
                          const AlexaId = ""; // Die Alexa Seriennummer
                          const AlexaVolume = "50"; // Lautstärke der Nachrichten. Wert von 1 bis 100
                          
                          //Variablen für Pushover
                          const UsePushover = false; //Sollen Nachrichten via Pushover versendet werden?
                          const PushoverDevice = 'All'; //Welches Gerät soll die Nachricht bekommen
                          const PushoverInstance = "pushover.0"; //Pushoverinstanz welche genutzt werden soll angeben
                          const PushOverTitle = 'Batterien überprüfen';
                          
                          //Variablen für Telegram
                          const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                          const TelegramInstance = "telegram.1"; //Telegraminstanz welche genutzt werden soll angeben
                          const TelegramUser = ''; //Welche User sollen die Nachricht bekommen? Leer lassen für alle User. Mehrere User getrennt durch Komma.
                          
                          

                          8a771bdb-d946-420c-8fcd-2103c5ed4a5b-image.png

                          C Dominik F. 2 Replies Last reply Reply Quote 0
                          • C
                            Chrunchy @Horst Böttcher last edited by

                            @horst-böttcher
                            Hallo,
                            die Nummer hinter der Funktion ist ist falsch. Im Script wird der Teil hinter dem "_" abgetrennt und in eine float gewandelt mit 1 Nachkommastelle
                            Funktionsname: BatterieSpannung_15 (für 1,5V)
                            Funktionsname: BatterieSpannung_30 (für 3V)
                            Funktionsname: BatterieSpannung_120 (sollte dann 12V ergeben)

                            1 Reply Last reply Reply Quote 0
                            • Dominik F.
                              Dominik F. @Horst Böttcher last edited by

                              @horst-böttcher

                              Kann das sein, dass du den falschen Datenpunkt ausgewählt hast? LowBat gibt ja nur true/false aus.

                              Versuch mal

                              hm-rpc.2.0007DA49992A68.0.OPERATING_VOLTAGE
                              
                              Horst Böttcher 1 Reply Last reply Reply Quote 0
                              • Horst Böttcher
                                Horst Böttcher @Dominik F. last edited by

                                @dominik-f
                                hab jetzt mal nur hue genommen
                                fbf64234-c18a-4915-ba32-c4d827f7be73-image.png

                                und trotzdem

                                
                                javascript.0
                                2023-03-17 21:06:20.880	error	at processImmediate (node:internal/timers:468:21)
                                
                                javascript.0
                                2023-03-17 21:06:20.880	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2443:38)
                                
                                javascript.0
                                2023-03-17 21:06:20.879	error	at Object.<anonymous> (script.js.System_.Batterieüberwachung:126:13)
                                
                                javascript.0
                                2023-03-17 21:06:20.879	error	at main (script.js.System_.Batterieüberwachung:265:5)
                                
                                javascript.0
                                2023-03-17 21:06:20.878	error	at CheckNextLowBatt (script.js.System_.Batterieüberwachung:395:91)
                                
                                javascript.0
                                2023-03-17 21:06:20.877	error	Error in callback: TypeError: Cannot read properties of undefined (reading 'value')
                                
                                1 Reply Last reply Reply Quote 0
                                • Dominik F.
                                  Dominik F. last edited by Dominik F.

                                  @horst-böttcher

                                  Ich hab da ne Idee. Deine Funktion heisst BatterieSpannung 1,5V. Nenn sie mal bitte Batteriespannung_15

                                  Unbenannt.JPG

                                  Horst Böttcher 1 Reply Last reply Reply Quote 1
                                  • Horst Böttcher
                                    Horst Böttcher @Dominik F. last edited by

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

                                    nung_15

                                    Ja danke genau das ist die lösung gewesen

                                    JoJo58 K 2 Replies Last reply Reply Quote 0
                                    • JoJo58
                                      JoJo58 @Horst Böttcher last edited by JoJo58

                                      Guten Morgen,

                                      wo finde ich denn das Script? Der Link bei Githup batterienauswertung-V1.7.0.js führt ins leere.

                                      Gruß Johannes

                                      Hat sich erledigt, habs ganz oben bei Github gefunden, hatte es übersehen. Sorry.

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Kosta @Horst Böttcher last edited by

                                        Hallo zusammen! Kann man diesen Skript auch zu Überwachung von Shellys benutzen. Da sind ja meistens die Akkus verbaut. Wie kann man diesen Fall überwachen?

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

                                          Hallo und einen schönen guten Morgen,

                                          also das Script ist echt super, hat kleine Startprobleme, die ich aber allein lösen könnte.
                                          Was ich aber jetzt nicht hinbekomme, ist das mit dem Smart Sensoren von Garadena.
                                          Ich habe Euch mal Screenshot von dem Datenpunkt/ Channel und von der Tabelle gemacht.
                                          Den langen Text, der Bezeichnung des Datenpunkt/ Gerätes kann ich nicht ändern.
                                          Im Channel steht allerdings den Namen, wie ich das Gerät in der Garadena App benannt habe.
                                          Kann man da was machen? Wenn ja wie?

                                          Dann noch eine andere Frage, habe von Nuki das Smart Pro 3 und den Door Kontakt, habt das schon mal in das Script ein binden können, wenn ja wie?

                                          Greenshot 2023-05-17 07.57.31.png

                                          Greenshot 2023-05-17 07.57.55.png

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

                                            @kosta

                                            Dem Skript ist es egal ob es akkus sind oder nicht. Wie du Datenpunkte einbindest steht in der Anleitung.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            874
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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