Weiter zum Inhalt

Blockly

6.6k Themen 80.3k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • "Blockly for dummies" ... Starthilfe und Tipps

    Angeheftet
    13
    11
    20 Stimmen
    13 Beiträge
    25k Aufrufe
    CodierknechtC
    Zeitpläne: Wie bereits erwähnt, funktioniert ein CRON (zumindest meiner Erfahrung nach) stabiler als Zeitpläne mit dem "Wizard". Hier mal einige Beispiele: Letzter Tag des Monats [image: 1744894226631-051251c5-aa62-4cc0-a1cb-5aabcd0ffea0-image.png] Dieser Zeitplan wird um 20:45 Uhr ausgeführt. Allerdings nur zwischen dem 28. und dem 31. eines Monats, denn sonst könnte der nächste Tag niemals der 1. sein. Die Aktionen werden nur gestartet, wenn der nächste Tag der 1. ist und damit nur am letzten Tag eines Monats. Erster XXXtag des Monats [image: 1745839449800-6590796e-937a-4253-964b-86f6f912f0e5-image.png] Dieser Zeitplan wird an jedem Samstag um 20:15 Uhr ausgeführt. Die Aktionen werden aber nur gestartet, wenn das aktuelle Tagesdatum am oder vor dem 7. des Monats liegt und damit nur am ersten Samstag eines jeden Monats. Jeden zweiten XXXtag [image: 1745839741367-c7352f39-c6d8-48f5-b2c2-6c14bc4b8225-image.png] Dieser Zeitplan wird an jedem Sonntag um 20:15 Uhr ausgeführt. Die Aktionen werden aber nur gestartet, wenn die Kalenderwoche gerade ist und damit nur jede zweite Woche. Jeden X-ten Tag [image: 1749203344341-3c732eaf-3335-467a-96bf-59e0ebf42d7d-image.png] Dieser Zeitplan wird an jeden Tag um 05:30 Uhr ausgeführt. Die Aktionen werden aber nur gestartet, wenn ein Zähler ohne Rest durch 3 teilbar ist und damit nur jeden dritten Tag. Dazu wird ein "Tageszähler" in einem eigenen Datenpunkt geführt. Dieser DP muss (unterhalb von 0_userdata.0) selbst angelegt werden!
  • RFID TAG mit Blockly auslesen

    6
    1
    0 Stimmen
    6 Beiträge
    75 Aufrufe
    A
    @paul53 sagte: @andreas7712 [sagte]: als Taster funktioniert Also nur kurz einschaltet? Super so funktioniert es!!!! Vielen Dank!!!!!!
  • Meldung soll nur alle 3 Stunden kommen

    5
    1
    0 Stimmen
    5 Beiträge
    114 Aufrufe
    S
    Super, Danke Dir vielmals
  • Sonnenschutz mittels Rollläden

    17
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    G
    @MartinP Hallo Martin, das ist bereits erledigt. Ich hatte die Backups auf 5 begrenzt und erst später bemerkt, das die Programierung nicht (mehr) funktioniert. Nun ist aber wieder alles gut - vielen Dank!
  • Ausgabe Name des Senders

    12
    0 Stimmen
    12 Beiträge
    568 Aufrufe
    matze55M
    Funktioniert perfekt. Danke für deine Unterstützung.
  • Objekt "enum" erscheint im Blockly Editor nicht

    6
    0 Stimmen
    6 Beiträge
    419 Aufrufe
    paul53P
    @daniello [sagte]: "größer als letztes" funktioniert weil True (boolean) intern als 1 und false als 0 gewertet wird? Ja.
  • OpenDTU-onBattery DPL Inverter dynamisch (de-)aktivieren

    2
    1
    0 Stimmen
    2 Beiträge
    468 Aufrufe
    maxclaudiM
    Update 11.07.2026_14.13h: Statusabfrage wie bisher. Neu: Vorab-Vergleich von Ist- und Wunschwert (is_governed). Konfigurations-Update und POST-Request erfolgen nur noch bei nötiger Änderung.
  • [Vorlage] Gartenbewässerung mit 6 Ventilen

    1k
    7
    7 Stimmen
    1k Beiträge
    464k Aufrufe
    Q
    @kuddel Ich setzte seit einigen Jahren sehr zufrieden dein Bewässerungsscript bei mir ein. In 49 von 50 Fällen funktioniert das auch sehr zuverlässig und wie gewünscht bei mir. Leider passierts selten aber doch, dass sich meine HM Wired Classic Schaltaktoren verschlucken, was bei den Bewässerungsventilen natürlich eine kritische Sache ist. So wie heute, schließt sich das Ventil nicht und bewässert 4 Stunden weiter, bis ich es bemerkt habe und manuell ein/aus geschaltet habe. Fehlermeldung im Log: Spoiler 2026-07-11 04:34:03.434 - info: hm-rpc.0 (750) Temporary error occurred for "setValue" with "["MEQ1534614:14","STATE",false]": Error: XML-RPC fault: Failure 2026-07-11 04:34:03.444 - info: hm-rpc.0 (750) State value to set for "hm-rpc.0.MEQ1534614.0.UNREACH" has to be type "boolean" but received type "number" 2026-07-11 04:34:03.445 - info: hm-rpc.0 (750) State value to set for "hm-rpc.0.MEQ1534614.0.STICKY_UNREACH" has to be type "boolean" but received type "number" 2026-07-11 04:34:04.831 - info: hm-rpc.0 (750) Temporary error occurred for "setValue" with "["MEQ1534614:17","STATE",true]": Error: XML-RPC fault: Failure 2026-07-11 04:34:04.832 - error: hm-rpc.0 (750) xmlrpc -> setValue ["MEQ1534614:14","STATE",false] BOOL 2026-07-11 04:34:04.832 - error: hm-rpc.0 (750) Cannot call setValue: Error: XML-RPC fault: Failure 2026-07-11 04:34:04.983 - error: hm-rpc.0 (750) xmlrpc -> setValue ["MEQ1534614:17","STATE",true] BOOL 2026-07-11 04:34:04.983 - error: hm-rpc.0 (750) Cannot call setValue: Error: XML-RPC fault: Failure Jetzt habe ich zu diesem Problem folgenden Workaround gefunden: https://www.blogging-it.com/setstate-synchrone-verarbeitung-der-iobroker-homematic-rpc-adapter-befehle-via-bin-rpc-xml-rpc-um-probleme-bei-der-kommunikation-zu-vermeiden/hausautomatisierung-smart-home/iobroker/skripte-und-logiken.html Meine Frage/Bitte: Kannst du diese Art der Verarbeitung bzw. Befehle in dein Script übernehmen ? Ich hätte die Hoffnung, damit eine noch höhere Zuverlässigkeit erreichen zu können. Danke. Beste Grüße
  • Skript Wasserpumpe!

    7
    1
    0 Stimmen
    7 Beiträge
    917 Aufrufe
    paul53P
    @LaBamba [sagte]: Müsste es dann insgesamt so aussehen. Nein, so ist das Skript komplett: [image: 1783701836850-blockly_temp.jpg]
  • Ein und Ausschalten bei bestimmten PV Speicher Werten

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    769 Aufrufe
    paul53P
    @attlbill [sagte]: meine erstes Skript funktioniert Ohne Hysterese wirst du auf Dauer nicht froh werden, da zu oft geschaltet wird. Außerdem scheinst du HomeMatic-Aktoren zu verwenden, an die mit Rücksicht auf den Duty cycle nur gesendet werden sollte, wenn erforderlich. Vorschlag: [image: 1783592990494-blockly_temp.jpg]
  • Komisches Verhalten: Trigger lösen unterschiedlich nicht aus

    12
    1
    0 Stimmen
    12 Beiträge
    838 Aufrufe
    I
    Meine obige Lösung scheint den Fehler auch nicht komplett erklären zu können, da ich bei anderen Triggern auch direkte Zugriffe auf die DPe habe, und diese Trigger auch nicht ausgelöst hatten. Ich habe jetzt direkt hinter alle Trigger Logeinträge eingebaut, um die Sache besser analysieren zu können, vielleicht ergibt sich ja ein Muster.
  • Email mit mehr als 3 Anhängen senden

    5
    1
    0 Stimmen
    5 Beiträge
    590 Aufrufe
    David G.D
    @MCU Danke. Das hat geklappt. Hab es jetzt noch was anders gemacht. [image: 1783444591703-1000074351.jpg] PR ist erstellt.
  • Mit Widget Gestylt Daten addieren

    4
    0 Stimmen
    4 Beiträge
    701 Aufrufe
    T
    Ich habe es doch noch mit Blockly geschafft. Mit Hilfe von https://forum.iobroker.net/topic/71431/gelöst-dynamischer-cronjob-wie konnte ich den Trigger über die Widgets setzten. Mein abgewandeltes Blockly sieht so aus: Spoiler <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="}{npwZ~)?o^j89Z[d$[A" x="-37" y="671"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="I4*WB%Cx5+:qi#P!N;e8"> <field name="oid">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Zeit</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="MW;(2TRn`+@j},m4tSHq"> <field name="oid">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Datum</field> </shadow> </value> <statement name="STATEMENT"> <block type="schedule_clear" id="^t5@A`yzm:5}LI9E7JR`"> <field name="NAME">Boiler_Kalender_Ein</field> <next> <block type="controls_if" id="ynG%=fCq8A!s-HjfP|(H"> <value name="IF0"> <block type="logic_compare" id="9j?!g_E=*#NE5*-i5$nt"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="+#BX82++qXEwqL*ZE,ag"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_IO</field> </block> </value> <value name="B"> <block type="logic_boolean" id="dVLNGUB^rObfCtlrXW90"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{z#7S_cd!.T/fRCtJV/5"> <field name="VAR" id="%n44K3YM4$/I{$uvi)nS">Datum_Ein</field> <value name="VALUE"> <block type="get_value" id="U6T1Ou%7|L)Dz_2,`SR2"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Datum</field> </block> </value> <next> <block type="variables_set" id="*n,cQoPWid~3R8!T.G)E"> <field name="VAR" id="*i3J=ool0in]}j9z#86_">Zeit_Ein</field> <value name="VALUE"> <block type="get_value" id="2C5@UbFjAzAI1YW3o`82"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Zeit</field> </block> </value> <next> <block type="schedule_create" id="@BGLkM/w^_e7]DvXON@f"> <field name="NAME">Boiler_Kalender_Ein</field> <value name="SCHEDULE"> <shadow type="field_cron" id="},uocH)Cp{8z._K3NRc="> <field name="CRON">* * * * *</field> </shadow> <block type="cron_builder" id="o]ND+a|O8N):B/(2yGXB"> <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">FALSE</field> <value name="DOW"> <shadow type="text" id="Q`~Gxe,u:{c1T0,A.zaK"> <field name="TEXT">*</field> </shadow> </value> <value name="MONTHS"> <shadow type="text" id=";UsQ2RM-!oy(|]YDZ+UL"> <field name="TEXT">7</field> </shadow> <block type="convert_from_date" id="Tg^)Y}dgH@dYC]jbgQzq"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">TT</field> <value name="VALUE"> <block type="get_value" id="u:D)YCPATfaXV7-S!*nc"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Datum</field> </block> </value> </block> </value> <value name="DAYS"> <shadow type="text" id="=}6*2%k.%~M/T+Gzsf-N"> <field name="TEXT">1</field> </shadow> <block type="convert_from_date" id="SdSxSOTuyj=F9I#h+QAQ"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">MM</field> <value name="VALUE"> <block type="get_value" id="r{B`Y}GN%TQ`WTxW[nnh"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Datum</field> </block> </value> </block> </value> <value name="HOURS"> <shadow type="text" id="30TLG.po?]%8leAt^wqI"> <field name="TEXT">8</field> </shadow> <block type="convert_from_date" id="-M@YF2@vo]4H_y68N)WB"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">SS</field> <value name="VALUE"> <block type="get_value" id="?P`[Sf-8ud5T{3grPz8k"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Zeit</field> </block> </value> </block> </value> <value name="MINUTES"> <shadow type="text" id="=rh|g,;_6)1(o.44o+u)"> <field name="TEXT">23</field> </shadow> <block type="convert_from_date" id="@6`o/g78VN`Z.%B(yoRG"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT">mm</field> <value name="VALUE"> <block type="get_value" id="K1H^w0pJ%F.XR4yypEiK"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_Ein_Zeit</field> </block> </value> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="control" id="@,}3]Ea%@wK;IPgV3b!r"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Meine_Datenpunkte.KELLER.KE_Boiler_IO</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="DOu6Xm(DT6k[7(pipb0]"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> [image: 1782890849151-9b006eb4-08f5-4212-8638-6273fcc81852-image-resized.jpeg] Die DP KE_Boiler_Ein_Datum und KE_Boiler_Ein_Zeit werden vom Widget [Gestylt - Eingabe des Datums] bzw. [Gestylt - Eingabe der Zeit] gefüllt. Was auffällt ist, dass TT und MM vertauscht sind (siehe debug). Das Datumsformat spuckt hier sicher rein, obwohl ich in den Systemeinstellungen DD.MM.YYYY eingetragen habe. Besten Dank an Alle
  • BHS Enumeration als Text anzeigen

    15
    0 Stimmen
    15 Beiträge
    906 Aufrufe
    paul53P
    @hunterhb [sagte]: jetzt läufts!! Mehr als 20 mal den DP-Zustand einlesen und die Übersetzung schreiben verbraucht viele Ressourcen. Verwende besser Variablen. [image: 1782851046841-blockly_temp.jpg]
  • Blockly Skripte bearbeiten auf Android

    1
    0 Stimmen
    1 Beiträge
    345 Aufrufe
    Niemand hat geantwortet
  • Poolsteuerung funktioniert das so?

    4
    0 Stimmen
    4 Beiträge
    617 Aufrufe
    G
    Das werde ich mir mal anschauen. Danke.
  • Alexa quasselt neuerdings immer weiter im Anrufer script

    2
    3
    0 Stimmen
    2 Beiträge
    615 Aufrufe
    S
    OK ich habe es schon selber gefunden: Hier standen falsche werte drin: [image: 1782551591266-6b19d99f-ebd5-4d31-90ca-9c030bd91824-image.jpeg] Gruß HDM
  • Wartungsarbeiten - Blockly Scripte pausieren

    3
    0 Stimmen
    3 Beiträge
    686 Aufrufe
    skvarelS
    Ich würde keine Scripte 'pausieren' sondern es mit einem Datenpunkt (Wartung = true/false) und Abfrage machen. Ich hatte bei bei pausierten/gestoppten Scripten schon öfter ein merkwürdiges Verhalten.
  • Werte Datenpunkten per CSV-Datei oder ähnlichem versenden

    17
    0 Stimmen
    17 Beiträge
    792 Aufrufe
    J
    BR konnte ich nicht eingeben, hab den Haken bei HTML raus gemacht und jetzt geht es!Danke für den Hinweis!
  • Diskussionsthread zu "Blockly für Dummies"

    49
    1 Stimmen
    49 Beiträge
    9k Aufrufe
    CodierknechtC
    @jensven Ich hab's mal ergänzt. https://forum.iobroker.net/topic/70481/blockly-for-dummies-...-starthilfe-und-tipps/4

129

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge