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

      @chrisxy

      Du hast keine Räume definiert

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

        @dominik-f ja nutze ich nie auch bei Zigbee nicht da gehts aber hm

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

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

          ja nutze ich nie auch bei Zigbee nicht da gehts aber hm

          1. Halt Dich an die Anweisung bzgl. der Räume oder lass es, gibt jedenfalls keinen Support wenn nicht.
          2. Battery State hat nen null Wert, was soll das Skript damit anfangen? Gibts nicht wenigstens, wie bei den meisten HM Geräten nen lowbat Datenpunkt? Dann nimm den.
          C 1 Reply Last reply Reply Quote 0
          • C
            ChrisXY @Pittini last edited by

            @pittini sorry hab nicht lang genug gewartet für den Screen da steht 3,2
            Hab mir noch kein Plan mit den Räumen gemacht. Zigbee hat auch ohne Raum geklappt deswegen für mich unnötig. Das würde die Anzeige im bis auch zu lang machen. Hab das rooms schon raus gemacht für Telegramm und vis. Aber hab zum Test das Original 1:1 am laufen. Versteh das nicht wieso es da zu Fehlern kommt. Aber Werd ich die Räume wohl Mal zuweisen müssen.

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

              @chrisxy

              Das Skript braucht einfach die Zuweisung der Räume weil es dementsprechend programmiert ist, daher kommt es dann zu Fehlern.
              Es ist schon wichtig, dass du dich an die Anweisungen von Pittini hälst. Falls es durch Zufall vorher funktioniert hat, dann war das wirklich nur Zufall. 99% der Fehler oder Probleme die hier auftauchen haben meistens damit zu tun, dass die Anleitung nicht befolgt wird.

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

                Irgendwie bin ich zu blöd den Adapter zu installieren.

                ich benutze folgende Url

                https://github.com/Pittini/iobroker-Batterienauswertung.git
                

                mit der Katze.

                Während der Installation bekomme ich immer folgende log

                $ ./iobroker url "https://github.com/Pittini/iobroker-Batterienauswertung.git" --debug
                install Pittini/iobroker-Batterienauswertung#f8762c8c34b9ec20e5e283c910fabcf32fbbb786
                NPM version: 6.14.12
                npm install Pittini/iobroker-Batterienauswertung#f8762c8c34b9ec20e5e283c910fabcf32fbbb786 --loglevel error --prefix "/opt/iobroker" (System call)
                npm ERR! premature close
                npm ERR! A complete log of this run can be found in:npm ERR!     /home/iobroker/.npm/_logs/2021-05-14T16_49_52_483Z-debug.log
                ERROR: host.raspberrypi Cannot install Pittini/iobroker-Batterienauswertung#f8762c8c34b9ec20e5e283c910fabcf32fbbb786: 1
                ERROR: process exited with code 25
                
                sigi234 1 Reply Last reply Reply Quote 0
                • sigi234
                  sigi234 Forum Testing Most Active @Torsten_MG last edited by

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

                  Irgendwie bin ich zu blöd den Adapter zu installieren.

                  Das ist ein Skript und kein Adapter!

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    Torsten_MG @sigi234 last edited by Torsten_MG

                    @sigi234

                    ok, das habe ich auch probiert und kriege das auch irgendwie nicht hin.

                    Ich habe die zip runtergeladen, dann bei Scripte => oben bei den 3 Punkten auf scripts importieren geklickt.

                    Anschließend hatte ich folgendes Script:

                    {
                        "compileOnSave": true,
                        "compilerOptions": {
                            // do not compile anything, this file is just to configure type checking
                            "noEmit": true,
                    
                            // check JS files
                            "allowJs": true,
                            "checkJs": true,
                    
                            "module": "commonjs",
                            "moduleResolution": "node",
                            // this is necessary for the automatic typing of the adapter config
                            "resolveJsonModule": true,
                    
                            // Set this to false if you want to disable the very strict rules (not recommended)
                            "strict": true,
                            // Or enable some of those features for more fine-grained control
                            // "strictNullChecks": true,
                            // "strictPropertyInitialization": true,
                            // "strictBindCallApply": true,
                            "noImplicitAny": false,
                            "noUnusedLocals": true,
                            "noUnusedParameters": true,
                    
                            // Consider targetting es2017 or higher if you require the new NodeJS 8+ features
                            "target": "es2017",
                    
                        },
                        "include": [
                            "**/*.js",
                            "**/*.d.ts"
                        ],
                        "exclude": [
                            "node_modules/**",
                            "admin/**"
                        ]
                    }
                    

                    und da komme ich dann nicht weiter 😕

                    ich bekomme folgende Fehlermeldung

                    14.5.2021, 19:23:15.964	[info ]: javascript.0 (3186) Stop script script.js.iobroker-Batterienauswertung-master.tsconfig
                    14.5.2021, 19:23:15.984	[info ]: javascript.0 (3186) Start javascript script.js.iobroker-Batterienauswertung-master.tsconfig
                    14.5.2021, 19:23:15.991	[error]: javascript.0 (3186) script.js.iobroker-Batterienauswertung-master.tsconfig compile failed:
                    at script.js.iobroker-Batterienauswertung-master.tsconfig:2
                    
                    Negalein 1 Reply Last reply Reply Quote 0
                    • Negalein
                      Negalein Global Moderator @Torsten_MG last edited by Negalein

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

                      Ich habe die zip runtergeladen, dann bei Scripte => oben bei den 3 Punkten auf scripts importieren geklickt.

                      Nein, nicht eine Zip runterladen.

                      Die .js anklicken und dann den Inhalt kopieren und im Script-Adapter als neues JS anlegen, Text einfügen und an dich anpassen.

                      Pittini iobroker-Batterienauswertung  Überprüft Batteriespannungen beliebig vieler Geräte anhand vorgegebenem LowLimit.png iobroker-Batterienauswertung batterienauswertung-V1.7.3.js at master · Pittini iobroker-Batterienauswertung.png

                      A 1 Reply Last reply Reply Quote 1
                      • A
                        adarof @Negalein last edited by

                        Hallo
                        Ich hab das Script von Github in Betrieb genommen - laut Der DemoWidgetTable funktioniert auch.
                        Nun möchte ich primär via Telegram informiert werden.

                        Ich bekomme aber DeadDetect-Meldungen "Ausfall oder disconnect im Garten bei Gerät TradfriSwitch2" statt LowBat Meldungen, die ich erwartet hätte. Dabei habe ich die Function für DeadDetect nicht gesetzt für irgendwelche Geräte.
                        Nur "BatterieSpannung_30" habe ich gesetzt.
                        Und diese DeadDetect-Meldung kommt über den Tag auch einige Male, also nicht nur einmalig, was sehr merkwürdig ist.

                        Was mache ich falsch?

                        Gruss -

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

                          @adarof Klingt mir danach dass die Zeit für den DeadCheck zu kurz eingestellt ist. D.h. das Script prüft IMMER ob der Batterie Datenpunkt aktualisiert wird innerhalb einer einstellbaren Zeit, wenn nicht kommt diese Meldung. Wenn jetzt nach der Meldung das Gerät dann doch aktualisiert, wird intern wieder auf alive gesetzt und dann wird wieder die Zeit überschritten usw. Jetzt gibts dafür zwei Lösungsansätze. Zum einen die Zeit erhöhen in Zeile 20 oder den zusätzlichen DeadCheck auf nen anderen Datenpunkt des Gerätes legen welcher öfter aktualisiert wird.

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            adarof @Pittini last edited by

                            @pittini Dankeschön. D.h. es wird auch für die mit BatterieSpannung_30 usw per Function "markierten" Geräte ein DeadCheck durchgeführt, selbst wenn die DeadCheck Function nicth explizit gesetzt wurde? Bei mir sind das Beispielsweise Tradfri Schalter, die ich überwachen möchte. Die werden Tagelang nicht gedrückt (letzte Aktuallisierung habe ich gerade am 15.5. ... da hab ich wohl das letzte mal das Garagentor auf gemacht ...) und damit nicht aktuallisiert - das ist völlig OK für mich, auch wenn die Batteriespannung nur alle paar Tage überprüft wird.
                            Andere Geräte würde ich liebend gern per Deadcheck überprüfen - z.B. den Bewegungsmelder von Tradfri, wenn der 1x am Tag keine Helligkeitsänderung geschickt hat ... ist er vermutlich "weggelaufen".
                            Kann ich die beiden Funktionen DeadCheck + BatterieSpannung entkoppeln?

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

                              @adarof Du hasts noch nicht ganz verstanden, entkoppeln kann nicht gehen weil das Skript IMMER den DeadCheck für den Batteriedatenpunkt ausführt weil alle Geräte welche ich kenne, mit wenigen Ausnahmen diesen DP regelmäßig aktualisieren. Nur die Tradfris nicht, hab selber zwei die mich ärgern. Da es aber noch andere Geräte gibt die sehr selten aktualisieren, gibts quasi als zweite Stufe den separaten Deadcheck. Also Skript macht DeadCheck auf BatterieDp, wenn da tot rauskommt, wird geguggt obs nen zweiten extra Deadcheck gibt und nur wenn der auch tot meldet wird gemeldet. Gibts keinen extra DeadCheck wird sofort gemeldet. Bin aber tatsächlich am überlegen ob ich nicht tatsächlich das als zwei Funktionen mach, hab nur grad wenig Zeit.

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                adarof @Pittini last edited by

                                @pittini Danke - ich glaub nun hab ich verstanden.
                                Ein Workaround -- bis Du Zeit irgendwo findest -- wäre ja doch, dass ich Dein Skript 2x laufen lasse: Nr1 mit unendlich langer DeadCheck in Zeile 20. Das nutze ich um die Batteriespannung zu checken. Nr2 mit "kurzer" DeadCheck und setze die BatterieSpannung-Function auf etwas nicht-existierendes sodass die niemals anschlägt.

                                Ich probier das mal ... 🙂

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  adarof @adarof last edited by

                                  @adarof beim Anlegen merke ich schon, dass das keine gute Idee ist: Die "Zwischenspeicher" unter javascript.0.BatterieUeberwachung wären ja die gleichen, sodass vermutlich doppelte Meldungen auf mich einprasseln von den diversen Skript Aufrufen. Quasi ein static ...schade.
                                  --> Workaround ad acta gelegt und warte, bis Du Zeit gefunden hast 🙂

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    adarof @adarof last edited by

                                    @adarof und dann merk ich, dass ich den Zwischenspeicher auch noch umlegen kann. Also probier ichs doch 😄

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

                                      Danke erstmal für das Skript.

                                      Gibt es die Möglichkeit die Abfragespanne, sprich wie oft am Tag o.ä. anzupassen?
                                      Denn so oft am Tag muss er die Batterien nicht abfragen.
                                      Den DeadCheck macht er bei meinem TradfriSwitch minütlich und das bei der Einstellung 360min DeadCheck, da würde es auch reichen einmal die Stunde.

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

                                        @tugsi Zeile 360

                                        tugsi 1 Reply Last reply Reply Quote 0
                                        • tugsi
                                          tugsi @Pittini last edited by

                                          @pittini
                                          Danke Dir.
                                          Wenn ich das jetzt richtig verstanden habe, wird da der Zeitraum für den erneuten Check einer DeadBattery, also eine die nicht zeitnah aktualisiert (s. Tradfri).
                                          Und wo wird festgelegt, dass das komplette Skript, also alle Batterien gecheckt werden oder ist dies eines für alles?

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

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

                                            Und wo wird festgelegt, dass das komplette Skript, also alle Batterien gecheckt werden oder ist dies eines für alles?

                                            Gar nicht, das ist triggergesteuert bei Aktualisierung der Datenpunkte, wenn sich ne Spannung ändert wird geprüft, vollkommen zeitunabhängig. Das sich aber bei toten Geräten warum auch immer nix mehr ändert gibts den DeadCheck der nach Zeit prüft.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            502
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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