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 @Andi Luma last edited by

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

      @Pittini Hallo , erstmal Danke für das Script. Kann es sein das hier die downloadbaren Versionen irgendwie auseinander gelaufen sind , auf der Github Seite gibt es im Changelog die Version 1.63 und als neueste die 1.65, der Download von dort liefert aber heute Morgen // Batterieüberwachungsskript Version 1.6.4 Stand 18.06.2020 - Git: https://github.com/Pittini/iobroker-Batterienauswertung.

      Kann schon mal vorkommen dass ich vergess iwo die Version zu aktualisieren, einfach immerdie höchste nehmen und gut.

      Bei mir werden dann die MAX! Sensoren, die nur true / false liefern
      mit der Funktion BatterieSpannung_ ergibt es so ein Bild 1ac74e45-73e6-46ca-babe-ffffa16910ef-image.png
      oder muss hier eine andere Funktion/ Aufzählung gewählt werden ? , was ich irgendwo überlesen habe

      Du hast das grundlegendste weggelassen. Anleitung .1

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

        @Pittini Hallo wie kann ich mehrere verschiedene Batteriespannungen "BatterieSpannung_30" und BatterieSpannung_15 mit einem Skript abrufen.
        wie muss ich das in der
        const FunktionBaseName = "BatterieSpannung_30"; eintragen, mit Komma getrennt?
        Bin in Javascript nicht so fit.

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

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

          @Pittini Hallo wie kann ich mehrere verschiedene Batteriespannungen "BatterieSpannung_30" und BatterieSpannung_15 mit einem Skript abrufen.
          wie muss ich das in der
          const FunktionBaseName = "BatterieSpannung_30"; eintragen, mit Komma getrennt?
          Bin in Javascript nicht so fit.

          Den FunktionBaseName nicht ändern, vorallem nicht hinter dem Unterstrich. Die verschiedenen Spannungen erkennt das Skript automatisch, du willst da mehr tun als nötig.

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

            @Pittini Danke. Es funktioniert.

            E 1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @Pittini last edited by sigi234

              @Pittini

              Hallo, warum sind fast alle Tod?

              Screenshot (2558).png

              22:49:13.027	info	javascript.0 (8716) Stop script script.js.common.Batterie
              22:49:13.371	info	javascript.0 (8716) Start javascript script.js.common.Batterie
              22:49:13.394	info	javascript.0 (8716) script.js.common.Batterie: Reaching FillWelcheFunktionVerwenden
              22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: Found Function BatterieSpannung_15
              22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: Found Function BatterieSpannung_30
              22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: InitialSpannung 0 gesetzt auf 80%= 1.2
              22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: InitialSpannung 1 gesetzt auf 80%= 2.4
              22:49:13.396	info	javascript.0 (8716) script.js.common.Batterie: registered 0 subscriptions and 0 schedules
              22:49:13.451	info	javascript.0 (8716) script.js.common.Batterie: CreateStates fertig!
              22:49:13.451	info	javascript.0 (8716) script.js.common.Batterie: Reaching main()
              22:49:13.451	info	javascript.0 (8716) script.js.common.Batterie: Reaching init()
              22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: BattMinLimit Value conversion - success
              22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: BattMinLimit Value conversion - success
              22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: Tempval=false TempUnit=undefined TypeOf=boolean
              22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: 0 BatterieSpannung_30 found at hm-rpc.0.NEQ1818500.0.LOWBAT Umax= 3 BattMinLimit=2.4 Val= 3 SensorProzent= 100
              22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: Tempval=false TempUnit=undefined TypeOf=boolean
              22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: 1 BatterieSpannung_30 found at hm-rpc.0.NEQ1826414.0.LOWBAT Umax= 3 BattMinLimit=2.4 Val= 3 SensorProzent= 100
              22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: Tempval=false TempUnit=undefined TypeOf=boolean
              22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: 2 BatterieSpannung_30 found at hm-rpc.0.OEQ0655913.0.LOWBAT Umax= 3 BattMinLimit=2.4 Val= 3 SensorProzent= 100
              22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: Tempval=2.9 TempUnit=V TypeOf=number
              22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: 3 BatterieSpannung_30 found at hm-rpc.0.OEQ0655913.4.BATTERY_STATE Umax= 3 BattMinLimit=2.4 Val= 2.9 SensorProzent= 96.66666666666667
              22:49:13.454	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckDeadBatt()
              22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
              22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Vorraum bei Gerät Haustuer
              22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
              22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Esszimmer bei Gerät Terrassentuer
              22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
              22:49:13.456	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Esszimmer bei Gerät HZK Esszimmer
              22:49:13.456	info	javascript.0 (8716) script.js.common.Batterie: Reaching MakeTable
              22:49:13.459	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckAllBatterys() found 4 Devices
              22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Sensor[0] = ist ausgefallen oder disconnected
              22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Sensor[1] = ist ausgefallen oder disconnected
              22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Sensor[2] = ist ausgefallen oder disconnected
              22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
              22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Vorraum bei Gerät Haustuer<br>Ausfall oder disconnect im Esszimmer bei Gerät Terrassentuer<br>Ausfall oder disconnect im Esszimmer bei Gerät HZK Esszimmer
              22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckAllBatterysOk - Lastmessage=Ausfall oder disconnect im Vorraum bei Gerät Haustuer<br>Ausfall oder disconnect im Esszimmer bei Gerät Terrassentuer<br>Ausfall oder disconnect im Esszimmer bei Gerät HZK Esszimmer
              22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckNextLowBatt()
              22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Aktuell niedrigster Batteriestand (2.90V): Esszimmer bei Gerät HZK Esszimmer
              22:49:13.471	info	javascript.0 (8716) script.js.common.Batterie: Reaching MakeTable
              22:50:13.468	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckDeadBatt()
              22:50:13.469	info	javascript.0 (8716) script.js.common.Batterie: Reaching MakeTable
              

              Edit:

              Über Nacht erledigt.

              1 Reply Last reply Reply Quote 0
              • E
                Elektronikwelt @Elektronikwelt last edited by

                @Pittini heute werden meine Räume nicht mehr eingelesen. Nur noch einer wird zugewiesen. Habe JS Adapter neu gestartet Alle sind in den Objekten zugewiesen.
                22cd7502-c712-4bf6-9557-d81d0969dcdc-grafik.png
                Woran liegt. das?

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

                  Hi,
                  erstens, danke @Pittini für dieses Skript. Funktioniert super. Ich hätte einen Erweiterungsvorschlag. Es geht um HMIP Geräte und deren Namen. Dort sollte man anstatt 2 Ebenen nach oben gehen, 3 Ebenen gehen.
                  29e07454-77fe-4892-b686-66d3294d6e5a-image.png
                  Hab's bei mir lokal schon in der GetParentId Funktion hinzugefügt.
                  Zusätzlich, bei Geräte die durch deconz gemanaged sind muss man auch 2 Ebenen nach oben gehen. Ich habe demnach die Funktion ein bisschen geändert:

                  function GetParentId(Id) {
                      let parentDevicelId;
                      if (Id.indexOf("deconz.") > -1 || Id.indexOf("hm-rpc.") > -1 || Id.indexOf("shelly.") > -1){ //Wenn deconz, hm-rpc oder shelly dann zwei Ebenen zurück
                          parentDevicelId = Id.split(".").slice(0, -2).join(".");// Id an den Punkten in Array schreiben (split), die 2 letzten Elemente von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                      }
                      else if (Id.indexOf("hmip.") > -1) { //Wenn HMIP dann drei Ebenen zurück
                          parentDevicelId = Id.split(".").slice(0, -3).join(".");// Id an den Punkten in Array schreiben (split), die 3 letzten Elemente von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                      }
                      else { //Wenn kein deconz, kein HM und kein shelly Adapter, eine Ebene zurück
                          parentDevicelId = Id.split(".").slice(0, -1).join(".");// Id an den Punkten in Array schreiben (split), das letzte Element von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                      };
                      //if (logging) log("Id= " + Id + " ParentDeviceId= " + parentDevicelId)
                      return parentDevicelId
                  }
                  

                  P 1 Reply Last reply Reply Quote 0
                  • A
                    Alero last edited by

                    Hi,
                    hab von Pittini die Batt Überwachung installiert. Habe alles laut Duko gemacht. Vielen Dank an Pittini.
                    Die Anzeige kommt auch.
                    91dee472-b996-4804-ad6b-6718adafee2f-grafik.png
                    Bei der Tabelle sehe ich nichts. Bei Start des scripts bekomme ich folgende FM:
                    76a27676-a7e3-49a5-a682-21829ff3f464-grafik.png
                    Habe leider nicht viel Ahnung von Javascripten.
                    Hat jemand eine Idee warum sich meine Tabelle nicht aufbaut?
                    Gruß
                    Alero

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

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

                      Hab's bei mir lokal schon in der GetParentId Funktion hinzugefügt.
                      Zusätzlich, bei Geräte die durch deconz gemanaged sind muss man auch 2 Ebenen nach oben gehen. Ich habe demnach die Funktion ein bisschen geändert:

                      Hab ich mal ins update 1.6.6 mit reingepackt, danke.

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

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

                        Habe leider nicht viel Ahnung von Javascripten.
                        Hat jemand eine Idee warum sich meine Tabelle nicht aufbaut?

                        JS Adapter mal neugestartet? Zeig mal komplettes Startlog (als Text, nicht als Screenshot) und zeig mal nen Screenshot eines der angemaulten Geräte mit Funktions und Raumzuweisung aus der Objektliste.

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

                          @Pittini

                          Hi,
                          sorry das ich mich erst jetzt melde.

                          Ja JS Adapter neu gestartet.
                          Hier der Logfile wenn ich das script neu starte.
                          log.txt
                          Hier das Bild von dem TFK Bad der in deiner Anzeige als leer angemeckert wird.
                          ![Bild Text](17acc20b-86b0-4fda-8919-7a1f6e41de39-grafik.png Bild Link)
                          ![Bild Text](ea403ae2-9544-4fbc-9fe4-99d6d1845d61-grafik.png Bild Link)

                          Gruß
                          Alero

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

                            @Alero Typischer Fall von nicht an die Anleitung gehalten. Lies bitte Anleitung .3 und vergleiche den Screenshot mit Deinem. Du hast die Funktion dem ganzen Channel verbraten, klar dass das Skript da aussteigt.

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

                              @Pittini
                              Hi,
                              jo, da habe ich wohl doch was überlesen. Danke.

                              Habs geändert. Jetzt steht Spannung_xx nur noch bei Operating_voltage
                              ![Bild Text](b54e14f1-1cd1-4178-b90c-04c3106b29db-grafik.png Bild Link)
                              Bekomme aber immer noch eine FM im Script.
                              log_01.txt

                              Gruß
                              alero

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

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

                                Bekomme aber immer noch eine FM im Script.

                                Ich sehe "Found Function BatterieSpannung_45" - aber ich seh kein Device das das nutzt? Kontrollier bitte mal das Device weswegen Du die Funktion angelegt hast und auch alle anderen ob dort die Funktionszuweisungen passen.

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

                                  @Pittini
                                  hi, für die wetterstation. Ah , da war ja was . in dem Objekt gibt es die Operting_Voltage nicht bzw. wird nicht befüllt. hatte diesbezügglich schon mit dem entwickler gesprochen.
                                  ok kann ich rausnehmen.
                                  erledigt. fm bleibt.
                                  Gruß
                                  Alero

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

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

                                    ok kann ich rausnehmen.
                                    erledigt. fm bleibt.

                                    Nach all den Änderungen bitte nochmal den JS Adapter neustarten und noch mal ein startlog wenns nicht hilft bitte.

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

                                      @Pittini
                                      restartet und logfile.

                                      log_02.txt

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

                                        @Alero Langsam fällt mir nix mehr ein. Nimm bitte mal die "Function BatterieSpannung_45" komplett raus, auch die Funktion.
                                        Installier mal bitte die stable Version 1.6.4 zur Sicherheit dasses nicht am Skript liegt. Klappts dann immer noch nicht >
                                        Lösche alle Funktionszuweisungen Deiner Geräte bis auf eine und gugg obs dann geht (JS Adapter neustarten nicht vergessen). Wenns mit dem einen Gerät geht, dann bitte die anderen nach und nach hinzufügen bis der Fehler kommt (oder auch nicht). Sollte es auch mit einem Gerät nicht klappen wär evtl. ne Anydesk Session sinnvoll damit ich mir das mal direkt am System anschauen kann.

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

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

                                          Hi,
                                          Du meinst dein Script. das ist die 1.64.
                                          ![Bild Text](8b9e6c8a-47ce-4988-a2f6-71ad11703b69-grafik.png Bild Link)
                                          Die_45 ist raus . geht immer noch nicht. Werde die Einstellungen jetzt löschen und dann
                                          nach und nach die Funktionen wieder hochfahren und schauen ob es läuft.
                                          Ist vielleicht hier was falsch?
                                          ![Bild Text](e91876db-9a4e-46c6-ba20-18429d72e578-grafik.png Bild Link)
                                          Danke für deine Hilfe.

                                          Gruß
                                          Alero

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

                                            Hi Pittini,

                                            ich habe alle Funktionen raus genommen und egal welche ich einzeln hereinnehme bekomme ich das gleiche Ergebnis.

                                            ;-(
                                            Das mit der Anydesk session wäre prima.

                                            Gruß
                                            Alero

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            784
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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