Weiter zum Inhalt

Blockly

6.6k Themen 80.3k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Überprüfung ob Rollläden alle unten oder oben

    11
    1
    0 Stimmen
    11 Beiträge
    847 Aufrufe
    haselchenH
    @rtwl Guter Einwand. Ich probiere gerade ein paar Blocklys aus. Da werde ich das hier mal gleich korrigieren.
  • Alexa lautstärke bei ansagen

    11
    1
    0 Stimmen
    11 Beiträge
    4k Aufrufe
    crunchipC
    @uli977 sagte in Alexa lautstärke bei ansagen: geht danach nicht auf die ursprüngliche Lautstärke 13 zurück, sondern immer auf 25 @uli977 sagte in Alexa lautstärke bei ansagen: dass ich die TV Läustärke über Sonos regele @uli977 sagte in Alexa lautstärke bei ansagen: steht auf 25 dann wir da dein Problem liegen, ich habe keine Sonos, kann dir daher nicht weiterhelfen
  • [gelöst] Aufzählung gleicher Werte aus Datenpunkt

    28
    0 Stimmen
    28 Beiträge
    3k Aufrufe
    mickymM
    @djmarc75 Ich hab neben Deinen Puzzleteilchen hier noch Lösungen mit alternativen Logikmaschinen eingestellt, die auch JSONATA nutzen können. Vielleicht lässt sich ja der eine oder andere doch noch von der Leistungsfähigkeit dieser Bibliothek überzeugen insbesondere, da per Default die Bibliothek im JS Adapter integriert ist. Die NodeRed Lösung passt natürlich nicht, aber ganz verkneifen konnte ich es mir nicht, da ich sowas dann auch in meiner eigenen Bibliothek sammle.
  • Blockly DP true Liste

    3
    1
    0 Stimmen
    3 Beiträge
    255 Aufrufe
    R
    @paul53 Ok, danke. Damiit bekomme ich die DP ID's in die Liste. Kann ich auch irgendwie die Name der DP's in die Liste schreiben lassen. Will mir das Ganze visualisieren, da sind nur Namen schön.
  • Lamellenschräge berechnen (Shelly 2.5)

    1
    2
    0 Stimmen
    1 Beiträge
    140 Aufrufe
    Niemand hat geantwortet
  • Aktuelle Systemuhrzeit in Text einfügen

    8
    0 Stimmen
    8 Beiträge
    641 Aufrufe
    Ro75R
    @erich-1 Nimm dieses hier. [image: 1676663033327-fcd65f0c-af76-4bf7-b219-365c854a8a71-image.png]
  • Blockly Ausführen Intervall wir nur zweimal ausgeführt.

    blockly
    8
    1
    0 Stimmen
    8 Beiträge
    694 Aufrufe
    K
    @karli_08 ``` [image: 1676644286683-8d272d2a-24ce-462e-a7b9-7de72fe2598e-grafik.png]
  • Blockly wird nach gewisser Zeit nicht mehr ausgeführt

    26
    1
    0 Stimmen
    26 Beiträge
    3k Aufrufe
    ?
    @paul53 Kurze Rückmeldung nachdem alle Situationen nun eingetreten sind. Alles läuft! Nochmals danke
  • Timeout unterbrechen

    10
    1
    0 Stimmen
    10 Beiträge
    715 Aufrufe
    paul53P
    @homoran sagte: Taster sind meit immerr nur true, lediglich der Zeitstempel ändert sich Diese Taster haben die Rolle "button".
  • Skript löst "fälschlicherweise" aus

    24
    2
    0 Stimmen
    24 Beiträge
    816 Aufrufe
    ?
    Soooo habe auch herausgefunden warum er das macht und konnte den Fehler Adapterseitig beseitigen. Anstatt einfach nur setStateAsync muss man setStateChangedAsync nutzen. Dann beschreibt der Adapter den Datenpunkt nur wenn der Wert wirklich anders ist. Somit wieder was gelernt. :) @David-G In der Github Version ist es bereits geändert. Ansonsten auf das nächste Release warten.
  • Event auslösen wenn länger als Zeit X

    37
    0 Stimmen
    37 Beiträge
    4k Aufrufe
    BananaJoeB
    @asgothian sagte in Event auslösen wenn länger als Zeit X: Aber im grossen und ganzen halte ich es für empfehlenswert sich tiefer mit der Event-Basierten Programmierung zu beschäftigen um weniger regelmässige Skripte zu haben. Da hast du natürlich Recht. Ich nutze das "1x die Minute" genau genommen auch nur an 2 Stellen für VIS Darstellungen (z.B. Ereignisanzeige auf der verschiedenen Meldungen nacheinander angezeigt werden, neue Meldungen aber sofort erscheinen), der große Rest läuft Eventbasiert - das war ja gerade eines der Dinge die ich genial finde (neben dem Objektebaum) und mich deshalb für ioBroker entschieden hatte.
  • Zigbee2MQTT Szenen - best practise

    3
    0 Stimmen
    3 Beiträge
    868 Aufrufe
    T
    @solear said in Zigbee2MQTT Szenen - best practise: Erstelle ich die (Licht-)Szenen in iobroker über Blockly? Ich nutze dafür den Szenen-Adapter. Und Lampen, die das gleiche tun, habe ich in Z2M bereits in einer Gruppe zusammengefasst. Via Szenen-Adapter erstelle ich dann die Szene für diese Gruppe. Via Blockly triggere ich diese dann.
  • Lichttaster: Szenen wechseln mit "aus" wenn an

    6
    1
    0 Stimmen
    6 Beiträge
    780 Aufrufe
    S
    Jetzt geht es, wie ich es mir wünsche. Er schaltet die Szenen endlos durch, und wenn nach 4 Sekunden der erste Klick erst kommt dann ist die erste Szene "ausschalten". Perfekt. Und für andere Schalter kann ich das als Vorlage nehmen und beliebig viele Szenen ohne großen Umbau mit dazwischenschieben. Vielen Dank für die Unterstützung, @cinimod! [image: 1676546589158-jaaaaaa.png] Blocklycode: <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="!]2uNISp)(2z[:rRlh[K">Klicks</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="K_L^@~T6I$hSAIs7?XvC" x="137" y="-38"> <field name="COMMENT">Szenenwechsel bei jedem Klick</field> <next> <block type="comment" id="r}C#a.(4@J{{9^.=8gn,"> <field name="COMMENT">Nach 4s Pause ist die 1. Szene "aus"</field> <next> <block type="variables_set" id="?hkjQ),jsEn.X!lMxKX6"> <field name="VAR" id="!]2uNISp)(2z[:rRlh[K">Klicks</field> <value name="VALUE"> <block type="math_number" id="h!c7MtE0GCQ6qW#}?,hM"> <field name="NUM">0</field> </block> </value> <next> <block type="on_ext" id="%z~o_GT_v*/QON4]}DyG"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="cJyG]hyC?jpbXC{2w-H7"> <field name="oid">zigbee2mqtt.0.0x001788010b036de3.left_press</field> </shadow> </value> <statement name="STATEMENT"> <block type="math_change" id="Wk7j3Uy))Ts*J~0j9o}J"> <field name="VAR" id="!]2uNISp)(2z[:rRlh[K">Klicks</field> <value name="DELTA"> <shadow type="math_number" id="pH{ZQBPxF$Ymr]`|~%#k"> <field name="NUM">1</field> </shadow> </value> <next> <block type="logic_switch_case" id="*Yw0V551#@)!/#kwuj~r"> <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation> <value name="CONDITION"> <block type="variables_get" id="^t*u(J5u5zkP*fN+{?L^"> <field name="VAR" id="!]2uNISp)(2z[:rRlh[K">Klicks</field> </block> </value> <value name="CASECONDITION0"> <block type="math_number" id="tt-6$J5_,nG~C3Jj{|P0"> <field name="NUM">1</field> </block> </value> <statement name="CASE0"> <block type="control" id="k$wBV%n@$xJVf.Tk!C2."> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee2mqtt.0.group_1.scene_3</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="+ds26DyFaBid},v;0$Q+"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="*~%aP=m0mIIZ6G*C(3@O"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <value name="CASECONDITION1"> <block type="math_number" id="gq)W,Y%FV3*c9D#qJI!b"> <field name="NUM">2</field> </block> </value> <statement name="CASE1"> <block type="control" id="?/PIK82pBr#B?=-5RZK:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee2mqtt.0.group_1.scene_0</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="3iz}eYh1qmWna-+F+gVu"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="uBqz1adGFjrEPJVN#Zru"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <value name="CASECONDITION2"> <block type="math_number" id="dO`jPL$5/r#4DB.$!7,I"> <field name="NUM">3</field> </block> </value> <statement name="CASE2"> <block type="control" id="n8brd[emU1kh$`-e_vy,"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">zigbee2mqtt.0.group_1.scene_2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="SdHJ8-Yz7Q[0`}6#~8hF"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="~z_Bx1J:!9rm!HX9xlDn"> <field name="NAME">timeout</field> <next> <block type="variables_set" id="JmNN.UbH8ldpJSUzeocn"> <field name="VAR" id="!]2uNISp)(2z[:rRlh[K">Klicks</field> <value name="VALUE"> <block type="math_number" id="6fM}cu|D;$mUnja,5Fr?"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="pymP8RHtohz./*K5Vr5M"> <field name="COMMENT">Ausschalten überspringen wenn schon aus</field> <next> <block type="timeouts_settimeout" id="FBl.gAm45o-wu}Ub^W^r"> <field name="NAME">timeout</field> <field name="DELAY">4</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="}4/I$_H]fTOR/FmF]Cx)"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="6K`%bre.I)Jc#@]=V=)V"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="EnB`x5NI_i?1-e_;=dP/"> <field name="ATTR">val</field> <field name="OID">zigbee2mqtt.0.group_1.state</field> </block> </value> <value name="B"> <block type="logic_boolean" id="U4r!=;1Dub:b=2S41$S!"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="d]4B~qF#*K+]?$Wo@G52"> <field name="VAR" id="!]2uNISp)(2z[:rRlh[K">Klicks</field> <value name="VALUE"> <block type="math_number" id="@1gR=FgW}`y]p|/`@?cQ"> <field name="NUM">0</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="]$dzxZ/Yl9G:TZT*!:uD"> <field name="VAR" id="!]2uNISp)(2z[:rRlh[K">Klicks</field> <value name="VALUE"> <block type="math_number" id="1%W/vH`kWcoMO}ho8$bB"> <field name="NUM">1</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
  • States aus einer Liste in Datenpunkte zurück schreiben

    7
    1
    0 Stimmen
    7 Beiträge
    690 Aufrufe
    FoGF
    @paul53 Super - vielen Dank !!!!
  • JSON Inhalt per Mail senden

    21
    2
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    David G.D
    @nik82 Interessant. Die letzte Änderung liegt bei mir auch schon was her. Kommt trotzdem alle 10sek die Mail. [image: 1676474037067-screenshot_20230215_161253_chrome.jpg]
  • Datenpunkt erhöhen : gelöst

    4
    0 Stimmen
    4 Beiträge
    323 Aufrufe
    Uwe WaizmannU
    Vielen Dank für die Tipps. Problem ist gelöst :-)
  • Wenn Wert innerhalb bestimmter Zeit 3x geändert

    3
    1
    0 Stimmen
    3 Beiträge
    283 Aufrufe
    S
    @paul53 funktioniert, Danke :)
  • Die Geister die ich rief ...........

    3
    1
    0 Stimmen
    3 Beiträge
    196 Aufrufe
    DuffyD
    @djmarc75 Herzlichen Dank werde ich gleich versuchen. Gruß Duffy
  • Ausgabe von ID Wert in Kombination mit Text >> gelöst!

    6
    1
    0 Stimmen
    6 Beiträge
    585 Aufrufe
    W
    @glasfaser @Homoran Ich wollte hier gern mit Blockly arbeiten. Weil ich im Widget 5 Datenpunkte untereinander angeordnet habe. Aber manchmal hat man eben ein Brett vorm Kopf. Ich kann natürlich auch 1 Datenpunkt mit falsch und wahr abgleichen mit einer °C als Umschaltpunkt wo eben nur der Status geändert wird und der Rest bleibt gleich im Code ;-). Danke für den Denkanstoß. Jetzt geht es auf die einfache Art, anstatt über 5 böhmische Dörfer. Das gebastel mit dem Blockly hat mich trotzdem weitergebracht im Verständnis und ich werde auch das weiter testen. Danke Puffer gesperrt über Astrouhr: [image: 1676382815230-1.png] Puffer Freigegeben über Astrouhr (°C jetzt nur zum Test geschaltet da Leerfühler): [image: 1676382857465-2.png] Nachtrag: Das Blockly funktioniert jetzt auch mit °C als Anhang. Der Trigger war nur stabil und es gab keine Änderung. Dadurch wurde dann wohl auch der Wert nicht angepasst. Grüße Wiesel
  • [gelöst] Zählung Fenster offen läuft nicht los

    blockly
    8
    6
    0 Stimmen
    8 Beiträge
    285 Aufrufe
    haus-automatisierungH
    @schneidy76 Besser wäre übrigens, den Datenpunkt "Fenster offen" nach der Schleife nur 1x zu schreiben (und nicht bei jedem Durchlauf). Falls es ein eigener Datenpunkt ist, dann verwende besser "aktualisiere" statt "steuere" (damit ack: true ist).

491

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge