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.
    • P
      Pittini Developer @Dominik F. last edited by

      @dominik-f said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

      @pittini

      Das einbauen könnte ich denke ich, nur wenn du dein Skript Updates ist ja auch alles wieder weg.
      Oder was meinst du mit fork?

      Du kannst mein Projekt auf Git forken, d.h. Dir ne Arbeitskopie in Dein Git Repo ziehen. Dann machst Du Deine Änderungen. Wenn fertig schiebst Du das in Dein Repo auf Git und machst nen PullRequest, damit kann dann ich Deine Änderungen, ganz oder teilweise, in mein Projekt übernehmen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            581
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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