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.
    • Grizzelbee
      Grizzelbee Developer @cainam last edited by Grizzelbee

      @cainam

      Guck dir mal den Wert so um die Zeile 22 an:

      const DeconzNameFromDP = true; //Nimmt für Deconz den Namen aus dem Datenpunkt statt aus dem übergeordnetem Channel
      

      Damit steuerst Du das Verhalten beim Auflösen der Namen beim deconz-Adapter.

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

        Hallo,

        wie bekomme ich die Darstellung in Jarvis über die JSON Tabelle realisiert ?

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

          @jason

          über das Widget JsonTable

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

            ja, aber was trage ich dort ein?

            Dominik F. 1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            835
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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