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

      @pittini

      Na das kann ja was werden 😄 Ich geb mein bestes^^

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

        @pittini

        Okay, ich hoffe ich hab das mit dem Pullrequest richtig gemacht. Habs getestet und funktioniert bei mir.

        1 Reply Last reply Reply Quote 0
        • F
          FloxD last edited by

          Hmm, ich bin etwas ratlos... Script funktioniert super, nur übernimmt er bei mir nur bei den deconz-Geräten nicht die korrekte Sensor ID und den Namen (bei den HM-Geräten allerdings schon). Weiß jemand Rat? Herzlichen Dank 🙂Battery.jpg
          Objects.jpg

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

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

            nur übernimmt er bei mir nur bei den deconz-Geräten nicht die korrekte Sensor ID und den Namen

            Guggst Du Skripteinstellungen Zeile 24 (aktuelle Version)

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

              @pittini Thx 🙄 wer lesen kann, ist klar im Vorteil🤦‍♂️

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

                @pittini

                Hallo,

                erstmal danke für das super Skript! Ich habe es mir gerade installiert (v1.7.1) und es funktioniert wie es soll, bis auf eine Kleinigkeit.

                Wenn ich ein HM-Gerät, in meinem Fall einen optischen Fenster/Tür-Sensor aufnehme, der nur true/false für den LowBat DP kennt bekomme ich folgende Fehlermeldung:

                a0c5ea51-a147-41e4-bfed-5555a2f7848c-image.png

                Im Objektbrowser habe ich es so gemacht:

                797e92b3-1f55-4cc5-9c4f-ef2d5e5db8e5-image.png

                Muss ich statt BatterieSpannung_30 sowas wie einen BatterieSpannung_Boolean (fals es den gäbe) setzen?

                qqolli P F 3 Replies Last reply Reply Quote 0
                • qqolli
                  qqolli @qqolli last edited by

                  @qqolli

                  Keiner eine Antwort? 🙂

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

                    @qqolli Was haste denn, ist doch alles korrekt. Das der als dead angezeigt wird is soweit ersmal normal bei hm, weil der Datenpunkt sehr selten aktualisiert wird. Deswegen gibts ja den 2ten DeadCheck für solche Fälle. Den legste am besten auf den Schaltdatenpunkt vom TFK, der dürfte öfter aktualisiert werden, mußt halt mal guggen. Zusätzlich und/oder alternativ kannste natürlich die Zeit für den DeadCheck höher setzen.

                    qqolli 1 Reply Last reply Reply Quote 1
                    • F
                      Frank579 @qqolli last edited by

                      @qqolli
                      Hatte ich bei meinem auch ... Nimm den lowbat unter 1. Der wird warum auch immer bei mir öfter aktualisiert ... und den Wert für dead habe ich auf 1 Tag 1440 min stehen

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

                        @pittini

                        Super, danke. Hatte es noch nicht ganz verstanden.

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

                          @qqolli

                          Du hast doch bestimmt auch einen BATTERY_STATE bei HM. Würde denke ich mehr Sinn machen diesen zu nutzen weil dieser auch eine Spannung als Wert ausgibt.

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

                            @dominik-f

                            Die habe ich auch genommen (soweit verfügbar), da nicht alle HM-Komponenten einen solchen besitzen.

                            Z. B. hat der HM Thermostat diesen DP für die Batteriespannung (Battery_State).

                            Die optischen TFK's von HM haben einen solchen leider nicht. Was sie haben, ist ein DP vom Typ boolean. Der sagt nur, ob der Batteriestand niedrig ist oder nicht; keine Angabe der Spannung oder des Prozentsatzes. Zudem wird dieser DP tatsächlich recht selten aktualisiert; die Antwort von @Pittini war somit recht hilfreich.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kyocera007 0 @qqolli last edited by Kyocera007 0

                              @Pittini
                              Hallo Gemeinde 🙂
                              Ich probiere es mal hier, weil es bei Facebock mit den langen Log-Dateien nicht funktioniert.
                              Meine HM-CC-RT-DN wollen nicht mit dem Batteriestatus. Kann es sein, dass das Script nicht auf "BatteryLevel reagiert ?
                              Hier ein Screenshot
                              Batt1.JPG

                              Hier der Datenpunkt z.b Bad_Heizung
                              Batt.JPG

                              hier das Log

                              weatherunderground.0 2021-02-09 18:12:01.044 info (22126) starting. Version 3.3.0 in /opt/iobroker/node_modules/iobroker.weatherunderground, node: v12.20.1, js-controller: 3.1.6
                              weatherunderground.0 2021-02-09 18:12:00.995 info (22126) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
                              host.iobroker 2021-02-09 18:12:00.012 info instance system.adapter.weatherunderground.0 started with pid 22126
                              javascript.0 2021-02-09 18:11:50.493 info (28904) script.js.common.BattUeberwachung: Reaching MakeTable
                              javascript.0 2021-02-09 18:11:50.493 info (28904) script.js.common.BattUeberwachung: Aktuell niedrigster Batteriestand (0.00V): Heizung bei Gerät Bad_Heizung
                              javascript.0 2021-02-09 18:11:50.492 info (28904) script.js.common.BattUeberwachung: Reaching CheckNextLowBatt()
                              javascript.0 2021-02-09 18:11:50.492 info (28904) script.js.common.BattUeberwachung: Reaching CheckAllBatterysOk - Lastmessage=Batteriestand unter Limit im Heizung bei Gerät Bad_Heizung<br>Batteriestand unter Limit im Heizung bei Gerät Ess_H
                              javascript.0 2021-02-09 18:11:50.488 info (28904) script.js.common.BattUeberwachung: Batteriestand unter Limit im Heizung bei Gerät Bad_Heizung<br>Batteriestand unter Limit im Heizung bei Gerät Ess_Heizung<br>Batteriestand unter Limit im Hei
                              javascript.0 2021-02-09 18:11:50.488 info (28904) script.js.common.BattUeberwachung: Reaching Meldung()
                              javascript.0 2021-02-09 18:11:50.488 info (28904) script.js.common.BattUeberwachung: SensorVal[5] = 0V, unterschreitet MinLimit von 2.4 V
                              javascript.0 2021-02-09 18:11:50.487 info (28904) script.js.common.BattUeberwachung: SensorVal[4] = 0V, unterschreitet MinLimit von 2.4 V
                              javascript.0 2021-02-09 18:11:50.486 info (28904) script.js.common.BattUeberwachung: SensorVal[3] = 0V, unterschreitet MinLimit von 2.4 V
                              javascript.0 2021-02-09 18:11:50.486 info (28904) script.js.common.BattUeberwachung: SensorVal[2] = 0V, unterschreitet MinLimit von 2.4 V
                              javascript.0 2021-02-09 18:11:50.486 info (28904) script.js.common.BattUeberwachung: SensorVal[1] = 0V, unterschreitet MinLimit von 2.4 V
                              javascript.0 2021-02-09 18:11:50.486 info (28904) script.js.common.BattUeberwachung: SensorVal[0] = 0V, unterschreitet MinLimit von 2.4 V
                              javascript.0 2021-02-09 18:11:50.485 info (28904) script.js.common.BattUeberwachung: Reaching CheckAllBatterys() found 6 Devices
                              javascript.0 2021-02-09 18:11:50.479 info (28904) script.js.common.BattUeberwachung: Reaching MakeTable
                              javascript.0 2021-02-09 18:11:50.478 info (28904) script.js.common.BattUeberwachung: fhem.0.Arbeit_Heizung is not dead at second checkpoint
                              javascript.0 2021-02-09 18:11:50.478 info (28904) script.js.common.BattUeberwachung: z=1 Device fhem.0.Arbeit_Heizung second check at fhem.0.Arbeit_Heizung.measured-temp
                              javascript.0 2021-02-09 18:11:50.478 info (28904) script.js.common.BattUeberwachung: Device fhem.0.Arbeit_Heizung has second check, now checking
                              javascript.0 2021-02-09 18:11:50.478 info (28904) script.js.common.BattUeberwachung: Device fhem.0.Arbeit_Heizung is possibly dead, searching for second check
                              javascript.0 2021-02-09 18:11:50.478 info (28904) script.js.common.BattUeberwachung: fhem.0.Kueche_Heizung is not dead at second checkpoint
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: z=2 Device fhem.0.Kueche_Heizung second check at fhem.0.Kueche_Heizung.measured-temp
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: Device fhem.0.Kueche_Heizung has second check, now checking
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: Device fhem.0.Kueche_Heizung is possibly dead, searching for second check
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: fhem.0.Ess_Heizung is not dead at second checkpoint
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: z=5 Device fhem.0.Ess_Heizung second check at fhem.0.Ess_Heizung.measured-temp
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: Device fhem.0.Ess_Heizung has second check, now checking
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: Device fhem.0.Ess_Heizung is possibly dead, searching for second check
                              javascript.0 2021-02-09 18:11:50.477 info (28904) script.js.common.BattUeberwachung: Reaching CheckDeadBatt()
                              javascript.0 2021-02-09 18:11:50.476 info (28904) script.js.common.BattUeberwachung: BattMinLimit Value conversion - success
                              javascript.0 2021-02-09 18:11:50.470 info (28904) script.js.common.BattUeberwachung: 5 BatterieSpannung_30 found at fhem.0.Arbeit_Heizung.batteryLevel Umax= 3 BattMinLimit=2.4 Val= 0 SensorProzent= 0
                              javascript.0 2021-02-09 18:11:50.470 info (28904) script.js.common.BattUeberwachung: Tempval=3 TempUnit=undefined TypeOf=string
                              javascript.0 2021-02-09 18:11:50.470 info (28904) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=string getState(Sensor[counter]).val=3
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: 4 BatterieSpannung_30 found at fhem.0.WZ_Heizung.batteryLevel Umax= 3 BattMinLimit=2.4 Val= 0 SensorProzent= 0
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: Tempval=2.6 TempUnit=undefined TypeOf=string
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=string getState(Sensor[counter]).val=2.6
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: 3 BatterieSpannung_30 found at fhem.0.Schlaf_Heizung.batteryLevel Umax= 3 BattMinLimit=2.4 Val= 0 SensorProzent= 0
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: Tempval=2.6 TempUnit=V TypeOf=string
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=string getState(Sensor[counter]).val=2.6
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: 2 BatterieSpannung_30 found at fhem.0.Kueche_Heizung.batteryLevel Umax= 3 BattMinLimit=2.4 Val= 0 SensorProzent= 0
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: Tempval=2.7 TempUnit=undefined TypeOf=string
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=string getState(Sensor[counter]).val=2.7
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: 1 BatterieSpannung_30 found at fhem.0.Ess_Heizung.batteryLevel Umax= 3 BattMinLimit=2.4 Val= 0 SensorProzent= 0
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: Tempval=3 TempUnit=undefined TypeOf=string
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=string getState(Sensor[counter]).val=3
                              javascript.0 2021-02-09 18:11:50.469 info (28904) script.js.common.BattUeberwachung: 0 BatterieSpannung_30 found at fhem.0.Bad_Heizung.batteryLevel Umax= 3 BattMinLimit=2.4 Val= 0 SensorProzent= 0
                              javascript.0 2021-02-09 18:11:50.468 info (28904) script.js.common.BattUeberwachung: Tempval=3.1 TempUnit=undefined TypeOf=string
                              javascript.0 2021-02-09 18:11:50.468 info (28904) script.js.common.BattUeberwachung: existsState(Sensor[counter])=true typeof (getState(Sensor[counter]).val)=string getState(Sensor[counter]).val=3.1
                              javascript.0 2021-02-09 18:11:50.468 info (28904) script.js.common.BattUeberwachung: BattMinLimit Value conversion - success
                              javascript.0 2021-02-09 18:11:50.468 info (28904) script.js.common.BattUeberwachung: BattMinLimit Value conversion - success
                              javascript.0 2021-02-09 18:11:50.467 info (28904) script.js.common.BattUeberwachung: Reaching init()
                              javascript.0 2021-02-09 18:11:50.467 info (28904) script.js.common.BattUeberwachung: Reaching main()
                              javascript.0 2021-02-09 18:11:50.466 info (28904) script.js.common.BattUeberwachung: CreateStates fertig!
                              pushover.0 2021-02-09 18:11:50.489 info (2053) Send pushover notification: {"device":"All","message":"Batteriestand unter Limit im Heizung bei Gerät Bad_Heizung<br>Batteriestand unter Limit im Heizung bei Gerät Ess_Heizung<br>Batteriestand
                              javascript.0 2021-02-09 18:11:50.458 info (28904) script.js.common.BattUeberwachung: registered 0 subscriptions and 0 schedules
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: InitialSpannung 2 gesetzt auf 80%= 5.760000000000001
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: InitialSpannung 1 gesetzt auf 80%= 2.4
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: InitialSpannung 0 gesetzt auf 80%= 1.2
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: Found Function BatterieSpannung_72
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: Found Function BatterieSpannung_30
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: Found Function BatterieSpannung_15
                              javascript.0 2021-02-09 18:11:50.456 info (28904) script.js.common.BattUeberwachung: Reaching FillWelcheFunktionVerwenden
                              javascript.0 2021-02-09 18:11:50.455 info (28904) script.js.common.BattUeberwachung: starting Batterieüberwachung V.1.7.1
                              javascript.0 2021-02-09 18:11:50.445 info (28904) Start javascript script.js.common.BattUeberwachung
                              javascript.0 2021-02-09 18:11:50.435 info (28904) Stop script script.js.common.BattUeberwachung

                              ... und nochmal vielen Dank für die tollen Scripte

                              Gruß Kyocera007

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

                                @kyocera007-0 Zeig mir doch bitte mal das Raw vom Datenpunkt, das sieht so aus als wär die Zahl als String deklariert.

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

                                  @pittini
                                  Bitte sehr, ich hab nix gemacht 😀

                                  {
                                    "_id": "fhem.0.Bad_Heizung.batteryLevel",
                                    "type": "state",
                                    "common": {
                                      "name": "Bad_Heizung batteryLevel",
                                      "type": "number",
                                      "role": "value",
                                      "read": true,
                                      "write": false
                                    },
                                    "native": {
                                      "Name": "Bad_Heizung",
                                      "Attribute": "batteryLevel",
                                      "Readings": true
                                    },
                                    "from": "system.adapter.fhem.0",
                                    "user": "system.user.admin",
                                    "ts": 1609172128946,
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    }
                                  }
                                  
                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Pittini Developer @Kyocera007 0 last edited by

                                    @kyocera007-0 Ich hab grad nen update hochgeladen, gugg mal ob das jetzt besser ist..

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

                                      @pittini
                                      Pittini3.JPG

                                      Sieht gut aus 🙂 🙂
                                      Das Original "R-lowBatLimitRT" hat eine 2.1 V und du hast 2.4V sollte/könnte man das auch ändern ??

                                      Vielen Dank und Gruß

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

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

                                        Das Original "R-lowBatLimitRT" hat eine 2.1 V und du hast 2.4V sollte/könnte man das auch ändern ??

                                        Das kannste Dir unter javascript.0.BatterieUeberwachung.BatteryMinLimit_xx für jede Spannung separat einstellen wie Du es für richtig hältst. Das Skript macht da quasi nur nen (meist sinnvollen) Vorschlag.

                                        K G 2 Replies Last reply Reply Quote 0
                                        • K
                                          Kyocera007 0 @Pittini last edited by

                                          @pittini
                                          Danke, alles Perfekt. Läuft 🙂

                                          Schönen Abend und Gruß

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

                                            @pittini Moin ich habe das neue Skript bei mir mal aktiv gesetzt und habe folgende Fehlermeldung

                                            Error from Pushover: SyntaxError: Unexpected token < in JSON at position 0

                                            Ich konnte das aber lösen in dem ich bei den Variablen folgende dazu gesetzt habe:

                                            let _prio;
                                            let _titel;
                                            let _message;

                                            Fehlt das vllt im 1.7.2?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            957
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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