Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Hilfe bei Javaskript Device Counter

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Hilfe bei Javaskript Device Counter

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
24 Beiträge 4 Kommentatoren 2.7k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Adnim

    @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

    @Adnim

    und … ist er vorhanden !?

    sind alle da, der errors teil wird aber seit ein paar tagen nicht aktualisiert und wirft halt die Fehlermeldung

    1.JPG

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    schrieb am zuletzt editiert von
    #6

    @Adnim

    Dein Bild ist zu klein , kann nichts erkennen .

    So sieht es bei mir aus
    1.JPG

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      Adnim
      schrieb am zuletzt editiert von
      #7

      japp exakt so sieht es bei mir aus, nimm mal die // vor der Zeile 11 weg und starte das skript neu, das geht nicht mehr und habe ich auskommentiert das ich die andren funktionen erstmal nutzen kann

      GlasfaserG 1 Antwort Letzte Antwort
      0
      • A Adnim

        japp exakt so sieht es bei mir aus, nimm mal die // vor der Zeile 11 weg und starte das skript neu, das geht nicht mehr und habe ich auskommentiert das ich die andren funktionen erstmal nutzen kann

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von
        #8

        @Adnim

        Alles in Ordnung ,keine ERROR Meldung ,

        2.JPG

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          Adnim
          schrieb am zuletzt editiert von
          #9

          hmm ich starte mal neu

          A 1 Antwort Letzte Antwort
          0
          • A Adnim

            hmm ich starte mal neu

            A Offline
            A Offline
            Adnim
            schrieb am zuletzt editiert von
            #10

            @Adnim sagte in Hilfe bei Javaskript Device Counter:

            hmm ich starte mal neu

            hilft nicht kommt immer die obige fehlermeldung

            GlasfaserG 1 Antwort Letzte Antwort
            0
            • A Adnim

              @Adnim sagte in Hilfe bei Javaskript Device Counter:

              hmm ich starte mal neu

              hilft nicht kommt immer die obige fehlermeldung

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von Glasfaser
              #11

              @Adnim

              Verstehe ich nicht !?

              Hast du mal alle Datenpunkte gelöscht und das Skript dann mal neugestartet , damit die Datenpunkte " neu "erzeugt werden !!

              Zeig mal einen aktuellen Log vom Fehler !
              und einen Screenshot von den Datenpunkten , der besser zu erkennen ist.

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              1 Antwort Letzte Antwort
              0
              • A Adnim

                Hi!
                der Cache Selektor zeile 11 "Error" funktioniert nicht mehr mit folgender Fehlermeldung. Das klappte aber immer so, jemand ne Idee was ich tun kann ?

                //Add device rules
                addDeviceCounter("lowbat",         $('channel[state.id=*LOWBAT]'),                     true);
                addDeviceCounter("lowbat",         $('channel[state.id=*lowbat]'),                      true);
                addDeviceCounter("sticky_unreach", $('channel[state.id=*.STICKY_UNREACH]'),              true);
                addDeviceCounter("unreach",        $('channel[state.id=*.UNREACH]'),                     true);
                addDeviceCounter("config_pending", $('channel[state.id=*.CONFIG_PENDING]'),              true);
                addDeviceCounter("Motion",  $('channel[state.id=*.MOTION]'),               true);
                addDeviceCounter("DutyCycle",  $('channel[state.id=*.DUTYCYCLE]'),               true);
                addDeviceCounter("Spannungsüberwachung",  $('channel[state.id=*.VOLTAGE]'),           function(state){return state<200;});
                addDeviceCounter("Auskühlschutz",  $('channel[state.id=*.ACTUAL_TEMPERATURE]'),           function(state){return state<14;});
                addDeviceCounter("ERROR",  $('channel[state.id=*.ERROR*]'),               function(state){return state>0;});
                addDeviceCounter("Heizbedarf",  $('channel[state.id=*.VALVE_STATE]'),           function(state){return state>15;});
                addDeviceCounter("Alive",         $('channel[state.id=*alive]'),                     false);
                addDeviceCounter("CONNECTED",         $('channel[state.id=*.connected]'),                     false);
                addDeviceCounter("open_shutters",  $('channel{TYPE=BLIND}[state.id=*.LEVEL]'),           function(state){return state>0;});
                addDeviceCounter("open_windows",   $('channel{TYPE=SHUTTER_CONTACT}[state.id=*.STATE]'), true);
                
                
                
                /******************************************
                 * Code - do not change anything bellow this line *
                 ******************************************/
                
                function addDeviceCounter(name, selector, val_to_count) {
                
                    //Total amount of devices found by selector
                    var state_total = 'deviceCounter.' + name + '.total';
                    createState(state_total, 0);
                    //List of devices that match condition
                    var state_list = 'deviceCounter.' + name + '.list';
                    createState(state_list, "");
                    //Number of devices that match condition
                    var state_counter = 'deviceCounter.' + name + '.counter';
                
                    createState(state_counter, 0);
                    function countDevs(obj) {
                        var d_count = 0;
                        var d_list  = [];
                
                        selector.each(function (id, i) {
                            var status = getState(id).val;
                            var obj    = getObject(id);
                            if ((typeof val_to_count === 'function' && val_to_count(status)) ||
                                (typeof val_to_count === 'boolean'  && val_to_count == status)) {
                                //Get parent object
                                var parentChannelId = id.slice(id.lastIndexOf("."));
                                var parentDevicelId = id.split(".").slice(0,-2).join(".");
                                var deviceObject = getObject(parentDevicelId);
                                //remember device name
                                d_list.push(deviceObject.common.name);
                            }                
                            ++d_count;                                                 // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
                        }); 
                
                //if ("state_counter" > 0) {event(name + "(" + d_count + "): " + d_list);
                //}
                
                        setState(state_list,     d_list.join('<br>'));
                        setState(state_counter,  d_list.length);
                        setState(state_total,    d_count);
                    }
                
                    //Re-evaluate when a device status changes
                    selector.on(function(obj) {    // bei Zustandänderung *. LOWBAT in allen Gewerken
                        countDevs(obj);
                    });
                
                    //Re-evaluate each hour
                    schedule("*/60 * * * *", countDevs);
                    
                    //Evaluate for the first time
                    countDevs();
                }
                
                javascript.0	2019-10-12 16:02:30.844	info	(13143) Stop script script.js.common.DeviceCounter
                javascript.0	2019-10-12 16:02:19.889	error	(13143) at Script.runInContext (vm.js:133:20)
                javascript.0	2019-10-12 16:02:19.889	error	(13143) at script.js.common.DeviceCounter:11:1
                javascript.0	2019-10-12 16:02:19.889	error	(13143) at addDeviceCounter (script.js.common.DeviceCounter:72:5)
                javascript.0	2019-10-12 16:02:19.889	error	(13143) at countDevs (script.js.common.DeviceCounter:40:18)
                javascript.0	2019-10-12 16:02:19.889	error	(13143) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:808:29)
                javascript.0	2019-10-12 16:02:19.889	error	(13143) at script.js.common.DeviceCounter:50:42
                javascript.0	2019-10-12 16:02:19.889	error	(13143) TypeError: Cannot read property 'common' of null
                javascript.0	2019-10-12 16:02:19.889	error	(13143) ^
                javascript.0	2019-10-12 16:02:19.889	error	(13143) d_list.push(deviceObject.common.name);
                javascript.0	2019-10-12 16:02:19.889	error	(13143) script.js.common.DeviceCounter: script.js.common.DeviceCounter:50
                javascript.0	2019-10-12 16:02:19.888	warn	(13143) Object "javascript.0.deviceCounter" does not exist
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #12

                @Adnim sagte:

                $('channel[state.id=.ERROR]')

                Was liefert ?

                $('channel[state.id=*.ERROR*]').each(function(id, i) {
                   log(id);
                });
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  Adnim
                  schrieb am zuletzt editiert von
                  #13

                  @paul53 sagte in Hilfe bei Javaskript Device Counter:

                  @Adnim sagte:

                  $('channel[state.id=.ERROR]')

                  Was liefert ?

                  Da bekomm ich nen error, irgendwo fehlt eine klammer?

                  Screenshot_1.png

                  @Glasfaser
                  habe die objekte gelöscht sie werden angelegt ,dann stürzt das skript aber mit der Fehlermeldung ab, neustart hilft dann auch nicht
                  Screenshot_2.png

                  Screenshot_3.png

                  Danke euch!

                  GlasfaserG 1 Antwort Letzte Antwort
                  0
                  • A Adnim

                    @paul53 sagte in Hilfe bei Javaskript Device Counter:

                    @Adnim sagte:

                    $('channel[state.id=.ERROR]')

                    Was liefert ?

                    Da bekomm ich nen error, irgendwo fehlt eine klammer?

                    Screenshot_1.png

                    @Glasfaser
                    habe die objekte gelöscht sie werden angelegt ,dann stürzt das skript aber mit der Fehlermeldung ab, neustart hilft dann auch nicht
                    Screenshot_2.png

                    Screenshot_3.png

                    Danke euch!

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    schrieb am zuletzt editiert von
                    #14

                    @Adnim

                    … das Skript von paul53 in ein neues Skript starten !!!

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    A 1 Antwort Letzte Antwort
                    0
                    • GlasfaserG Glasfaser

                      @Adnim

                      … das Skript von paul53 in ein neues Skript starten !!!

                      A Offline
                      A Offline
                      Adnim
                      schrieb am zuletzt editiert von
                      #15

                      @Glasfaser
                      oh ok, habe ich versucht. Da kommt nix nur Start Skript im Log

                      Screenshot_4.png

                      GlasfaserG 1 Antwort Letzte Antwort
                      0
                      • A Adnim

                        @Glasfaser
                        oh ok, habe ich versucht. Da kommt nix nur Start Skript im Log

                        Screenshot_4.png

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von
                        #16

                        @Adnim

                        so muss es aussehen :

                        1.JPG

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        1 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          Adnim
                          schrieb am zuletzt editiert von
                          #17

                          sieht bei mir aber so aus

                          Screenshot_5.png

                          GlasfaserG 1 Antwort Letzte Antwort
                          0
                          • A Adnim

                            sieht bei mir aber so aus

                            Screenshot_5.png

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            schrieb am zuletzt editiert von
                            #18

                            @Adnim

                            Datenpunkte mit ERROR ,die bei mir z.B aufgelistet werden :

                            1.JPG

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              Adnim
                              schrieb am zuletzt editiert von
                              #19

                              ja habe ich auch ne ganze menge von den Errors States ,148 laut dem Skript er zählt sie ja beim ersten start

                              aber irgendwie findet er sie nicht mit Pauls Skript, habe Neustart und den Fixer aber gleiches Ergebnis

                              GlasfaserG 1 Antwort Letzte Antwort
                              0
                              • A Adnim

                                ja habe ich auch ne ganze menge von den Errors States ,148 laut dem Skript er zählt sie ja beim ersten start

                                aber irgendwie findet er sie nicht mit Pauls Skript, habe Neustart und den Fixer aber gleiches Ergebnis

                                GlasfaserG Offline
                                GlasfaserG Offline
                                Glasfaser
                                schrieb am zuletzt editiert von Glasfaser
                                #20

                                @Adnim

                                Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein

                                Zeig mal bitte die ausgabe von

                                iobroker list adapters
                                

                                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                A 1 Antwort Letzte Antwort
                                1
                                • GlasfaserG Glasfaser

                                  @Adnim

                                  Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein

                                  Zeig mal bitte die ausgabe von

                                  iobroker list adapters
                                  
                                  A Offline
                                  A Offline
                                  Adnim
                                  schrieb am zuletzt editiert von
                                  #21

                                  @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

                                  @Adnim
                                  Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein
                                  Zeig mal bitte die ausgabe von

                                  Ok habe UNREACH , ALIVE, CONNECTED nix führt zu einer ausgabe im LOG sieht immer so aus

                                  Screenshot_6.png

                                  iobroker list adapters
                                  Screenshot_7.png
                                  Screenshot_8.png
                                  Screenshot_9.png

                                  Lenny.CBL 1 Antwort Letzte Antwort
                                  0
                                  • A Adnim

                                    @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

                                    @Adnim
                                    Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein
                                    Zeig mal bitte die ausgabe von

                                    Ok habe UNREACH , ALIVE, CONNECTED nix führt zu einer ausgabe im LOG sieht immer so aus

                                    Screenshot_6.png

                                    iobroker list adapters
                                    Screenshot_7.png
                                    Screenshot_8.png
                                    Screenshot_9.png

                                    Lenny.CBL Online
                                    Lenny.CBL Online
                                    Lenny.CB
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #22

                                    @Adnim du hast javascript 4.3.0, da klappts ja momentan nicht so mit den Logeinträgen.
                                    Funktionieren soll (ungetestet)
                                    log(id, 'info');
                                    oder
                                    Console.log(id);

                                    Vielleicht läuft der Selector-codeschnipsel von paul, nur zeigt er nichts wegen des Logfehlers.

                                    A 1 Antwort Letzte Antwort
                                    1
                                    • Lenny.CBL Lenny.CB

                                      @Adnim du hast javascript 4.3.0, da klappts ja momentan nicht so mit den Logeinträgen.
                                      Funktionieren soll (ungetestet)
                                      log(id, 'info');
                                      oder
                                      Console.log(id);

                                      Vielleicht läuft der Selector-codeschnipsel von paul, nur zeigt er nichts wegen des Logfehlers.

                                      A Offline
                                      A Offline
                                      Adnim
                                      schrieb am zuletzt editiert von Adnim
                                      #23

                                      @Lenny-CB sagte in Hilfe bei Javaskript Device Counter:

                                      log(id, 'info');

                                      das funzt korrekt, Danke dir Lenny

                                      läuft deswegen auch das Haupt Skript nicht richtig?bzw das sind zwei Probleme glaube ich?

                                      Lenny.CBL 1 Antwort Letzte Antwort
                                      0
                                      • A Adnim

                                        @Lenny-CB sagte in Hilfe bei Javaskript Device Counter:

                                        log(id, 'info');

                                        das funzt korrekt, Danke dir Lenny

                                        läuft deswegen auch das Haupt Skript nicht richtig?bzw das sind zwei Probleme glaube ich?

                                        Lenny.CBL Online
                                        Lenny.CBL Online
                                        Lenny.CB
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #24

                                        @Adnim, ich denke das wird noch eine andere Baustelle sein.

                                        1 Antwort Letzte Antwort
                                        0
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        606

                                        Online

                                        32.5k

                                        Benutzer

                                        81.7k

                                        Themen

                                        1.3m

                                        Beiträge
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Anmelden

                                        • Du hast noch kein Konto? Registrieren

                                        • Anmelden oder registrieren, um zu suchen
                                        • Erster Beitrag
                                          Letzter Beitrag
                                        0
                                        • Home
                                        • Aktuell
                                        • Tags
                                        • Ungelesen 0
                                        • Kategorien
                                        • Unreplied
                                        • Beliebt
                                        • GitHub
                                        • Docu
                                        • Hilfe