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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pittini Developer @dos1973 last edited by Pittini

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

      hier noch die Fenster Aufzählung

      Irgendwie zeigen die Bilder doch unterschiedliche Sachen. Oben ist die Tabelle vom Batterieskript. Unten zeigst Du mir den Datenpunkt fürs Fensterskript. Es wär zur Suche deutlich hilfreicher wenn Du mir mal den Datenpunkt vom Batterieskript aufklappst.
      Was das Skript macht ist folgendes, es nimmt die Id vom Datenpunkt, extrahiert den Parentchannel und holt sich den Namen davon. Und wenn im Namen die :0 drinsteht, dann ist das eben der Name, da kann das Skript dann auch nix dafür. Aber zeig mal nen zum Batterieskript gehörenden Datenpunkt, evtl läuft ja was falsch, was ich aber für unwahrscheinlich halte weil ich auch paar HM Thermostate hab und da isses genauso, nur dass die Namen anders sind, aber auch da hängt ein :Zahl dran z.B.- "HM-CC-RT-DN PEQ1642518:4" .

      1 Reply Last reply Reply Quote 0
      • W
        Wildbill last edited by

        @Pittini
        Ich war so frei und habe mal bei mir was raus kopiert, ist ja das Gleiche wie bei @dos1973
        4249bad9-5b96-49cf-a0ca-b7504d316823-grafik.png

        Sensorname wird dan halt sowas:

        21e99635-1870-4cbb-911c-79e4e4aeade6-grafik.png

        Also je nachdem, aus welchem Unterchannel eines HM-Geräts die Daten stammen ist hinten die Nummer dran.

        Gruss, Jürgen

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

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

          Also je nachdem, aus welchem Unterchannel eines HM-Geräts die Daten stammen ist hinten die Nummer dran.

          Ja klar, wie oben beschrieben, da kann das Skript nix dafür. Der Name des übergeordneten Channels hat das ja drin. Das ist wieder mal ne HM Extrawurst, weil da noch die Unterchannels mit Zahlen gesetzt werden, bei allen anderen Geräten/Adaptern soweit ich sie kenne ist der übergeordnete Channelname korrekt. Ich könnte jetzt ne Extrawurstfunktion für den hmrpc Adapter machen, aber dann gibts vermutlich wieder Probleme wenn jemand HM Geräte via fhem eingebunden hat. Ich kann mal überlegen ob ich ne aktivierbare Option einbaue, die rein bei der Anzeige nach nem Doppelpunkt sucht und diesen sowie alles rechts davon rausschneidet.

          1 Reply Last reply Reply Quote 0
          • W
            Wildbill last edited by

            @Pittini
            Also mich stört die zahl nicht. Wichtig ist mir, dass ich benachrichtigt werde, wenn eine Batterie einen Wechsel braucht, und dass ich schnell erkenne, wo das der Fall ist. Und das tut. Namen mit oder ohne Zahl hinten ist Luxus, der ist mir zumindest egal. Aber ich beuge mich der Mehrheit.

            Gruss, Jürgen

            1 Reply Last reply Reply Quote 0
            • D
              dos1973 @dos1973 last edited by

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

              @Pittini
              cooles Script, funktioniert soweit.

              Anmerkung meinerseits, nix funktionales - eher zur Optik

              wollte nochmals zu Erinnerung bringen, es stört mich auch nicht, ich kann auch damit leben, aber die :0 gehört da eben nicht hin 😉

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

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

                wollte nochmals zu Erinnerung bringen, es stört mich auch nicht, ich kann auch damit leben, aber die :0 gehört da eben nicht hin

                @Wildbill
                V1.5.5 auf Git mit Sonderregel für HM, dort wird der Name 2 Ebenen höher extrahiert, bei allen anderen Geräten eine Ebene über dem Datenpunkt. So ists jetzt ganz korrekt, kann aber u.U. völlig andere Namen zur folge haben.

                1 Reply Last reply Reply Quote 1
                • W
                  Wildbill last edited by

                  @Pittini @dos1973
                  Eben getestet, jetzt schaut alles perfekt aus. 👍 😬

                  Gruss, Jürgen

                  D 1 Reply Last reply Reply Quote 0
                  • M
                    myssv last edited by

                    Moin zusammen,

                    ich wollte mir den Adapter gerade installieren und bekam folgende Fehlermeldung:


                    $ ./iobroker url "https://github.com/Pittini/iobroker-Batterienauswertung"
                    install https://github.com/Pittini/iobroker-Batterienauswertung/tarball/7b7e766300390a0d2c8f91b6173ca65158b6cf94
                    NPM version: 6.14.4
                    npm install https://github.com/Pittini/iobroker-Batterienauswertung/tarball/7b7e766300390a0d2c8f91b6173ca65158b6cf94 --loglevel error --prefix "/opt/iobroker" (System call)
                    npm ERR!
                    code ENOPACKAGEJSON
                    npm ERR! package.json Non-registry package missing package.json: https://github.com/Pittini/iobroker-Batterienauswertung/tarball/7b7e766300390a0d2c8f91b6173ca65158b6cf94.npm ERR! package.json npm can't find a package.json file in your current directory.

                    npm ERR! A complete log of this run can be found in:npm ERR! /opt/iobroker/.npm/_logs/2020-05-01T08_13_40_573Z-debug.log
                    ERROR: host.iobroker Cannot install https://github.com/Pittini/iobroker-Batterienauswertung/tarball/7b7e766300390a0d2c8f91b6173ca65158b6cf94: 1
                    ERROR: process exited with code 25

                    Liegt es an mir oder an meinem System?

                    Ich bin bei den Adaptern auf das Katzensymbol gegangen und habe dann unter beliebig von folgender URL installieren wollen: https://github.com/Pittini/iobroker-Batterienauswertung

                    1 Reply Last reply Reply Quote 0
                    • D
                      dos1973 last edited by

                      Das ist kein Adapter.

                      Lesen... Für die Installation ist alles in deinem Link beschrieben

                      1 Reply Last reply Reply Quote 0
                      • M
                        myssv last edited by

                        ups, ok, danke für den Hinweis ... 🙄

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

                          Hallo zusammen
                          Habe das Skript installiert und erhalte auch eine Ausgabe.
                          Leider habe ich im Log auch Fehlermeldungen:

                          avascript.0	2020-05-02 13:51:11.958	error	(17025) at processTicksAndRejections (internal/process/task_queues.js:97:5)
                          javascript.0	2020-05-02 13:51:11.957	error	(17025) at runMicrotasks (<anonymous>:null:null)
                          javascript.0	2020-05-02 13:51:11.957	error	(17025) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
                          javascript.0	2020-05-02 13:51:11.957	error	(17025) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                          javascript.0	2020-05-02 13:51:11.957	error	(17025) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17
                          javascript.0	2020-05-02 13:51:11.956	error	(17025) at /opt/iobroker/node_modules/iobroker.javascript/main.js:855:17
                          javascript.0	2020-05-02 13:51:11.956	error	(17025) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1264:17
                          javascript.0	2020-05-02 13:51:11.956	error	(17025) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1211:37)
                          javascript.0	2020-05-02 13:51:11.956	error	(17025) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:988:28)
                          javascript.0	2020-05-02 13:51:11.956	error	(17025) at Object.createScript (vm.js:263:10)
                          javascript.0	2020-05-02 13:51:11.955	error	(17025) at new Script (vm.js:88:7)
                          javascript.0	2020-05-02 13:51:11.955	error	(17025) SyntaxError: Invalid regular expression: missing /
                          javascript.0	2020-05-02 13:51:11.955	error	(17025) ^
                          javascript.0	2020-05-02 13:51:11.955	error	(17025) / Batterieüberwachungsskript Version 1.5.5 Stand 28.04.2020
                          javascript.0	2020-05-02 13:51:11.954	error	at script.js.common.BatterieUeberwachung:1
                          javascript.0	2020-05-02 13:51:11.954	error	(17025) script.js.common.BatterieUeberwachung compile failed:
                          

                          Arbeite mit:

                          Node.js v12.16.3
                          NPM 6.14.4
                          

                          Hat jemand bitte einen Tipp für mich.

                          Grüsse aus der Schweiz

                          apollon77 1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @hanan last edited by

                            @hanan Hast Du das Skript wirklich die oben kopiert? zeig mal nen Screenshot vom Skript editor und dem Anfang vom Skript.

                            Und: welche javascript adapter version?

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

                              Hallo apollo77

                              Habe alles so kopiert..

                              18f0896c-a61c-4c55-b942-3701c0ee49a5-image.png

                              // Batterieüberwachungsskript Version 1.5.5 Stand 28.04.2020
                              //Überwacht Batteriespannungen beliebig vieler Geräte 
                              
                              //WICHTIG!!!
                              //Vorraussetzungen: Den Gerätechannels müssen Räume, sowie die Funktion "BatterieSpannung_xx" für jeden entsprechenden Batteriespannungs Datenpunkt zugewiesen sein.
                              
                              //Grund Einstellungen
                              const praefix = "javascript.0.BatterieUeberwachung."; //Grundpfad für Script DPs
                              const logging = true; //Logging aktivieren?
                              const FunktionBaseName = "BatterieSpannung_"; //Name der Funktion welche für die Batterieüberwachung genutzt wird
                              const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                              const UseMail = false; // Sollen Nachrichten via Mail gesendet werden?
                              const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                              const AlexaId = ""; // Die Alexa Seriennummer
                              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?
                              
                              //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 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 = false; //Tabellenspalte mit Status ausgeben?
                              
                              //Ab hier nix mehr ändern
                              
                              

                              50f0cf66-ecff-4809-9ae3-710af8b62987-image.png

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

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

                                Hallo apollo77

                                So kriegt @apollon77 das nicht mit.

                                Mach mal testweise in der Zeile 298 an den Anfang zwei Schrägstriche. Also so: // . Die Zeile sollte dann so aussehen:

                                //    room = room.replace(/_/g, " "); //Unterstriche durch Leerzeichen ersetzen
                                
                                

                                .Dann speichern und guggen ob der Fehler immer noch gemeldet wird und hier Feedback geben.

                                1 Reply Last reply Reply Quote 0
                                • hanan
                                  hanan last edited by Negalein

                                  Hallo Pittini
                                  Habe ich jetzt gemacht und erhalte folgenden Fehler:

                                  2.5.2020, 16:28:53.493	[info ]: javascript.0 (1272) Stop script script.js.common.BatterieUeberwachung
                                  2.5.2020, 16:28:55.765	[info ]: javascript.0 (1272) Start javascript script.js.common.BatterieUeberwachung
                                  2.5.2020, 16:28:55.768	[error]: javascript.0 (1272) script.js.common.BatterieUeberwachung compile failed:
                                  at script.js.common.BatterieUeberwachung:497
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • hanan
                                    hanan last edited by

                                    Habe die Adapter neu installiert und jetzt geht es...
                                    Coole Sache, danke für die Hilfe.

                                    Schönes Wochenende.

                                    P 1 Reply Last reply Reply Quote 0
                                    • hanan
                                      hanan last edited by

                                      Ups, zu früh gefreut...

                                      Habe Zeile 291 auskommandiert und keine Fehlermeldung mehr.

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

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

                                        Habe die Adapter neu installiert und jetzt geht es...

                                        Welche Adapter?

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

                                          Den Script Engine
                                          9dc174bd-cb2e-4882-8b51-3547c2e9918e-image.png

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

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

                                            Den Script Engine

                                            Wow, 6 Instanzen. Wofür brauchste die denn alle (reine Neugier).?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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