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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    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 ein bischen mehr info bitte

      bei 130 ausgeschlossenen geräten ! wieviele sensoren hast du den gesamt mit batterien verbaut
      was meinst du mit aufgeteilt in räumliche bereiche ?
      mach doch mal ein bild von der tabelle

      1 Reply Last reply Reply Quote 0
      • C
        cybertron last edited by

        Ich habe die Geräte, die hier im Haus sind nicht genau gezälhlt.
        Der Scriptparser sagt "840 Kanäle und 3593 Datenpunkte in 230 Geräten:".
        Es gibt ja auch jede Menge Geräte, welche zwar reine 230V-Geräte sind, und trotzdem in ihren Datenpunkten das "LOWBAT" drin haben. z.B. der HM-LC-SW1-FM ,der HM-LC-SW2-FM oder der HM-LC-RGBW-WM.

        Auf Grund der Menge der Geräte, die hier verbaut sind, war mein Gedanke, eine Tabelle für das Obergeschoss, eine fürs Erdgeschoss, eine für den Aussenbereich, eine für Keller und Büro's und eine für zentrale Dinge wie Keymatic, Schlüssel usw.
        Wenn ich in jeder Tabelle, also in jedem dafür laufenden Script, die Geräte der anderen Bereiche, sowie die Geräte, die eigentlich gar keine Batterie haben, per Filter ausklammere, sollte ich ja nur noch die sehen, die wirklich in dieser Zone sind und batteriebetrieben sind.
        Im Bild sieht man recht gut, dass der Filter nur bedingt greift.
        Im EG werden rund 120 Geräte per Filter ausgeschlossen. Wirklich gefilter werden aber nur ca 100.
        u.a tauchen Geräte aus dem 1.OG auf oder die RGBW, welche alle im Filter mit drin sind.

        Tabelle Batterie.png

        liv-in-sky 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            711
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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