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. Off Topic
  4. eigene Funktion in Blockly

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    6
    1
    57

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

eigene Funktion in Blockly

Geplant Angeheftet Gesperrt Verschoben Off Topic
8 Beiträge 5 Kommentatoren 656 Aufrufe 5 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.
  • J Offline
    J Offline
    jan_xx
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen, hat von euch schon mal jemand eine eigene Funktion in Blockly erstellt?
    Ich möchte gerne meinen eigenen Funktionsbaustein erstellen welchen ich nur mit ein und Ausgangsvariablen parametriere und der Rest passiert dann in dem Baustein intern. Geht so etwas überhaupt?

    danke!

    Grüße

    M 1 Antwort Letzte Antwort
    0
    • J jan_xx

      Hallo zusammen, hat von euch schon mal jemand eine eigene Funktion in Blockly erstellt?
      Ich möchte gerne meinen eigenen Funktionsbaustein erstellen welchen ich nur mit ein und Ausgangsvariablen parametriere und der Rest passiert dann in dem Baustein intern. Geht so etwas überhaupt?

      danke!

      Grüße

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @jan_xx Was soll die Funktion denn machen?
      0c381d61-528c-464e-8b1b-e8a77fe53cc1-image.png

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      J 1 Antwort Letzte Antwort
      0
      • M MCU

        @jan_xx Was soll die Funktion denn machen?
        0c381d61-528c-464e-8b1b-e8a77fe53cc1-image.png

        J Offline
        J Offline
        jan_xx
        schrieb am zuletzt editiert von
        #3

        @mcu
        Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann.(Parametrierter Bausteinaufruf bei SPS z.B.) Als Eingang würde ich das Eingangsbit und die Zeiten mit übergeben und als Ausgangparameter den entsprechenden Schaltausgang bzw. Variable. Das ganze sollte dann irgendwie Global funktionieren. Anbei mal als Beispiel das Blockly was ich dann gerne als Funktion nutzen würde....
        blocklyeinaus.jpg

        paul53P CodierknechtC 2 Antworten Letzte Antwort
        0
        • J jan_xx

          @mcu
          Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann.(Parametrierter Bausteinaufruf bei SPS z.B.) Als Eingang würde ich das Eingangsbit und die Zeiten mit übergeben und als Ausgangparameter den entsprechenden Schaltausgang bzw. Variable. Das ganze sollte dann irgendwie Global funktionieren. Anbei mal als Beispiel das Blockly was ich dann gerne als Funktion nutzen würde....
          blocklyeinaus.jpg

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @jan_xx sagte: die Zeiten mit übergeben

          Mit Timern funktioniert eine globale Blockly-Funktion nicht, da jeder aufrufende Prozess seine eigenen Timer benötigt.

          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

          J 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @jan_xx sagte: die Zeiten mit übergeben

            Mit Timern funktioniert eine globale Blockly-Funktion nicht, da jeder aufrufende Prozess seine eigenen Timer benötigt.

            J Offline
            J Offline
            jan_xx
            schrieb am zuletzt editiert von jan_xx
            #5

            @paul53
            okay gibt es hier vielleicht eine andere Lösung?

            Ist es nicht irgendwie möglich den Zeitwert als Variable an den timeout zu übergeben?

            1 Antwort Letzte Antwort
            0
            • J jan_xx

              @mcu
              Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann.(Parametrierter Bausteinaufruf bei SPS z.B.) Als Eingang würde ich das Eingangsbit und die Zeiten mit übergeben und als Ausgangparameter den entsprechenden Schaltausgang bzw. Variable. Das ganze sollte dann irgendwie Global funktionieren. Anbei mal als Beispiel das Blockly was ich dann gerne als Funktion nutzen würde....
              blocklyeinaus.jpg

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von
              #6

              @jan_xx sagte in eigene Funktion in Blockly:

              Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann

              Dazu muss man sich mal vergegenwärtigen, wie globale Funktionen funktionieren:
              Beim Start eines "normalen" (nicht globalen) Script wird der JS-Code sämtlicher globaler Scripte an den Anfang des zu startenden Script kopiert.

              Wenn man jetzt noch in Betracht zieht, dass:

              @paul53 sagte in eigene Funktion in Blockly:

              jeder aufrufende Prozess seine eigenen Timer benötigt

              ... wird schnell klar: Das wird ein nahezu aussichtloses Unterfangen.
              Beim Einsatz globaler Funktionen muss man eh schon höllisch aufpassen, was man da tut. Da noch mit Timeouts hantieren zu wollen, endet schnell in der Hölle.

              Ich will nicht ganz ausschließen, dass das technisch irgendwie zu lösen wäre.
              Aber Aufwand und Nutzen stehen dann wohl kaum in einem sinnvollen Verhältnis.
              Vielleicht können die Spezialisten ein paar Details zur technischen Möglichkeit liefern.

              "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

              AsgothianA 1 Antwort Letzte Antwort
              0
              • CodierknechtC Codierknecht

                @jan_xx sagte in eigene Funktion in Blockly:

                Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann

                Dazu muss man sich mal vergegenwärtigen, wie globale Funktionen funktionieren:
                Beim Start eines "normalen" (nicht globalen) Script wird der JS-Code sämtlicher globaler Scripte an den Anfang des zu startenden Script kopiert.

                Wenn man jetzt noch in Betracht zieht, dass:

                @paul53 sagte in eigene Funktion in Blockly:

                jeder aufrufende Prozess seine eigenen Timer benötigt

                ... wird schnell klar: Das wird ein nahezu aussichtloses Unterfangen.
                Beim Einsatz globaler Funktionen muss man eh schon höllisch aufpassen, was man da tut. Da noch mit Timeouts hantieren zu wollen, endet schnell in der Hölle.

                Ich will nicht ganz ausschließen, dass das technisch irgendwie zu lösen wäre.
                Aber Aufwand und Nutzen stehen dann wohl kaum in einem sinnvollen Verhältnis.
                Vielleicht können die Spezialisten ein paar Details zur technischen Möglichkeit liefern.

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                schrieb am zuletzt editiert von Asgothian
                #7

                @codierknecht sagte in eigene Funktion in Blockly:

                @jan_xx sagte in eigene Funktion in Blockly:

                Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann

                Dazu muss man sich mal vergegenwärtigen, wie globale Funktionen funktionieren:
                Beim Start eines "normalen" (nicht globalen) Script wird der JS-Code sämtlicher globaler Scripte an den Anfang des zu startenden Script kopiert.

                Wenn man jetzt noch in Betracht zieht, dass:

                @paul53 sagte in eigene Funktion in Blockly:

                jeder aufrufende Prozess seine eigenen Timer benötigt

                ... wird schnell klar: Das wird ein nahezu aussichtloses Unterfangen.
                Beim Einsatz globaler Funktionen muss man eh schon höllisch aufpassen, was man da tut. Da noch mit Timeouts hantieren zu wollen, endet schnell in der Hölle.

                So einfach würde ich das nicht sehen. Prinzipiell ist es kein Problem wenn in einem globalen Skript nur Funktionen definiert werden, die aber nur etwas Machen wenn sie aufgerufen werden. Da kann man gerne auch mit Timern / Timeouts und so weiter hantieren - da sie im Kontext des aufrufenden Skriptes laufen ist alles sauber.

                Wichtig ist halt das das globale Skript wirklich nur Funktionen (und ggf. Klassen) definiert und selber nichts macht.

                Das ist in JS überhaupt kein problem. In Blockly sieht die Sache anders aus - da hast du im Editor keinen Zugriff auf irgendwelche 'Funktion' Blöcke für die im globalen Skript definierten Funktionen. Ob das trotzdem geht wage ich mal zu bezweifeln.

                A.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                paul53P 1 Antwort Letzte Antwort
                1
                • AsgothianA Asgothian

                  @codierknecht sagte in eigene Funktion in Blockly:

                  @jan_xx sagte in eigene Funktion in Blockly:

                  Ich würde gerne eine Funktion erstellen die ich von allen anderen Programmen aus nutzen kann

                  Dazu muss man sich mal vergegenwärtigen, wie globale Funktionen funktionieren:
                  Beim Start eines "normalen" (nicht globalen) Script wird der JS-Code sämtlicher globaler Scripte an den Anfang des zu startenden Script kopiert.

                  Wenn man jetzt noch in Betracht zieht, dass:

                  @paul53 sagte in eigene Funktion in Blockly:

                  jeder aufrufende Prozess seine eigenen Timer benötigt

                  ... wird schnell klar: Das wird ein nahezu aussichtloses Unterfangen.
                  Beim Einsatz globaler Funktionen muss man eh schon höllisch aufpassen, was man da tut. Da noch mit Timeouts hantieren zu wollen, endet schnell in der Hölle.

                  So einfach würde ich das nicht sehen. Prinzipiell ist es kein Problem wenn in einem globalen Skript nur Funktionen definiert werden, die aber nur etwas Machen wenn sie aufgerufen werden. Da kann man gerne auch mit Timern / Timeouts und so weiter hantieren - da sie im Kontext des aufrufenden Skriptes laufen ist alles sauber.

                  Wichtig ist halt das das globale Skript wirklich nur Funktionen (und ggf. Klassen) definiert und selber nichts macht.

                  Das ist in JS überhaupt kein problem. In Blockly sieht die Sache anders aus - da hast du im Editor keinen Zugriff auf irgendwelche 'Funktion' Blöcke für die im globalen Skript definierten Funktionen. Ob das trotzdem geht wage ich mal zu bezweifeln.

                  A.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @asgothian sagte: auch mit Timern / Timeouts und so weiter hantieren - da sie im Kontext des aufrufenden Skriptes laufen ist alles sauber.

                  ... nur, wenn die Funktion im gleichen Skript nicht mehrmals aufgerufen wird.

                  @asgothian sagte in eigene Funktion in Blockly:

                  im Editor keinen Zugriff auf irgendwelche 'Funktion' Blöcke für die im globalen Skript definierten Funktionen. Ob das trotzdem geht wage ich mal zu bezweifeln.

                  Das geht über den Umweg eines JS-Funktions-Blockes, in dem wiederum die globale Funktion aufgerufen wird.

                  @asgothian sagte in eigene Funktion in Blockly:

                  kein Problem wenn in einem globalen Skript nur Funktionen definiert werden

                  ... aber keine Trigger!

                  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

                  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

                  372

                  Online

                  32.5k

                  Benutzer

                  81.7k

                  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