Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JScript-Editor in Blockly zickt rum

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

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

JScript-Editor in Blockly zickt rum

Scheduled Pinned Locked Moved Skripten / Logik
12 Posts 5 Posters 771 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • I Offline
    I Offline
    iobroker2001
    wrote on last edited by
    #1

    Guten Abend,
    ist es normal, dass man im Javascript-Editor in Blockly nicht richtig Code einfügen kann?
    Ich versuche, in Blockly eine Javascript-Funktion ("etwas tun") anzulegen. Im leeren Codeeditor füge ich dann einen ca. 30 Zeilen langen Code über Ctrl-V (Einfügen wird nicht explizit angeboten) ein. Der gelangt aber nur bruchstückhaft und viel zu kurz im Editor, s. Screenshot. Man beachte die 2 Punkte!!
    Habe ich noch irgendwo eine Einstellung für den Editor vergessen.ksnip_20230313-183204.png
    Vielen Dank für einen Tipp!

    paul53P 1 Reply Last reply
    0
    • I iobroker2001

      Guten Abend,
      ist es normal, dass man im Javascript-Editor in Blockly nicht richtig Code einfügen kann?
      Ich versuche, in Blockly eine Javascript-Funktion ("etwas tun") anzulegen. Im leeren Codeeditor füge ich dann einen ca. 30 Zeilen langen Code über Ctrl-V (Einfügen wird nicht explizit angeboten) ein. Der gelangt aber nur bruchstückhaft und viel zu kurz im Editor, s. Screenshot. Man beachte die 2 Punkte!!
      Habe ich noch irgendwo eine Einstellung für den Editor vergessen.ksnip_20230313-183204.png
      Vielen Dank für einen Tipp!

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @iobroker2001
      Die Javascript-Funktion erstellt Blockly. In das Editor-Fenster (3 Punkte) der Funktion gehört nur der Inhalt der Funktion. Oder hast Du versucht, die Javascript-Ansicht des Blockly zu editieren? Das geht nicht: Es ist eine reine Anzeige.

      Blockly_temp.JPG

      Hier kann man mit Ctrl-V einfügen:

      Blockly_temp.JPG

      Funktioniert bei mir problemlos (auch viele Zeilen). Ist vielleicht der Quelltext schon versaut?

      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

      CodierknechtC G I 3 Replies Last reply
      1
      • paul53P paul53

        @iobroker2001
        Die Javascript-Funktion erstellt Blockly. In das Editor-Fenster (3 Punkte) der Funktion gehört nur der Inhalt der Funktion. Oder hast Du versucht, die Javascript-Ansicht des Blockly zu editieren? Das geht nicht: Es ist eine reine Anzeige.

        Blockly_temp.JPG

        Hier kann man mit Ctrl-V einfügen:

        Blockly_temp.JPG

        Funktioniert bei mir problemlos (auch viele Zeilen). Ist vielleicht der Quelltext schon versaut?

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        wrote on last edited by
        #3

        @paul53 sagte in JScript-Editor in Blockly zickt rum:

        Ist vielleicht der Quelltext schon versaut?

        Da stellt sich für mich auch die Frage: Wo kommt der Quellcode her?

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        1 Reply Last reply
        0
        • paul53P paul53

          @iobroker2001
          Die Javascript-Funktion erstellt Blockly. In das Editor-Fenster (3 Punkte) der Funktion gehört nur der Inhalt der Funktion. Oder hast Du versucht, die Javascript-Ansicht des Blockly zu editieren? Das geht nicht: Es ist eine reine Anzeige.

          Blockly_temp.JPG

          Hier kann man mit Ctrl-V einfügen:

          Blockly_temp.JPG

          Funktioniert bei mir problemlos (auch viele Zeilen). Ist vielleicht der Quelltext schon versaut?

          G Offline
          G Offline
          GombersIOB
          wrote on last edited by
          #4

          @paul53 said in JScript-Editor in Blockly zickt rum:

          Ist vielleicht der Quelltext schon versaut?

          Offensichtlich. Die meisten Zeilen kann man ja nicht vollständig sehen. Aber in der dritten Zeile wird deutlich, dass die Hochkommas nicht paarweise gesetzt sind. Wer weiß, was da sonst noch schief ist.

          38f37c64-f9e8-445d-85ca-126a32d59e08-grafik.png

          CodierknechtC 1 Reply Last reply
          0
          • G GombersIOB

            @paul53 said in JScript-Editor in Blockly zickt rum:

            Ist vielleicht der Quelltext schon versaut?

            Offensichtlich. Die meisten Zeilen kann man ja nicht vollständig sehen. Aber in der dritten Zeile wird deutlich, dass die Hochkommas nicht paarweise gesetzt sind. Wer weiß, was da sonst noch schief ist.

            38f37c64-f9e8-445d-85ca-126a32d59e08-grafik.png

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            wrote on last edited by Codierknecht
            #5

            @gombersiob
            Wo kommt der denn her?
            .Schattieru...: sieht schon sehr schräg aus. Da stimmt sicher noch 'ne ganze Menge mehr nicht.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Reply Last reply
            0
            • paul53P paul53

              @iobroker2001
              Die Javascript-Funktion erstellt Blockly. In das Editor-Fenster (3 Punkte) der Funktion gehört nur der Inhalt der Funktion. Oder hast Du versucht, die Javascript-Ansicht des Blockly zu editieren? Das geht nicht: Es ist eine reine Anzeige.

              Blockly_temp.JPG

              Hier kann man mit Ctrl-V einfügen:

              Blockly_temp.JPG

              Funktioniert bei mir problemlos (auch viele Zeilen). Ist vielleicht der Quelltext schon versaut?

              I Offline
              I Offline
              iobroker2001
              wrote on last edited by iobroker2001
              #6

              Zunächst einmal danke für Eure Antworten!
              Es ist mir peinlich, ich habe mich geirrt, der Fehler tritt nicht beim Einfügen, sondern beim Herauskopieren auf, sorry für die Verwirrung!

              Meine Vorgehensweise:
              Ich befinde mich im Blockly-Editor und erzeuge eine Funktion namens "Kreiere Datenpunkte".

              Genau in diesen Funktions-Editor (über die 3 Punkte) füge ich diesen Text per Ctrl-V ein:
              (Das sollte reines ASCII sein ;-) .)

                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerSchattierungAktiv', true, {name: "SchlafzimmerSchattierungAktiv", type: "boolean", role: "state"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerAktiv', true, {name: "SchlafzimmerAktiv", type: "boolean", role: "state"        });
              
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.Istwerte.SchattenzahlSchlafzimmerRolladen', 0, {name: "SchattenzahlSchlafzimmerRolladen", type: "number", role: "state"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthEndeSchlafzimmer', 0, {name: "AzimuthEndeSchlafzimmer", type: "number", role: "state", unit: "°"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthStartSchlafzimmer', 0, {name: "AzimuthStartSchlafzimmer", type: "number", role: "state", unit: "°"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.HelligkeitHiSchlafzimmer', 0, {name: "HelligkeitHiSchlafzimmer", type: "number", role: "state", unit: "klux"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.HelligkeitLoSchlafzimmer', 0, {name: "HelligkeitLoSchlafzimmer", type: "number", role: "state", unit: "klux"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.TempAußenMinMarkiseSchlafzimmer', 15, {name: "TempAußenMinMarkiseSchlafzimmer", type: "number", role: "state", unit: "°C"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.TempInnenMinMarkiseSchlafzimmer', 15, {name: "TempInnenMinMarkiseSchlafzimmer", type: "number", role: "state", unit: "°C"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.WartezeitSchlafzimmerRolladen', 1800000, {name: "WartezeitSchlafzimmerRolladen", type: "number", role: "state", unit: "ms"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.WartezeitNachManuellMarkiseSchlafzimmer', 3600000, {name: "WartezeitNachManuellMarkiseSchlafzimmer", type: "number", role: "state", unit: "ms"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Status.StatusMarkiseSchlafzimmer', 0, {name: "StatusMarkiseSchlafzimmer", type: "string", role: "state"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.PosSchattierungMarkiseSchlafzimmer', 20, {name: "PosSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.ZeitStartSchattierungMarkiseSchlafzimmer', '09:00', {name: "ZeitStartSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
              
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.ZeitEndeSchattierungMarkiseSchlafzimmer', '18:00', {name: "ZeitEndeSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
              
              

              Das funktioniert, mit dem kleinen Schönheitsfehler, dass jede folgende Zeile um einen Tab eingerückt ist, s. Bild.
              blockly eingerückt.png

              Kann man mit "Dokument formatieren" beheben. So weit, so gut! Ausführen der Funktion klappt ebenfalls.
              Versuche ich jetzt aber, den soeben eingefügten Text komplett zu markieren und mit "Kopieren" herauszuholen, erhalte ich folgenden Text im Tastaturpuffer:

              createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerSchattierungAktiv', true, { name: "SchlafzimmerSchattierungAktiv", type: "boolean", role: "state" });
              
              createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerAktiv', true, { name: "SchlafzimmerAktiv", type: "boolean", role: "state" });
              
              
              createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.Istwerte.SchattenzahlSchlafzimmerRolladen', 0, { name: "SchattenzahlSchlafzimmerRolladen", type: "number", role: "state" });
              
              createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthEndeSchlafzimmer', 0, { name: "AzimuthEndeSchlafzimmer", type: "number", role: "state", unit: "°" });
              
              createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthStartSchlafzimmer', 0, { name: "AzimuthStartSchlafzimmer", type: "number", role: "state", unit: "°" });
              …
              

              Man beachte: Text fehlt, und es erscheinen "..." 3 Punkte im Text für eine Textauslassung.
              Das passiert mit jedem Text, der etwas mehr als ein paar Zeilen hat!!

              CodierknechtC G 2 Replies Last reply
              0
              • I iobroker2001

                Zunächst einmal danke für Eure Antworten!
                Es ist mir peinlich, ich habe mich geirrt, der Fehler tritt nicht beim Einfügen, sondern beim Herauskopieren auf, sorry für die Verwirrung!

                Meine Vorgehensweise:
                Ich befinde mich im Blockly-Editor und erzeuge eine Funktion namens "Kreiere Datenpunkte".

                Genau in diesen Funktions-Editor (über die 3 Punkte) füge ich diesen Text per Ctrl-V ein:
                (Das sollte reines ASCII sein ;-) .)

                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerSchattierungAktiv', true, {name: "SchlafzimmerSchattierungAktiv", type: "boolean", role: "state"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerAktiv', true, {name: "SchlafzimmerAktiv", type: "boolean", role: "state"        });
                
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.Istwerte.SchattenzahlSchlafzimmerRolladen', 0, {name: "SchattenzahlSchlafzimmerRolladen", type: "number", role: "state"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthEndeSchlafzimmer', 0, {name: "AzimuthEndeSchlafzimmer", type: "number", role: "state", unit: "°"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthStartSchlafzimmer', 0, {name: "AzimuthStartSchlafzimmer", type: "number", role: "state", unit: "°"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.HelligkeitHiSchlafzimmer', 0, {name: "HelligkeitHiSchlafzimmer", type: "number", role: "state", unit: "klux"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.HelligkeitLoSchlafzimmer', 0, {name: "HelligkeitLoSchlafzimmer", type: "number", role: "state", unit: "klux"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.TempAußenMinMarkiseSchlafzimmer', 15, {name: "TempAußenMinMarkiseSchlafzimmer", type: "number", role: "state", unit: "°C"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.TempInnenMinMarkiseSchlafzimmer', 15, {name: "TempInnenMinMarkiseSchlafzimmer", type: "number", role: "state", unit: "°C"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.WartezeitSchlafzimmerRolladen', 1800000, {name: "WartezeitSchlafzimmerRolladen", type: "number", role: "state", unit: "ms"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.WartezeitNachManuellMarkiseSchlafzimmer', 3600000, {name: "WartezeitNachManuellMarkiseSchlafzimmer", type: "number", role: "state", unit: "ms"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Status.StatusMarkiseSchlafzimmer', 0, {name: "StatusMarkiseSchlafzimmer", type: "string", role: "state"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.PosSchattierungMarkiseSchlafzimmer', 20, {name: "PosSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.ZeitStartSchattierungMarkiseSchlafzimmer', '09:00', {name: "ZeitStartSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
                
                    createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.ZeitEndeSchattierungMarkiseSchlafzimmer', '18:00', {name: "ZeitEndeSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
                
                

                Das funktioniert, mit dem kleinen Schönheitsfehler, dass jede folgende Zeile um einen Tab eingerückt ist, s. Bild.
                blockly eingerückt.png

                Kann man mit "Dokument formatieren" beheben. So weit, so gut! Ausführen der Funktion klappt ebenfalls.
                Versuche ich jetzt aber, den soeben eingefügten Text komplett zu markieren und mit "Kopieren" herauszuholen, erhalte ich folgenden Text im Tastaturpuffer:

                createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerSchattierungAktiv', true, { name: "SchlafzimmerSchattierungAktiv", type: "boolean", role: "state" });
                
                createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerAktiv', true, { name: "SchlafzimmerAktiv", type: "boolean", role: "state" });
                
                
                createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.Istwerte.SchattenzahlSchlafzimmerRolladen', 0, { name: "SchattenzahlSchlafzimmerRolladen", type: "number", role: "state" });
                
                createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthEndeSchlafzimmer', 0, { name: "AzimuthEndeSchlafzimmer", type: "number", role: "state", unit: "°" });
                
                createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthStartSchlafzimmer', 0, { name: "AzimuthStartSchlafzimmer", type: "number", role: "state", unit: "°" });
                …
                

                Man beachte: Text fehlt, und es erscheinen "..." 3 Punkte im Text für eine Textauslassung.
                Das passiert mit jedem Text, der etwas mehr als ein paar Zeilen hat!!

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                wrote on last edited by
                #7

                @iobroker2001 sagte in JScript-Editor in Blockly zickt rum:

                "Dokument formatieren"

                Das ist eine Funktion des Browsers - darauf würde ich mich nicht verlassen.
                Ich würde für das Formatieren einen Editor mit Syntaxhervorhebung verwenden. Z.B. PsPad, VSCode, o.ä.
                Dort kann man den Code dann in die gewünschte Form bringen und von dort aus in den JS-Editor bringen.

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                1 Reply Last reply
                1
                • I iobroker2001

                  Zunächst einmal danke für Eure Antworten!
                  Es ist mir peinlich, ich habe mich geirrt, der Fehler tritt nicht beim Einfügen, sondern beim Herauskopieren auf, sorry für die Verwirrung!

                  Meine Vorgehensweise:
                  Ich befinde mich im Blockly-Editor und erzeuge eine Funktion namens "Kreiere Datenpunkte".

                  Genau in diesen Funktions-Editor (über die 3 Punkte) füge ich diesen Text per Ctrl-V ein:
                  (Das sollte reines ASCII sein ;-) .)

                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerSchattierungAktiv', true, {name: "SchlafzimmerSchattierungAktiv", type: "boolean", role: "state"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerAktiv', true, {name: "SchlafzimmerAktiv", type: "boolean", role: "state"        });
                  
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.Istwerte.SchattenzahlSchlafzimmerRolladen', 0, {name: "SchattenzahlSchlafzimmerRolladen", type: "number", role: "state"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthEndeSchlafzimmer', 0, {name: "AzimuthEndeSchlafzimmer", type: "number", role: "state", unit: "°"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthStartSchlafzimmer', 0, {name: "AzimuthStartSchlafzimmer", type: "number", role: "state", unit: "°"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.HelligkeitHiSchlafzimmer', 0, {name: "HelligkeitHiSchlafzimmer", type: "number", role: "state", unit: "klux"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.HelligkeitLoSchlafzimmer', 0, {name: "HelligkeitLoSchlafzimmer", type: "number", role: "state", unit: "klux"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.TempAußenMinMarkiseSchlafzimmer', 15, {name: "TempAußenMinMarkiseSchlafzimmer", type: "number", role: "state", unit: "°C"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.TempInnenMinMarkiseSchlafzimmer', 15, {name: "TempInnenMinMarkiseSchlafzimmer", type: "number", role: "state", unit: "°C"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.WartezeitSchlafzimmerRolladen', 1800000, {name: "WartezeitSchlafzimmerRolladen", type: "number", role: "state", unit: "ms"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.WartezeitNachManuellMarkiseSchlafzimmer', 3600000, {name: "WartezeitNachManuellMarkiseSchlafzimmer", type: "number", role: "state", unit: "ms"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Status.StatusMarkiseSchlafzimmer', 0, {name: "StatusMarkiseSchlafzimmer", type: "string", role: "state"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.PosSchattierungMarkiseSchlafzimmer', 20, {name: "PosSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.ZeitStartSchattierungMarkiseSchlafzimmer', '09:00', {name: "ZeitStartSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
                  
                      createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.ZeitEndeSchattierungMarkiseSchlafzimmer', '18:00', {name: "ZeitEndeSchattierungMarkiseSchlafzimmer", type: "string", role: "state"        });
                  
                  

                  Das funktioniert, mit dem kleinen Schönheitsfehler, dass jede folgende Zeile um einen Tab eingerückt ist, s. Bild.
                  blockly eingerückt.png

                  Kann man mit "Dokument formatieren" beheben. So weit, so gut! Ausführen der Funktion klappt ebenfalls.
                  Versuche ich jetzt aber, den soeben eingefügten Text komplett zu markieren und mit "Kopieren" herauszuholen, erhalte ich folgenden Text im Tastaturpuffer:

                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerSchattierungAktiv', true, { name: "SchlafzimmerSchattierungAktiv", type: "boolean", role: "state" });
                  
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.SchlafzimmerAktiv', true, { name: "SchlafzimmerAktiv", type: "boolean", role: "state" });
                  
                  
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.Istwerte.SchattenzahlSchlafzimmerRolladen', 0, { name: "SchattenzahlSchlafzimmerRolladen", type: "number", role: "state" });
                  
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthEndeSchlafzimmer', 0, { name: "AzimuthEndeSchlafzimmer", type: "number", role: "state", unit: "°" });
                  
                  createState('0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.AzimuthStartSchlafzimmer', 0, { name: "AzimuthStartSchlafzimmer", type: "number", role: "state", unit: "°" });
                  …
                  

                  Man beachte: Text fehlt, und es erscheinen "..." 3 Punkte im Text für eine Textauslassung.
                  Das passiert mit jedem Text, der etwas mehr als ein paar Zeilen hat!!

                  G Offline
                  G Offline
                  GombersIOB
                  wrote on last edited by GombersIOB
                  #8

                  @iobroker2001

                  Ich befinde mich im Blockly-Editor und erzeuge eine Funktion namens "Kreiere Datenpunkte".

                  Ich würde es, einfach der Übersicht halber, auch anders schreiben. Ich finde es schwierig wenn die Zeilen zu lang werden.

                  var pathAktivschalter="0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.";
                  var pathSchattierung="0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.";
                  createState(pathAktivschalter+'SchlafzimmerSchattierungAktiv', true, {
                  
                  	name: "SchlafzimmerSchattierungAktiv",
                  	type: "boolean",
                  	role: "state"
                  });
                  createState(pathAktivschalter+'SchlafzimmerAktiv', true, {
                  
                  	name: "SchlafzimmerAktiv",
                  	type: "boolean",
                  	role: "state"
                  });
                  createState(pathSchattierung+'Istwerte.SchattenzahlSchlafzimmerRolladen', 0, {
                  
                  	name: "Istwerte.SchattenzahlSchlafzimmerRolladen",
                  	type: "number",
                  	role: "state"
                  });
                  createState(pathSchattierung+'AzimuthEndeSchlafzimmer', 0, {
                  
                  	name: "AzimuthEndeSchlafzimmer",
                  	type: "number",
                  	role: "state",
                  	unit: "°"
                  });
                  createState(pathSchattierung+'AzimuthStartSchlafzimmer', 0, {
                  
                  	name: "AzimuthStartSchlafzimmer",
                  	type: "number",
                  	role: "state",
                  	unit: "°"
                  });
                  
                  I 1 Reply Last reply
                  1
                  • G GombersIOB

                    @iobroker2001

                    Ich befinde mich im Blockly-Editor und erzeuge eine Funktion namens "Kreiere Datenpunkte".

                    Ich würde es, einfach der Übersicht halber, auch anders schreiben. Ich finde es schwierig wenn die Zeilen zu lang werden.

                    var pathAktivschalter="0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Aktivschalter.";
                    var pathSchattierung="0_userdata.0.friedhelm.Rolladensteuerung.Einstellungen.Schattierung.";
                    createState(pathAktivschalter+'SchlafzimmerSchattierungAktiv', true, {
                    
                    	name: "SchlafzimmerSchattierungAktiv",
                    	type: "boolean",
                    	role: "state"
                    });
                    createState(pathAktivschalter+'SchlafzimmerAktiv', true, {
                    
                    	name: "SchlafzimmerAktiv",
                    	type: "boolean",
                    	role: "state"
                    });
                    createState(pathSchattierung+'Istwerte.SchattenzahlSchlafzimmerRolladen', 0, {
                    
                    	name: "Istwerte.SchattenzahlSchlafzimmerRolladen",
                    	type: "number",
                    	role: "state"
                    });
                    createState(pathSchattierung+'AzimuthEndeSchlafzimmer', 0, {
                    
                    	name: "AzimuthEndeSchlafzimmer",
                    	type: "number",
                    	role: "state",
                    	unit: "°"
                    });
                    createState(pathSchattierung+'AzimuthStartSchlafzimmer', 0, {
                    
                    	name: "AzimuthStartSchlafzimmer",
                    	type: "number",
                    	role: "state",
                    	unit: "°"
                    });
                    
                    I Offline
                    I Offline
                    iobroker2001
                    wrote on last edited by
                    #9

                    @gombersiob
                    Ja, gute Idee, vielen Dank!

                    G 1 Reply Last reply
                    0
                    • I iobroker2001

                      @gombersiob
                      Ja, gute Idee, vielen Dank!

                      G Offline
                      G Offline
                      GombersIOB
                      wrote on last edited by
                      #10

                      @iobroker2001
                      Um die Übersicht zu behalten würde ich den Aufruf auch als Blockly machen.
                      ab5193a2-2fda-44e9-a2e2-c19623587f7d-grafik.png
                      (Hier als importierbares XML: DoCreateDatapoints.blockly)

                      Die beiden JavaScripts sehen dann nur so aus:

                      async function DoCreateNumberDatapoint(aPath, aDatapoint, aValue, aUnit) {
                          console.log("Path=" + aPath + " DataPoint=" + aDatapoint + " Value=" + aValue);
                          createState(aPath+aDatapoint, aValue, {
                          	name: aDatapoint,
                          	type: "number",
                          	role: "state",
                              unit: aUnit
                          });
                      }
                      
                      async function DoCreateBooleanDatapoint(aPath, aDatapoint, aValue) {
                          createState(aPath+aDatapoint, aValue, {
                          	name: aDatapoint,
                          	type: "boolean",
                          	role: "state"
                          });
                      }
                      

                      Wobei ich selber weniger mit Blockly arbeite. Ich finde JavaScript (besser noch TypeScript) handlicher und übersichtlicher.

                      HomoranH I 2 Replies Last reply
                      0
                      • G GombersIOB

                        @iobroker2001
                        Um die Übersicht zu behalten würde ich den Aufruf auch als Blockly machen.
                        ab5193a2-2fda-44e9-a2e2-c19623587f7d-grafik.png
                        (Hier als importierbares XML: DoCreateDatapoints.blockly)

                        Die beiden JavaScripts sehen dann nur so aus:

                        async function DoCreateNumberDatapoint(aPath, aDatapoint, aValue, aUnit) {
                            console.log("Path=" + aPath + " DataPoint=" + aDatapoint + " Value=" + aValue);
                            createState(aPath+aDatapoint, aValue, {
                            	name: aDatapoint,
                            	type: "number",
                            	role: "state",
                                unit: aUnit
                            });
                        }
                        
                        async function DoCreateBooleanDatapoint(aPath, aDatapoint, aValue) {
                            createState(aPath+aDatapoint, aValue, {
                            	name: aDatapoint,
                            	type: "boolean",
                            	role: "state"
                            });
                        }
                        

                        Wobei ich selber weniger mit Blockly arbeite. Ich finde JavaScript (besser noch TypeScript) handlicher und übersichtlicher.

                        HomoranH Offline
                        HomoranH Offline
                        Homoran
                        Global Moderator Administrators
                        wrote on last edited by
                        #11

                        @gombersiob sagte in JScript-Editor in Blockly zickt rum:

                        Ich finde JavaScript (besser noch TypeScript) handlicher und übersichtlicher.

                        Wenn man es beherrscht sicher keine Frage!

                        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 Reply Last reply
                        0
                        • G GombersIOB

                          @iobroker2001
                          Um die Übersicht zu behalten würde ich den Aufruf auch als Blockly machen.
                          ab5193a2-2fda-44e9-a2e2-c19623587f7d-grafik.png
                          (Hier als importierbares XML: DoCreateDatapoints.blockly)

                          Die beiden JavaScripts sehen dann nur so aus:

                          async function DoCreateNumberDatapoint(aPath, aDatapoint, aValue, aUnit) {
                              console.log("Path=" + aPath + " DataPoint=" + aDatapoint + " Value=" + aValue);
                              createState(aPath+aDatapoint, aValue, {
                              	name: aDatapoint,
                              	type: "number",
                              	role: "state",
                                  unit: aUnit
                              });
                          }
                          
                          async function DoCreateBooleanDatapoint(aPath, aDatapoint, aValue) {
                              createState(aPath+aDatapoint, aValue, {
                              	name: aDatapoint,
                              	type: "boolean",
                              	role: "state"
                              });
                          }
                          

                          Wobei ich selber weniger mit Blockly arbeite. Ich finde JavaScript (besser noch TypeScript) handlicher und übersichtlicher.

                          I Offline
                          I Offline
                          iobroker2001
                          wrote on last edited by
                          #12

                          @gombersiob sagte in JScript-Editor in Blockly zickt rum:

                          Wobei ich selber weniger mit Blockly arbeite. Ich finde JavaScript (besser noch TypeScript) handlicher und übersichtlicher.

                          Finde ich auch, zumindest bei den eintönigen Definitionen für Datenpunkte ist JS knapper und übersichtlicher.

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          485

                          Online

                          32.5k

                          Users

                          81.7k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe