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. JScript-Editor in Blockly zickt rum

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

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

JScript-Editor in Blockly zickt rum

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
12 Beiträge 5 Kommentatoren 771 Aufrufe 2 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.
  • I Offline
    I Offline
    iobroker2001
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #9

                    @gombersiob
                    Ja, gute Idee, vielen Dank!

                    G 1 Antwort Letzte Antwort
                    0
                    • I iobroker2001

                      @gombersiob
                      Ja, gute Idee, vielen Dank!

                      G Offline
                      G Offline
                      GombersIOB
                      schrieb am zuletzt editiert von
                      #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 Antworten Letzte Antwort
                      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 Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 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

                          329

                          Online

                          32.5k

                          Benutzer

                          81.6k

                          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