Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Javascript Adapter - Blockly Befehle

    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

    Javascript Adapter - Blockly Befehle

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

      Hallo,

      ich habe noch zwei Fragen zum Javascript-Adapter und im speziellen zu Blockly. Wirklich ein tolles Tool zum Erstellen von kleinen Scripten. Nur zwei Funktionen kriege ich nicht wirklich umgesetzt. Hab dazu leider auch nichts in der Doku gefunden. Vielleicht gehts ja auch gar nicht, will trotzdem mal nachfragen:

      1. Kann man über Blockly Arrays (also mehrdimensionale Variablen) definieren und damit umgehen? Ich stelle mir ein Array (z.B. "array(5)") vor, welches man dann z.B. in einer for/next-Schleife mit Daten füllen kann.

      2. Kann man aus einem script heraus ein anderes Script starten? ALso nicht auf aktiv oder inaktiv setzten sondern tatsächlich ausführen. In reiner Programmiersprache wäre der Befehl dazu glaube ich "runScript('scriptname')". In Blockly finde ich sowas irgendwie nicht…

      Vielen Dank für jede Hilfe!

      Beste Grüße!

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        @nathan1312:

        1. Kann man über Blockly Arrays (also mehrdimensionale Variablen) definieren und damit umgehen? `
          Arrays nennen sich in Blockly Listen.@nathan1312:
        1. Kann man aus einem script heraus ein anderes Script starten? ALso nicht auf aktiv oder inaktiv setzten sondern tatsächlich ausführen. `
          Nein.
        1 Reply Last reply Reply Quote 0
        • N
          nathan1312 last edited by

          > Arrays nennen sich in Blockly Listen.
          Ah, ok! Ich hatte auch schon in die Richtung gedacht. Aber irgendwie war ich mir über die Umsetzung nicht ganz im Klaren. Werde ich dann nochmal ausprobieren. Danke!

          ` > nathan1312 hat geschrieben:

          1. Kann man aus einem script heraus ein anderes Script starten? ALso nicht auf aktiv oder inaktiv setzten sondern tatsächlich ausführen.

          Nein. `
          Kurz und schmerzlos. :lol:

          Dann bleibt also nur das Script in Blockly anzulegen und danach in der Code-Ansicht manuell zu modifizieren…?

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @nathan1312:

            Dann bleibt also nur das Script in Blockly anzulegen und danach in der Code-Ansicht manuell zu modifizieren…? `
            Ich kann nicht nachvollziehen, was Du erreichen willst (Beispiel ?).

            1 Reply Last reply Reply Quote 0
            • N
              nathan1312 last edited by

              OK, ein Beispiel…

              Ich habe zwei Scripte, beide recht komplex.

              Nun möchte ich nachträglich erreichen, dass das zweite Script bei einer Bedingung ausgeführt wird, die durch das erste Script "errechnet" wird.

              Gibt verschiedene Möglichkeiten:

              1. Das komplette zweite Script an das erste ranhängen. --> Finde ich doof, da das Ganze dann sehr kompliziert wird. Außerdem habe ich noch Trigger für das zweite Script definiert, die mit dem ersten nichts zu tun haben.

              2. Eine "Hilfsvariable" einführen, die vom ersten Script geschaltet wird und das zweite Script triggert. --> Möglich, aber keine sehr elegante Lösung.

              3. Das zweite Script durch einen Befehl im ersten Script direkt ausführen lassen. --> Dies wäre meine favorisierte Wahl gewesen. Wenn's denn funktionieren würde. 😉

              Vielleicht gibt's ja noch eine weitere Möglichkeit, die mir noch nicht eingefallen ist.

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                Was spricht gegen 2) "Hilfs-Datenpunkt" ? Darin könnstest Du zusätzlich noch einen Wert vom 1. an das 2. Skript übergeben, falls sinnvoll.

                1 Reply Last reply Reply Quote 0
                • N
                  nathan1312 last edited by

                  Ich finde hilfedatenpunkte sind immer auch eine gewisse Fehlerquelle. Wenn die mal aus irgendeinem Grund im falschen Zustand sind (Neustart, etc.) dann kommts zu Fehlfunktionen. Und dann geht das Gesuche los.

                  Aber anscheinend gibt's keine andere Möglichkeit.

                  Danke für die Hilfe!

                  Gesendet von meinem SGP511 mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @nathan1312:

                    > Arrays nennen sich in Blockly Listen.
                    Ah, ok! Ich hatte auch schon in die Richtung gedacht. Aber irgendwie war ich mir über die Umsetzung nicht ganz im Klaren. Werde ich dann nochmal ausprobieren. Danke!

                    ` > nathan1312 hat geschrieben:

                    1. Kann man aus einem script heraus ein anderes Script starten? ALso nicht auf aktiv oder inaktiv setzten sondern tatsächlich ausführen.

                    Nein. `
                    Kurz und schmerzlos. :lol:

                    Dann bleibt also nur das Script in Blockly anzulegen und danach in der Code-Ansicht manuell zu modifizieren…? `
                    Du kannst die variable "javascript.0.scriptEnabled.SkriptName" auf true setzen und Skript wird neu gestartet.

                    1 Reply Last reply Reply Quote 0
                    • N
                      nathan1312 last edited by

                      > Du kannst die variable "javascript.0.scriptEnabled.SkriptName" auf true setzen und Skript wird neu gestartet.

                      Wenn ich im Script selber aber noch Trigger definiert habe, wird dieses aber doch dann nicht ausgeführt, oder?

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        @nathan1312:

                        Wenn ich im Script selber aber noch Trigger definiert habe, wird dieses aber doch dann nicht ausgeführt, oder? `
                        Doch, aber erst dann, wenn die Triggerbedingung (Zeitpunkt, Wertänderung, …) erfüllt ist. Bei einem angenommenen "runScript('scriptname')" wäre es genauso.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by

                          Korrektur: Die Funktion https://github.com/ioBroker/ioBroker.javascript/blob/master/README.md#runscript stellt der Javascript-Adapter zur Verfügung (noch nicht allzu lange, weshalb ich der Meinung war, dass es nicht geht). Allerdings bleibt die Tatsache, dass Triggerbedingungen erst erfüllt sein müssen, um zugehörige Funktionen auszuführen.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          817
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          2570
                          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