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

      @cainam

      Du hast nicht dem gesamten Channel den Raum zugewiesen.

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

        @dominik-f

        dem ganzen ordner 10, 1 ist ein anderer Raum und unter sensors sind diverse räume und sensors.. muss ich allen sensoren den gleichen raum geben?

        412c266e-c924-44c9-a2e1-8a23ef3202cf-image.png

        Dominik F. Grizzelbee 2 Replies Last reply Reply Quote 0
        • Dominik F.
          Dominik F. @cainam last edited by

          @cainam

          Ja, ich denke das wird das Problem sein, Pittini weißt ja auch daraufhin, dass der gesamte Channel einem Raum zugewiesen sein muss.

          Ich gebe dir den Tipp, Aliase zu benutzen. Hat den Vorteil, dass du, wenn du mal ein Gerät austauscht, nur den entsprechenden Alias neu zuweisen musst und keine Skripte etc ändern musst.
          Ich nutze dafür den Alias Manager Adapter. Das geht damit relativ einfach.
          Sieht dann so aus bei mir:

          Unbenannt.PNG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            845
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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