Erstellung von Block Libraries für blockly

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
Betatester
Beiträge: 2
Registriert: 20. Jul 2024 21:03
Answers: 0

Erstellung von Block Libraries für blockly

Beitrag von Betatester »

Problembeschreibung
Ich nutze für meine Rules Blockly. Ein entscheidener Nachteil war, dass ich erstellte Prozeduren und Funktionen nur über Copy / Paste für andere Rules nutzen konnte.
Ich bin im Bereich Entwicklung/Block Libraries auf die Möglichkeit gestoßen, neue Blockly-Elemente selbst zu erstellen.
Das sind dann keine echten Funktionen/Prozeduren, sondern der Code wird wohl nur bei Nutzung des neuen Blockly-Elements injiziert, ist aber ein Lösungsansatz.
Über try / error und https://community.openhab.org/t/tutoria ... ies/130074 habe ich eine Konfiguration hinbekommen.

Fragen
  • Wie erstellt ihr solche Block Libraries
  • Wo gibt es hier eine Beschreibung der verwendbaren Elemente (z.B. warum erhalte ich über {{input:BLWERT}}) den Parameterwert
Beispiel
Bild

Code: Alles auswählen

uid: tomsBlockLibrary
tags: []
props:
  parameters: []
  parameterGroups: []
timestamp: Mar 16, 2026, 12:01:00 AM
component: BlockLibrary
config:
  name: Toms Block Library
slots:
  blocks:
    - component: BlockType
      config:
        args0:
          - type: input_value
            name: BLWERT
            align: right
          - type: input_value
            name: BLVON
            align: right
          - type: input_value
            name: BLBIS
            align: right
        colour: 90
        message0: CheckIntervall Wert %1 von inkl. %2 bis excl.  %3
        nextStatement: ""
        previousStatement: ""
        type: CheckIntervall
        output: Boolean
        tooltip: ""
        helpUrl: https://community.openhab.org/t/tutorial-how-to-write-block-libraries/130074
      slots:
        code:
          - component: BlockCodeTemplate
            config:
              template: >
                ({{input:BLWERT}} >= {{input:BLVON}} && {{input:BLWERT}} <
                {{input:BLBIS}})
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Harka
Beiträge: 593
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Erstellung von Block Libraries für blockly

Beitrag von Harka »

Moin,
habe das im wesentlichem auch nur über Ideenklau hinbekommen in dem ich mir die bestehenden Bibliotheken angeschaut habe.
Hier mal ein paar Links aus meinen Notizen:
https://raspberrypifoundation.github.io ... index.html
https://raspberrypifoundation.github.io ... y-samples/
https://github.com/openhab/openhab-webu ... ns/blockly
viewtopic.php?t=6788
https://community.openhab.org/c/marketp ... braries/76

{{input:BLWERT}} ergibt sich aus Deiner Konfiguration als type: input_value und name: BLWERT
%1 %2 %3 ... ergibt sich aus der Reihenfolge in args0

Ansonsten schau auch immer ob sich der Aufwand auch lohnt. Manchmal ist es sinnvoller eine Funktion (mit Parametern und Rückgabe) zu erstellen weil diese als ganzes leichter zu kopieren ist. Alternativ, wenn kein Rückgabewert erforderlich ist, gibt es auch die Möglichkeit den Teil in ein Script (mit Parametern) auszulagern.

Viel Spaß und im Zweifel ruhig fragen.

Benutzeravatar
Betatester
Beiträge: 2
Registriert: 20. Jul 2024 21:03
Answers: 0

Re: Erstellung von Block Libraries für blockly

Beitrag von Betatester »

Danke für die schnelle Antwort, speziell der Verweis auf den Forumsbeitrag.
Anhand der Beispiele komme ich weiter.

Antworten