Navigation

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

    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

    Unterroutine

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

      Hallo,

      mein System ist aufgebaut über CCU2 und verschiedene Schaltaktoren.
      Sicherlich ist das Problem bekannt, dass das System zu Funkstörungen neigen kann (bei mir speziell Rollosteuerungsaktoren).

      Um diese Funkstörungen abzufangen möchte ich eine Routine über Unterprogramm und Blockly schreiben.

      Fahre Rollo auf oder ab unter Bedingung XYZ
      Fahre Rollo ab
      Wenn Fehlermeldung im Objekt vorhanden:
      dann übergebe an Unterprogramm
      End

      Das Unterprogramm soll dann den Befehl nochmals nach Zeit X erneut ausführen.

      Dieses Unterprogramm soll aus unterschiedlichen Programmen aufrufbar sein.

      Mir ist leider nicht bekannt, wo das Programm stehen soll (in der Struktur) und wie es aus einem Blockly - Programm aufgerufen wird. Anforderung soll in ein Array geschrieben werden.

      Besten Dank
      Gruß Axel

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

        @AFi sagte in Unterroutine:

        Dieses Unterprogramm soll aus unterschiedlichen Programmen aufrufbar sein.
        Mir ist leider nicht bekannt, wo das Programm stehen soll

        Häufig verwendete Funktionen kann man in Skripte unter der Gruppe global erstellen. Globale Skripte werden automatisch in alle andere (nicht globale) Skripte kopiert. Die Funktionen können also in jedem nicht globalen Skript aufgerufen werden, aber nicht in Blockly. In Blockly können nur Funktionen, die innerhalb des Skriptes erstellt wurden, aufgerufen werden. Behelfen kann man sich in Blockly mit dem Block Javascript-Funktion oder JS-Funktion mit Ergebnis.

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

          Hallo Paul (hoffe dies stimmt),

          erst mal vielen Dank für die Antwort.

          Verstehe ich dies richtig, ich erstelle unter "Global" ein Programm z.B. mit dem Namen "Befehlswiederholung" und rufe dies in meinen Hauptprogrammen z.B. "RolloAb" auf.

          Wie muss der Block (Javascript bzw. JS-Funktion) aussehen in Blockly.

          Ich bin schon froh, dass ich alles was ich wollte mit Blockly geschafft haben.

          Herzlichen Dank.

          Gruß Axel

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

            @AFi sagte:

            Wie muss der Block (Javascript bzw. JS-Funktion) aussehen in Blockly.

            Das hängt davon ab, wieviele Parameter an die Funktion Befehlswiederholung(par1, par2, ...) übergeben werden müssen. Wie soll die Funktion Befehlswiederholung aussehen ?

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

              Hi,

              ich stelle mir dies so vor:

              Hauptprogramm stellt fest das entsprechende Variable im Objekt (Schalter Rollo) auf Störung steht, "true", Programm soll dieses Objekt in einer Variable an Unterprogramm übergeben.

              Im Unterprogramm wird diese Variable in ein Array übergeben, dieser wird alle x Minuten durchgeschaut, ob noch ein Inhalt enthalten ist, wird eine Variable gefunden, so wird der Befehl nochmals ausgeführt. Konnte der Befehl ausgeführt werden, ohne Fehlerrückmeldung, wird der Eintrag im Array gelöscht ansonsten wird die Prozedure für x mal wiederholt (irgend wann macht es ja keinen Sinn mehr).

              Nachts um 12 Uhr wird der Array spätestens entleert.

              Ergo, wird eigentlich nur ein Parameter übergeben, das Objekt in einer Variable.

              Gruß Axel

              paul53 2 Replies Last reply Reply Quote 0
              • paul53
                paul53 @AFi last edited by

                @AFi sagte in:

                Hauptprogramm stellt fest das entsprechende Variable im Objekt (Schalter Rollo) auf Störung steht, "true",

                Wie stellt man das fest ?

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

                  @AFi sagte:

                  Ergo, wird eigentlich nur ein Parameter übergeben, das Objekt in einer Variable.

                  Man benötigt mind. 2 Parameter: ID und zu sendender Wert.

                  Blockly_jsFunktion_id_val.JPG

                  Blockly_globale_Funktion.JPG

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

                    Hi,

                    folgender Aufbau, Hauptprogramm unter common (fehlt eigentlich noch global?, find ich grad nicht):

                    rolloab.JPG

                    Exportdatei des Haupprogramms:

                    new 4.txt

                    In dieser Datei werde ich eine der Variablen auswerten und an Unterprogramm übergeben:

                    • mögliche Fehlervariabeln
                      Alarm.JPG
                    • oder Öffnungsstand Rolle, Level:
                      Stand.JPG

                    Eigentlich muss ich nur den Variablentyp/-name übergeben.

                    Wie muss den das Verzeichnis javascript.0 mit Global?

                    Vielen Dank

                    Gruß Axel

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    395
                    Online

                    31.9k
                    Users

                    80.3k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    716
                    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