Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script fürTabelle der Batterie Zustände

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Script fürTabelle der Batterie Zustände

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @cybertron last edited by liv-in-sky

      @cybertron ok

      mit sowas habe ich nicht gerechnet 🙂 - es gibt wohl noch ein script für batterie zustände, die mit räumen arbeitet - ich kenne das nicht aber evtl mußt du dieses nehmen: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe

      das filtern müßte ich mir etwas näher ansehen - gibt es die möglichkeit für anydesk auf deinen rechner ?
      ich habe im script nur gesehen, dass es für homeatic ip mit den "lowBat" datenpunkten keine filterung gibt - habe ich wohl vergessen

      wir müßten mal auf deinem rechner das log enablen damit ich mal rausfinden kann, warum nicht gefiltert wird - evtl hat es auch mit der namensgebung etwas zu tun

      also wenn interesse dann sende mir über chat deine anydesk nummer und wir telefonieren mal
      du könntest mir auch mal das filterarray posten - damit ich mal drüberschaue

      1 Reply Last reply Reply Quote 0
      • N
        Nordischerjung last edited by Nordischerjung

        @liv-in-sky
        Moin,

        ich hab das Script ja nun schon ne weile laufen. bisher ohne Probleme. Nun habe ich einen neuen Hue Outdoor Bewegungsmelder. Seid ich diesen intergriert habe, kommen folgende Fehler im Log

        javascript.1	2020-05-22 22:49:40.023	error	(8655) at tryOnTimeout (timers.js:300:5)
        javascript.1	2020-05-22 22:49:40.022	error	(8655) at ontimeout (timers.js:436:11)
        javascript.1	2020-05-22 22:49:40.022	error	(8655) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
        javascript.1	2020-05-22 22:49:40.021	error	(8655) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
        javascript.1	2020-05-22 22:49:40.021	error	(8655) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
        javascript.1	2020-05-22 22:49:40.021	error	(8655) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
        javascript.1	2020-05-22 22:49:40.020	error	(8655) at Object.<anonymous> (script.js.Battery_Anzeige_VIS:1187:1)
        javascript.1	2020-05-22 22:49:40.020	error	(8655) at writeHTML (script.js.Battery_Anzeige_VIS:399:22)
        javascript.1	2020-05-22 22:49:40.019	error	(8655) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
        javascript.1	2020-05-22 22:49:40.018	error	(8655) at script.js.Battery_Anzeige_VIS:406:67
        javascript.1	2020-05-22 22:49:40.017	error	(8655) Error in callback: TypeError: Cannot read property 'common' of null
        javascript.1	2020-05-22 22:49:40.015	warn	(8655) Object "hue.0.Philips_hue.Hue_outdoor_temp" does not exist
        javascript.1	2020-05-22 22:49:25.636	error	(8655) at Script.runInContext (vm.js:133:20)
        javascript.1	2020-05-22 22:49:25.636	error	(8655) at script.js.Battery_Anzeige_VIS:1190:1
        javascript.1	2020-05-22 22:49:25.635	error	(8655) at writeHTML (script.js.Battery_Anzeige_VIS:399:22)
        javascript.1	2020-05-22 22:49:25.635	error	(8655) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
        javascript.1	2020-05-22 22:49:25.635	error	(8655) at script.js.Battery_Anzeige_VIS:406:67
        javascript.1	2020-05-22 22:49:25.635	error	(8655) TypeError: Cannot read property 'common' of null
        javascript.1	2020-05-22 22:49:25.635	error	(8655) ^
        javascript.1	2020-05-22 22:49:25.635	error	(8655) val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name ; val0=val0.replace(/.battery$/,""); val0=val0.replace("Philips_hue.",""); val0=val0.replace(/_/g," ");
        javascript.1	2020-05-22 22:49:25.634	error	(8655) script.js.Battery_Anzeige_VIS: script.js.Battery_Anzeige_VIS:406
        javascript.1	2020-05-22 22:49:25.633	warn	(8655) Object "hue.0.Philips_hue.Hue_outdoor_temp" does not exist
        javascript.1	2020-05-22 22:49:25.612	info	(8655) Start javascript script.js.Battery_Anzeige_VIS
        

        Warum ist das so? Das geht erst weg, wenn ich hue au false im script setze

        edit: setze ich hueext true, dann geht es. Da wird der BWM auch angezeigt. Dann mache ich es halt über den Weg.

        liv-in-sky 2 Replies Last reply Reply Quote 0
        • liv-in-sky
          liv-in-sky @Nordischerjung last edited by

          @Nordischerjung leider habe ich keine hue oder hue-ext sensoren - daher kann ich im moment nur in meiner testumgebung testen und da funktioniert es

          Image 1.png

          du kannst ja mal einen json export des sensors machen und die datei hier einstellen - dann importiere ich das mal

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Nordischerjung last edited by

            @Nordischerjung hab das nochmal bei mir angesehen - ein normale hue sensor kann eigentlich nicht als hue-ext sensor im script erkannt werden. die datenpunkte sind völlig anders aufgebaut

            hue-ext:

            hue-extended.0.sensors.012-hue_temperature_sensor_1.config.battery
            

            hue:

            hue.0.Philips_hue.BueroTaster.battery
            

            kann es sein, dass entweder der battery wert keinen inhalt hat oder das deine datenpunkte anders aufgebaut sind ?hast du hue und hue-ext sensoren ? am besten mache einen json export von allen deinen hue und/oder hue-ext. datenpunkten

            N 1 Reply Last reply Reply Quote 0
            • N
              Nordischerjung @liv-in-sky last edited by

              @liv-in-sky sagte in Script fürTabelle der Batterie Zustände:

              @Nordischerjung hab das nochmal bei mir angesehen - ein normale hue sensor kann eigentlich nicht als hue-ext sensor im script erkannt werden. die datenpunkte sind völlig anders aufgebaut

              hue-ext:

              hue-extended.0.sensors.012-hue_temperature_sensor_1.config.battery
              

              hue:

              hue.0.Philips_hue.BueroTaster.battery
              

              kann es sein, dass entweder der battery wert keinen inhalt hat oder das deine datenpunkte anders aufgebaut sind ?hast du hue und hue-ext sensoren ? am besten mache einen json export von allen deinen hue und/oder hue-ext. datenpunkten

              Moin, der hue-ext adapter ist doch wie der hue adapter, Da gibt es doch keine extra Sensoren für, oder hab ich das falsch verstanden? Ich hatte den damals installiert, da ich damit die Szenen auslesen und steuern konnte ( kann auch sein, dass es beim hue auch möglich war hatte ich nicht gesehen, egal). Es steht bei beiden Adaptern in battery 100% drin. JSON kann ich erst heute abend machen, bin unterwegs.

              1 Reply Last reply Reply Quote 0
              • Stephan Schleich
                Stephan Schleich last edited by

                @liv-in-sky wäre es noch möglich eine HTML Tabelle mit zur Verfügung zu stellen? Damit könnte man dann die Werte via Telegram anzeigen lassen

                liv-in-sky 1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Stephan Schleich last edited by

                  @Stephan-Schleich
                  das ganze ist eine html tabelle bzw html code - aber leider kann telegram sowas nicht anzeigen - braucht wohl ein eigenes bzw spezielles format

                  bin nicht so in telegram eingearbeitet - aber es gibt zumindest einen datenpunkt mit den devices, welche einen batteriewechsel brauchen - dies kann man an telegram senden (über eigenes script) - oder wenn du dir eine datei erzeugen läßt (script setting) könnte diese an das handy via telegram gesendet werden und somit auf dem handy angezeigt werden

                  selbst wenn ich wüßte, wie genau so eine telegram-tabelle erzeugt werden müßte, würde ich es nicht einbinden - dazu gibt es die vis oder iqontrol oder ...
                  ich persönlich sehe telegram eher als alarm system und nicht als vis ersatz - es würde mir keinen nutzen bringen, die ganze tabelle in telegram zu haben - nur ein alarm bzw welche geräte brauchen eine neue batt, sollte als meldung doch ausreichend sein

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

                    Ich bekomme immer folgende Meldung:

                    16:59:25.540	info	javascript.0 (1208) script.js._TEST.BatteryMonitor: registered 0 subscriptions and 1 schedule
                    16:59:40.013	warn	javascript.0 (1208) at writeHTML (script.js._TEST.BatteryMonitor:1176:5)
                    16:59:40.013	warn	javascript.0 (1208) at Object.<anonymous> (script.js._TEST.BatteryMonitor:1187:1)
                    16:59:40.015	warn	javascript.0 (1208) at writeHTML (script.js._TEST.BatteryMonitor:1177:5)
                    16:59:40.015	warn	javascript.0 (1208) at Object.<anonymous> (script.js._TEST.BatteryMonitor:1187:1)
                    
                    liv-in-sky 2 Replies Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @Christoph1337 last edited by

                      @Christoph-Bubeck wieviele zeilen hat dein script? über 1390 ?

                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Christoph1337 last edited by

                        @Christoph-Bubeck und hast du die datenpunkte dpAlarm und dpAlarmMessage angelegt und im script eingetragen ?

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky last edited by liv-in-sky

                          @Christoph-Bubeck

                          für die max- werte sollte es reichen, im homematic teile ein oder 2 zeilen zu ändern

                          ich gehe davon aus, du hast den homematic teil geändert - da es anscheinend nur um fulbat geht kannst du in dieem teil den val2 wet ändern

                          Image 6.png

                          valhelp ersetzern mit dem richtigen datenpunkt und val2 anpassen - zeile 757

                          wenn ich die datenpunkt struktur kennen würde, kann man varhelp einfach anpassen

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

                            Also mit dem Hometic klappt das für MAX.

                            9379f3ab-3d21-46f4-a352-6644a0e0dc79-image.png

                            Wie gesagt musste ich nur den Suchstring anpassen. Wenn das auch andere nutzen wollen müsste man nur die hometic funktion im script kopieren und erneut für max ablegen. oder denk ich verkehrt?

                            1d9a6112-2464-45a8-8b0d-8631903c1db8-image.png
                            ed00f9df-266e-4e02-8753-ba76158f1724-image.png

                            liv-in-sky 2 Replies Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Christoph1337 last edited by

                              @Christoph-Bubeck

                              an dieser stelle kenn ich nur den batterie wert - aber wie heißt der online wert und wo liegt er im verzeichnis ( wird er überhaupt anstndig im adapter angezeigt) - die homematic glaube ich haben da so ihre probleme) - diesen wert muss ich definieren- ich habe aber nur die id von battery_low und von dieser aus muss ich mich zum online vorarbeiten -

                              1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Christoph1337 last edited by

                                @Christoph-Bubeck ist das der initialized wert - alle anderen sind ja false - wird initialized geändert, wenn du das device abschaltest ?

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

                                  achsoo.

                                  Also für Offline nehme ich
                                  state[state.id=maxcube.*.*.*.error]
                                  und
                                  state[state.id=maxcube.*.*.*.link_error]

                                  Wenn = true -> nicht errreichbar

                                  für Problem
                                  state[state.id=maxcube.*.*.*.working]

                                  wenn = false -> Problem vorhanden

                                  liv-in-sky 3 Replies Last reply Reply Quote 0
                                  • liv-in-sky
                                    liv-in-sky @Christoph1337 last edited by liv-in-sky

                                    @Christoph-Bubeck

                                    kannst du mir bite noch die ganzen max datenpunkte in ein json packen - mit deconz geht das "online" schon

                                    Image 5.png

                                    wenn letzter datenpunkt update länger als 12 stunden - dann time-warn sonst on-bzw offline

                                    1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Christoph1337 last edited by

                                      @Christoph-Bubeck und den ganzen teil des scriptes, welchen du für die max geändert hast oder war das nur der selektor

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @Christoph1337 last edited by liv-in-sky

                                        @Christoph-Bubeck

                                        jetzt muss ich nochmal fragen: wie die anzeige sein soll

                                        • wenn über 12 stunden kein dp-update (von error und error link) - dann time warn;
                                        • sonst wenn unter 12 stunden dann bei error und error link ist false => online
                                        • und wenn eines von error und error link ist true => offline

                                        dann bekommst du immer offline wenn die error oder link_error "falsch" (also true) sind ein offline angezeigt. da dies aber immer wieder geschieht muss da noch ein zeitfaktor rein! dazu müßte ich wissen, wie lange diese ´"fehlanzeige" länstens sein kann (vorher hatten wir mal eine halbe stunde) - also wie lange soll das online bleiben bevor da offline daraus wird

                                        hoffe ich konnte es richtig erklären

                                        dazu kommt noch dieser working datenpunkt - ist der verlässlich oder hat der auch aussetzer

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

                                          Moin moin,

                                          ich meine die Infos zu den DPs hast du genau richtig dargestellt.
                                          Als Timer sollte man mindestens 60 Minuten nehmen, da durch z.B. DutyCycle das Gerät für diesen Zeitraum nicht erreichbar sein könnte.

                                          Aktuell hatte ich das Gefühl das der Working-DP korrekt funktioniert. Wahrscheinlich wird man das erst merken, wenn man eine längere Analyse darüber fährt.

                                          liv-in-sky 2 Replies Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @Christoph1337 last edited by

                                            @Christoph-Bubeck

                                            60 minuten habe ich auch gedacht - werd dir dann bald ein testscript geben

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            877
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            67
                                            1379
                                            355666
                                            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