Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly-Fehlermeldung (TypeError)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Blockly-Fehlermeldung (TypeError)

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mo277 last edited by

      ioBroker * Blockly * JSON * AIO Creator NEO * CCU3

      Hallo zusammen,
      ich verwende auf dem Smartphone AIO Creator NEO. Für die HmIP-Geräte auf der CCU3 läuft das sehr gut, aber Datenpunkte des ioB, die ich über die entsprechende AIO-Erweiterung einbinden kann, brauchen ewig, bis sie auf dem Smartphone angezeigt werden.
      Um das zu vermeiden, möchte ich die ioB-Datenpunkte zusätzlich auf der CCU3 als Systemvariablen anlegen und bei Änderung dieser Datenpunkte synchronisieren. Die Systemvariablen finde ich im ioB unter Objekte/hm-rega.

      Dazu habe ich diesen (bislang 16) Datenpunkten eine Kategorie/Funktion zugeordnet, die ich über 'IDs vom Selektor' abgreife.

      Die Zuordnung bzw. das Parsen erfolgt über eine als Datenpunkt angelegte JSON-Tabelle, von der ich einen Datensatz im Foto zeige.

      Grundsätzlich funktioniert mein Blockly, allerdings werden auch unerwartete Infos und ein Fehler angezeigt, die ich mir nicht erklären kann (siehe Log-File im Spoiler).

      Kann mir jemand helfen, den Fehler zu identifizieren, bitte?

      PS: der Blockly-Teil mit dem eigentlichen Mapping fehlt hier noch.

      Blockly.jpg

      var vl_DP, js_Sync_CCU3, z_JSON;
      
      
      on({ id: [].concat(Array.prototype.slice.apply($('state[id=*](functions=AIO_NEO)'))), change: 'ne' }, async (obj) => {
       let value = obj.state.val;
       let oldValue = obj.oldState.val;
       // JSON aus Datenpunkt in Liste laden
       js_Sync_CCU3 = (() => { try { return JSON.parse(getState('0_userdata.0.Variablen.allgemein.json_Sync_CCU3').val); } catch (e) { return {}; }})();
       // Schleife durch die Liste
       for (z_JSON = 1; z_JSON <= 16; z_JSON++) {
         // Prüfen, ob Element "DP1" der Liste gleich geändertem Datenpunkt (aus Trigger)
         if (getAttr((js_Sync_CCU3[(z_JSON - 1)]), 'DP1') == obj.id) {
           // Abbruch, wenn gefunden
           break;
         }
       }
       // Ausgabe des Elements DP2 zum gefundenen Datensatz
       console.info(getAttr((js_Sync_CCU3[(z_JSON - 1)]), 'DP2'));
      });
      

      25.4.2025, 07:47:28.364 [info ]: javascript.0 (1742) script.js.01_allgemein.bly_allg_Sync_ioB_CCU3: getState(id=0_userdata.0.Variablen.allgemein.json_Sync_CCU3, timerId=undefined) =>
      {"val":"[\r\n {\r\n \"Kategorie\": \"Beschattung\",\r\n
      \"DP1\": \"0_userdata.0.Variablen.Beschattung.DP_Rolladen.v_BS_Roll_Abend1\",\r\n
      \"DP2\": \"hm-rega.0.11155\"\r\n },\r\n {\r\n \"Kategorie\": \"Beschattung\",\r\n
      [gekürzt]
      \"DP1\": \"0_userdata.0.Variablen.Beschattung.DP_Rolladen.v_BS_Roll_Abend2\",\r\n
      \"DP2\": \"hm-rega.0.11156\"\r\n },\r\n {\r\n \"Kategorie\": \"Beschattung\",\r\n
      [gekürzt]
      \"DP1\": \"daswetter.0.NextHours.Location_1.Day_1.current.symbol_desc\",\r\n
      \"DP2\": \"hm-rega.0.11161\"\r\n },\r\n {\r\n \"Kategorie\": \"Klima\",\r\n
      \"DP1\": \"daswetter.0.NextHours.Location_1.Day_1.current.symbol_desc2\",\r\n
      \"DP2\": \"hm-rega.0.11162\"\r\n }\r\n]",
      "ack":false,"ts":1745471337974,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1745471337974}
      25.4.2025, 07:47:28.365 [info ]: javascript.0 (1742) script.js.01_allgemein.bly_allg_Sync_ioB_CCU3: hm-rega.0.11152
      25.4.2025, 07:47:28.378 [info ]: javascript.0 (1742) script.js.01_allgemein.bly_allg_Sync_ioB_CCU3:
      getState(id=0_userdata.0.Variablen.allgemein.json_Sync_CCU3, timerId=undefined) =>
      {"val":"[\r\n {\r\n \"Kategorie\": \"Beschattung\",\r\n
      \"DP1\": \"0_userdata.0.Variablen.Beschattung.DP_Rolladen.v_BS_Roll_Abend1\",\r\n
      \"DP2\": \"hm-rega.0.11155\"\r\n },\r\n {\r\n \"Kategorie\": \"Beschattung\",\r\n
      [gekürzt]
      \"DP1\": \"0_userdata.0.Variablen.Beschattung.DP_Rolladen.v_BS_Roll_Abend2\",\r\n
      \"DP2\": \"hm-rega.0.11156\"\r\n },\r\n {\r\n \"Kategorie\": \"Beschattung\",\r\n
      [gekürzt]
      \"DP1\": \"daswetter.0.NextHours.Location_1.Day_1.current.symbol_desc\",\r\n
      \"DP2\": \"hm-rega.0.11161\"\r\n },\r\n {\r\n \"Kategorie\": \"Klima\",\r\n
      \"DP1\": \"daswetter.0.NextHours.Location_1.Day_1.current.symbol_desc2\",\r\n
      \"DP2\": \"hm-rega.0.11162\"\r\n }\r \n]",
      "ack":false,"ts":1745471337974,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1745471337974}
      25.4.2025, 07:47:28.380 [error]: javascript.0 (1742) script.js.01_allgemein.bly_allg_Sync_ioB_CCU3: Cannot get DP2 of "undefined": TypeError: Cannot read properties of undefined (reading 'DP2')
      25.4.2025, 07:47:28.380 [info ]: javascript.0 (1742) script.js.01_allgemein.bly_allg_Sync_ioB_CCU3: null
      

      {
         "Kategorie": "Beschattung",
         "DP1": "followthesun.0.current.azimuth",
         "DP2": "hm-rega.0.11152"
       },
      

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

      Support us

      ioBroker
      Community Adapters
      Donate

      912
      Online

      31.7k
      Users

      79.7k
      Topics

      1.3m
      Posts

      1
      1
      64
      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