Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Blockly Skripte korrupt ("Cannot extract Blockly code!")

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Skripte korrupt ("Cannot extract Blockly code!")

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

      Hallo zusammen,

      Bei meinen Skripts erhalte ich aktuell die Fehlermeldung "Cannot extract Blockly code"

      Hier ein Beispiel-Skript, welches betroffen ist:

      /* -- do not edit following lines - START --
      {
        "expert": true,
        "engineType": "Blockly",
        "debug": false,
        "verbose": false
      }
      -- do not edit previous lines - END --*/
      var Waschmaschine_Dauerzaehler, Waschmaschine_aktiv, timeout_Waschmaschine, Dauerzaehler, timeout_WaMa_Meldung, timeout_WaMa_Dauerzaehler, WZ_HUE_E27_1_XY, WZ_HUE_E27_2_XY, WZ_HUE_E27_1_On_Off, WZ_HUE_E27_2_On_Off;
      
      
      Waschmaschine_Dauerzaehler = 0;
      Waschmaschine_aktiv = false;
      setState("0_userdata.0.Waschmaschine.Waschmaschine_laeuft"/*Waschmaschine_laeuft*/, false);
      on({id: [].concat(['sonoff.0.Tasmota10.ENERGY_Power']), change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if ((obj.state ? obj.state.val : "") >= 400 && Waschmaschine_aktiv == false) {
          setState("0_userdata.0.Waschmaschine.Waschmaschine_laeuft"/*Waschmaschine_laeuft*/, true);
          Waschmaschine_aktiv = true;
          setState("javascript.0.Energieueberwachung.Waschmaschine.Waschstart"/*Waschstart*/, getState("sonoff.0.Tasmota10.ENERGY_Total").val);
          Dauerzaehler = setInterval(async function () {
            Waschmaschine_Dauerzaehler = (typeof Waschmaschine_Dauerzaehler == 'number' ? Waschmaschine_Dauerzaehler : 0) + 1;
          }, 60000);
          (function () {if (timeout_Waschmaschine) {clearTimeout(timeout_Waschmaschine); timeout_Waschmaschine = null;}})();
          // Kommentar
        } else if ((obj.state ? obj.state.val : "") >= 2.7 && (obj.state ? obj.state.val : "") < 400) {
          (function () {if (timeout_Waschmaschine) {clearTimeout(timeout_Waschmaschine); timeout_Waschmaschine = null;}})();
        } else if ((obj.state ? obj.state.val : "") < 2.7 && Waschmaschine_aktiv == true) {
          // Kommentar
          timeout_Waschmaschine = setTimeout(async function () {
            Waschmaschine_aktiv = false;
            setState("0_userdata.0.Waschmaschine.Waschmaschine_laeuft"/*Waschmaschine_laeuft*/, false);
            (function () {if (timeout_Waschmaschine) {clearTimeout(timeout_Waschmaschine); timeout_Waschmaschine = null;}})();
            (function () {if (Dauerzaehler) {clearInterval(Dauerzaehler); Dauerzaehler = null;}})();
            setState("javascript.0.Energieueberwachung.Waschmaschine.Waschende"/*Waschende*/, getState("sonoff.0.Tasmota10.ENERGY_Total").val);
            timeout_WaMa_Meldung = setTimeout(async function () {
              if (Waschmaschine_Dauerzaehler >= 2) {
                sendTo("email", "send", {
                   text: (['Die Waschmaschine ist fertig',formatDate(new Date(), "\n"),'Dauer: ',Waschmaschine_Dauerzaehler,' Minuten',formatDate(new Date(), "\n"),'Verbrauch: ',Math.round((parseFloat(getState("javascript.0.Energieueberwachung.Waschmaschine.Waschende").val) - getState("javascript.0.Energieueberwachung.Waschmaschine.Waschstart").val)*100)/100,' kWh'].join('')),
                   to: 'xyz123@gmail.com',
                   subject: 'ioBroker: Waschmaschine ist fertig',
                   from: 'Waschmaschine'
                });
                sendTo("telegram", "send", {
                    text: (['Die Waschmaschine ist fertig',formatDate(new Date(), "\n"),'Dauer: ',Waschmaschine_Dauerzaehler,' Minuten',formatDate(new Date(), "\n"),'Verbrauch: ',Math.round((parseFloat(getState("javascript.0.Energieueberwachung.Waschmaschine.Waschende").val) - getState("javascript.0.Energieueberwachung.Waschmaschine.Waschstart").val)*100)/100,' kWh',''].join(''))
                });
                WZ_HUE_E27_1_XY = getState("deconz.0.Lights.12.xy").val;
                WZ_HUE_E27_2_XY = getState("deconz.0.Lights.13.xy").val;
                WZ_HUE_E27_1_On_Off = getState("deconz.0.Lights.12.on").val;
                WZ_HUE_E27_2_On_Off = getState("deconz.0.Lights.13.on").val;
                setStateDelayed("deconz.0.Groups.19.Scene_6.recall"/*recall*/, true, 1, false);
                setStateDelayed("deconz.0.Groups.19.Scene_5.recall"/*recall*/, true, 450, false);
                setStateDelayed("deconz.0.Groups.19.Scene_6.recall"/*recall*/, true, 900, false);
                setStateDelayed("deconz.0.Groups.19.Scene_5.recall"/*recall*/, true, 1450, false);
                setStateDelayed("deconz.0.Groups.19.Scene_6.recall"/*recall*/, true, 1900, false);
                setStateDelayed("deconz.0.Groups.19.Scene_5.recall"/*recall*/, true, 2350, false);
                setStateDelayed("deconz.0.Lights.12.xy"/*HUE-E27-WZ1 xy*/, WZ_HUE_E27_1_XY, 2800, false);
                setStateDelayed("deconz.0.Lights.13.xy"/*Hue-e27-wz2 xy*/, WZ_HUE_E27_2_XY, 2800, false);
                setStateDelayed("deconz.0.Lights.12.on"/*HUE-E27-WZ1 on*/, WZ_HUE_E27_1_On_Off, 2850, false);
                setStateDelayed("deconz.0.Lights.13.on"/*Hue-e27-wz2 on*/, WZ_HUE_E27_1_On_Off, 2850, false);
              }
            }, 5000);
            timeout_WaMa_Dauerzaehler = setTimeout(async function () {
              Waschmaschine_Dauerzaehler = 0;
            }, 10000);
          }, 180000);
        }
      });
      
      //JTNDe.........
      

      Irgendwie habe ich den Versand über SendTo in Verdacht, ein neues Blockly bietet mir nicht mehr die Möglichkeiten wie in früheren Versionen:
      sendto.JPG

      Meister Mopper 1 Reply Last reply Reply Quote 0
      • Meister Mopper
        Meister Mopper @Dan_Ce last edited by

        @dan_ce

        Ja, es müssen alle Adapter, die das Skript nutzt, installiert sein, sonst kommt es zu diesen Fehlermeldungen.

        D 2 Replies Last reply Reply Quote 0
        • D
          Dan_Ce @Meister Mopper last edited by

          @meister-mopper Das ist der Fall. Telegram allerdings in Instanz 1 anstatt 0. Die Skripte liefen aber immer einwandfrei.

          1 Reply Last reply Reply Quote 0
          • D
            Dan_Ce @Meister Mopper last edited by

            @meister-mopper
            Ich konnte das Problem lösen: Ich habe bei allen Adaptern, die ich in meinen Skripten bei SendTo verwende um eine Instanz erweitert. (Telegram, Email, Awtrix). Dann waren die SendTo-Blöcke bei neuen Skripten wieder auswählbar und in den bestehenden Skripten sind die Fehler weg. Danach konnte ich die neuen Instanzen wieder löschen und es funktioniert weiterhin.
            Ob das jetzt ein Bug der betroffenen Adapter war oder an meinem System liegt, vermag ich nicht zu sagen.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            666
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            2
            4
            196
            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