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. Selector greift nicht nach Umstellung auf redis?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    891

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Selector greift nicht nach Umstellung auf redis?

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
7 Beiträge 2 Kommentatoren 449 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.
  • ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich scheine irgendwo einen Denkfehler zu haben... Seit einiger Zeit läuft auf meinem ioBroker ein Javascript, welches auf Änderung des DP hm-rega.0.maintenance angestoßen wird. Es sammelt eigentlich über zwei Selektoren zwei Objekte, die dann in einer each()-Schleife abgefragt werden. Also kein Hexenwerk und das Script lief einwandfrei. Hier das Script:

    /*
    **
    ** Homematic CCU3 Servicemeldungen zählen und einlesen
    **
    */
    
    var dpCCU3State       = 'hm-rega.0.maintenance';
    
    var dpServiceCount    = '0_userdata.0.HmIP.Service.Count';
    var dpServiceMessages = '0_userdata.0.HmIP.Service.Messages';
     
    var selLowBat         = $('channel[state.id=hm-rpc.*.LOW_BAT_ALARM]');
    var selUnreach        = $('channel[state.id=hm-rpc.*.UNREACH_ALARM]');
    
    var mCount = 0;
    var mText  = '';
    
    //
    // Create Datapoints
    //
    createState(dpServiceCount,     0, { name: 'HmIP Servicemeldungen Anzahl', desc: 'HmIP Servicemeldungen Anzahl', type: 'number' });
    createState(dpServiceMessages, '', { name: 'HmIP Servicemeldungen Text',   desc: 'HmIP Servicemeldungen Text',   type: 'string' });
     
    //
    // Functions
    //
    function getHmIPDetail(objID, objText) {
        var aStatus = getState(objID).val;
        if(aStatus === 1) {
            var nameParts = getObject(objID).common.name.split(':');
            toLog('CCU3: Gerät ' + nameParts[0] + ' meldet ' + objText);
            mText = mText + '<span class="hmlistRow">Gerät <span class="hmlistDevice">' +
                    nameParts[0] + '</span> meldet <span class="hmlistType">' + objText +
                    '</span></span><br>';
            mCount++;
        }
    }
    
    function getHmIPData() {
        mCount = 0;
        mText  = '';
        selLowBat.each(  function (objID) { getHmIPDetail(objID, 'niedrigen Batteriestand');   });
        selUnreach.each( function (objID) { getHmIPDetail(objID, 'nicht erreichbar');          });
        if(mCount < 1) mText = '<span class="hmlistRow">Keine Servicemeldungen vorhanden</span>';
        setState(dpServiceCount,    mCount, true);
        setState(dpServiceMessages, mText,  true);
    }
    
    //
    // Subscriptions
    //
    getHmIPData();
    on ({ id: dpCCU3State }, function () { getHmIPData(); });
    
    

    Heute habe ich nun die ioBroker-Installation (alles aktuell) per "ioBroker custom" auf redis für die States umgestellt, die States nicht migriert und danach einen kompletten reboot durchgeführt. Das funktionierte alles ohne Probleme, alle Instanzen laufen wie ein Glöckchen und der Host (VM auf Synology) rennt wie Sau (Load unter 0.1 - vorher >1.0).

    Einzig mein Script schmeißt mir nun die folgenden Warnings heraus:

    javascript.0	2021-01-17 14:43:45.234	warn	(2038) at script.js.common.Info_CCU3:52:1
    javascript.0	2021-01-17 14:43:45.234	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
    javascript.0	2021-01-17 14:43:45.234	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
    javascript.0	2021-01-17 14:43:45.233	warn	(2038) at script.js.common.Info_CCU3:43:41
    javascript.0	2021-01-17 14:43:45.233	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
    javascript.0	2021-01-17 14:43:45.231	warn	(2038) getState "hm-rpc.0.OEQ1902678.0.UNREACH_ALARM" not found (3) states[id]=null
    javascript.0	2021-01-17 14:43:45.231	warn	(2038) at script.js.common.Info_CCU3:52:1
    javascript.0	2021-01-17 14:43:45.231	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
    javascript.0	2021-01-17 14:43:45.231	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
    javascript.0	2021-01-17 14:43:45.230	warn	(2038) at script.js.common.Info_CCU3:43:41
    javascript.0	2021-01-17 14:43:45.230	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
    javascript.0	2021-01-17 14:43:45.228	warn	(2038) getState "hm-rpc.0.00131709AE355A.0.UNREACH_ALARM" not found (3) states[id]=null
    javascript.0	2021-01-17 14:43:45.228	warn	(2038) at script.js.common.Info_CCU3:52:1
    javascript.0	2021-01-17 14:43:45.228	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
    javascript.0	2021-01-17 14:43:45.227	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
    javascript.0	2021-01-17 14:43:45.227	warn	(2038) at script.js.common.Info_CCU3:43:41
    javascript.0	2021-01-17 14:43:45.224	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
    javascript.0	2021-01-17 14:43:45.207	warn	(2038) getState "hm-rpc.0.001158A98B2B4C.0.UNREACH_ALARM" not found (3) states[id]=null
    javascript.0	2021-01-17 14:43:45.207	warn	(2038) at script.js.common.Info_CCU3:52:1
    

    Kann mir da vielleicht jemand mal einen Tip geben? Die States werden doch abstrakt zur Verfügung gestellt, egal ob file oder redis, oder?

    Vielen Dank
    Levy

    HomoranH 1 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      Hallo zusammen,

      ich scheine irgendwo einen Denkfehler zu haben... Seit einiger Zeit läuft auf meinem ioBroker ein Javascript, welches auf Änderung des DP hm-rega.0.maintenance angestoßen wird. Es sammelt eigentlich über zwei Selektoren zwei Objekte, die dann in einer each()-Schleife abgefragt werden. Also kein Hexenwerk und das Script lief einwandfrei. Hier das Script:

      /*
      **
      ** Homematic CCU3 Servicemeldungen zählen und einlesen
      **
      */
      
      var dpCCU3State       = 'hm-rega.0.maintenance';
      
      var dpServiceCount    = '0_userdata.0.HmIP.Service.Count';
      var dpServiceMessages = '0_userdata.0.HmIP.Service.Messages';
       
      var selLowBat         = $('channel[state.id=hm-rpc.*.LOW_BAT_ALARM]');
      var selUnreach        = $('channel[state.id=hm-rpc.*.UNREACH_ALARM]');
      
      var mCount = 0;
      var mText  = '';
      
      //
      // Create Datapoints
      //
      createState(dpServiceCount,     0, { name: 'HmIP Servicemeldungen Anzahl', desc: 'HmIP Servicemeldungen Anzahl', type: 'number' });
      createState(dpServiceMessages, '', { name: 'HmIP Servicemeldungen Text',   desc: 'HmIP Servicemeldungen Text',   type: 'string' });
       
      //
      // Functions
      //
      function getHmIPDetail(objID, objText) {
          var aStatus = getState(objID).val;
          if(aStatus === 1) {
              var nameParts = getObject(objID).common.name.split(':');
              toLog('CCU3: Gerät ' + nameParts[0] + ' meldet ' + objText);
              mText = mText + '<span class="hmlistRow">Gerät <span class="hmlistDevice">' +
                      nameParts[0] + '</span> meldet <span class="hmlistType">' + objText +
                      '</span></span><br>';
              mCount++;
          }
      }
      
      function getHmIPData() {
          mCount = 0;
          mText  = '';
          selLowBat.each(  function (objID) { getHmIPDetail(objID, 'niedrigen Batteriestand');   });
          selUnreach.each( function (objID) { getHmIPDetail(objID, 'nicht erreichbar');          });
          if(mCount < 1) mText = '<span class="hmlistRow">Keine Servicemeldungen vorhanden</span>';
          setState(dpServiceCount,    mCount, true);
          setState(dpServiceMessages, mText,  true);
      }
      
      //
      // Subscriptions
      //
      getHmIPData();
      on ({ id: dpCCU3State }, function () { getHmIPData(); });
      
      

      Heute habe ich nun die ioBroker-Installation (alles aktuell) per "ioBroker custom" auf redis für die States umgestellt, die States nicht migriert und danach einen kompletten reboot durchgeführt. Das funktionierte alles ohne Probleme, alle Instanzen laufen wie ein Glöckchen und der Host (VM auf Synology) rennt wie Sau (Load unter 0.1 - vorher >1.0).

      Einzig mein Script schmeißt mir nun die folgenden Warnings heraus:

      javascript.0	2021-01-17 14:43:45.234	warn	(2038) at script.js.common.Info_CCU3:52:1
      javascript.0	2021-01-17 14:43:45.234	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
      javascript.0	2021-01-17 14:43:45.234	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
      javascript.0	2021-01-17 14:43:45.233	warn	(2038) at script.js.common.Info_CCU3:43:41
      javascript.0	2021-01-17 14:43:45.233	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
      javascript.0	2021-01-17 14:43:45.231	warn	(2038) getState "hm-rpc.0.OEQ1902678.0.UNREACH_ALARM" not found (3) states[id]=null
      javascript.0	2021-01-17 14:43:45.231	warn	(2038) at script.js.common.Info_CCU3:52:1
      javascript.0	2021-01-17 14:43:45.231	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
      javascript.0	2021-01-17 14:43:45.231	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
      javascript.0	2021-01-17 14:43:45.230	warn	(2038) at script.js.common.Info_CCU3:43:41
      javascript.0	2021-01-17 14:43:45.230	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
      javascript.0	2021-01-17 14:43:45.228	warn	(2038) getState "hm-rpc.0.00131709AE355A.0.UNREACH_ALARM" not found (3) states[id]=null
      javascript.0	2021-01-17 14:43:45.228	warn	(2038) at script.js.common.Info_CCU3:52:1
      javascript.0	2021-01-17 14:43:45.228	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
      javascript.0	2021-01-17 14:43:45.227	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
      javascript.0	2021-01-17 14:43:45.227	warn	(2038) at script.js.common.Info_CCU3:43:41
      javascript.0	2021-01-17 14:43:45.224	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
      javascript.0	2021-01-17 14:43:45.207	warn	(2038) getState "hm-rpc.0.001158A98B2B4C.0.UNREACH_ALARM" not found (3) states[id]=null
      javascript.0	2021-01-17 14:43:45.207	warn	(2038) at script.js.common.Info_CCU3:52:1
      

      Kann mir da vielleicht jemand mal einen Tip geben? Die States werden doch abstrakt zur Verfügung gestellt, egal ob file oder redis, oder?

      Vielen Dank
      Levy

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #2

      @levyko said in Selector greift nicht nach Umstellung auf redis?:

      Einzig mein Script schmeißt mir nun die folgenden Warnings heraus:

      ich kann zwwar kein js, aber der Fehler kam früher, die warn zeigen nur an wo sich der (hier nicht sichtbare, weil abgeschnittene) Fehler verbirgt.

      z.B.
      @levyko said in Selector greift nicht nach Umstellung auf redis?:

      at script.js.common.Info_CCU3:52:1

      in der Zeile 52 des genannten skripts

      beim holen des Wertes von:

      @levyko said in Selector greift nicht nach Umstellung auf redis?:

      getState "hm-rpc.0.001158A98B2B4C.0.UNREACH_ALARM" not found (3) states[id]=null

      er findet den Datenpunkt nicht
      existiert dieser?

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      ? 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @levyko said in Selector greift nicht nach Umstellung auf redis?:

        Einzig mein Script schmeißt mir nun die folgenden Warnings heraus:

        ich kann zwwar kein js, aber der Fehler kam früher, die warn zeigen nur an wo sich der (hier nicht sichtbare, weil abgeschnittene) Fehler verbirgt.

        z.B.
        @levyko said in Selector greift nicht nach Umstellung auf redis?:

        at script.js.common.Info_CCU3:52:1

        in der Zeile 52 des genannten skripts

        beim holen des Wertes von:

        @levyko said in Selector greift nicht nach Umstellung auf redis?:

        getState "hm-rpc.0.001158A98B2B4C.0.UNREACH_ALARM" not found (3) states[id]=null

        er findet den Datenpunkt nicht
        existiert dieser?

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #3

        @homoran
        Oh mann... Tatsächlich hatte er in der hm-rpc.0-Instanz noch Geräte drin, die gar nicht mehr existieren. Ich habe nun die entsprechenden Objekte gelöscht, die Geräte neu einlesen lassen, die Javascript-Instanz neu gestartet und siehe da: Keine Warnings oder Fehler mehr :)

        Vielen Dank! und +1

        HomoranH 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @homoran
          Oh mann... Tatsächlich hatte er in der hm-rpc.0-Instanz noch Geräte drin, die gar nicht mehr existieren. Ich habe nun die entsprechenden Objekte gelöscht, die Geräte neu einlesen lassen, die Javascript-Instanz neu gestartet und siehe da: Keine Warnings oder Fehler mehr :)

          Vielen Dank! und +1

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          @levyko said in Selector greift nicht nach Umstellung auf redis?:

          Vielen Dank! und +1

          Gern geschehen - und das als js-Legastheniker ;-)

          Mich würde nur noch die "echte" ERROR-Meldung, die vor den warn kam, interessieren

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          ? 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @levyko said in Selector greift nicht nach Umstellung auf redis?:

            Vielen Dank! und +1

            Gern geschehen - und das als js-Legastheniker ;-)

            Mich würde nur noch die "echte" ERROR-Meldung, die vor den warn kam, interessieren

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #5

            @homoran
            Da gab es keine :confused: Das machte mich ja so stutzig. Über den Objektbaum bzw. den Selektor konnte man den Datenpunkt finden, aber das Script konnte nicht darauf zugreifen. Er hat lediglich für die nicht ansprechbaren Datenpunkte die 6 Zeilen geloggt:

            javascript.0	2021-01-17 14:43:45.228	warn	(2038) at script.js.common.Info_CCU3:52:1
            javascript.0	2021-01-17 14:43:45.228	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
            javascript.0	2021-01-17 14:43:45.227	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
            javascript.0	2021-01-17 14:43:45.227	warn	(2038) at script.js.common.Info_CCU3:43:41
            javascript.0	2021-01-17 14:43:45.224	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
            javascript.0	2021-01-17 14:43:45.207	warn	(2038) getState "hm-rpc.0.001158A98B2B4C.0.UNREACH_ALARM" not found (3) states[id]=null
            

            Beim nächsten Element in der Selektor-Kollektion wieder von vorne.

            HomoranH 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @homoran
              Da gab es keine :confused: Das machte mich ja so stutzig. Über den Objektbaum bzw. den Selektor konnte man den Datenpunkt finden, aber das Script konnte nicht darauf zugreifen. Er hat lediglich für die nicht ansprechbaren Datenpunkte die 6 Zeilen geloggt:

              javascript.0	2021-01-17 14:43:45.228	warn	(2038) at script.js.common.Info_CCU3:52:1
              javascript.0	2021-01-17 14:43:45.228	warn	(2038) at getHmIPData (script.js.common.Info_CCU3:43:16)
              javascript.0	2021-01-17 14:43:45.227	warn	(2038) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:785:29)
              javascript.0	2021-01-17 14:43:45.227	warn	(2038) at script.js.common.Info_CCU3:43:41
              javascript.0	2021-01-17 14:43:45.224	warn	(2038) at getHmIPDetail (script.js.common.Info_CCU3:28:19)
              javascript.0	2021-01-17 14:43:45.207	warn	(2038) getState "hm-rpc.0.001158A98B2B4C.0.UNREACH_ALARM" not found (3) states[id]=null
              

              Beim nächsten Element in der Selektor-Kollektion wieder von vorne.

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #6

              @levyko said in Selector greift nicht nach Umstellung auf redis?:

              Da gab es keine

              zeitlich vor der 14:43:45.207 warn gab es nichts? :-(

              Danke!

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              ? 1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @levyko said in Selector greift nicht nach Umstellung auf redis?:

                Da gab es keine

                zeitlich vor der 14:43:45.207 warn gab es nichts? :-(

                Danke!

                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #7

                @homoran
                Die erste "Warn"-Zeile fing mit einer "getState"-Warnung an. Davor waren nur die ganz normalen Info-Zeilen (Adapter gestartet, Log-Meldungen von meinen Scripten, etc.). Kein Fehler, kein gar nichts.

                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

                717

                Online

                32.6k

                Benutzer

                82.1k

                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