Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.4k Beiträge

NEWS

  • Blockly script Trigger Zeitpunkt ODER Variablenänderung

    11
    0 Stimmen
    11 Beiträge
    699 Aufrufe
    T
    @bananajoe "EG_Klingel:3.STATE = False" bedeutet in meinem Falls, dass die Klingel eingeschaltet wird. Das liegt an der Verdrahtung zwischen dem angesteuerten Relais und dem Klingelgong. Hab erstmal vielen Dank. Werde es in den kommenden Tagen mal testen. VG Takahara
  • Blockly für Stufeneinschaltung

    21
    0 Stimmen
    21 Beiträge
    4k Aufrufe
    flkontaktF
    @paul53 mathe kann so einfach sein ;-). danke für den Schubser in die richtige Richtung!
  • Shelly Plus2PM(Covermod) und Blockly

    6
    0 Stimmen
    6 Beiträge
    154 Aufrufe
    H
    @djmarc75 Vielen Dank, das war's. Den Link werde ich jetzt mal lesen.
  • Bild wenn es klingelt?

    9
    1
    0 Stimmen
    9 Beiträge
    768 Aufrufe
    BananaJoeB
    Noch ein Nachtrag: Cool, man kann auch eine Gruppe angeben, das erhält man eine Übersicht mit allen Kameras in der Gruppe ... Die Qualität der Bilder ist aber etwas mau da der Vorschau-Stream verwendet wird. Kommt darauf an wie deine Kameras eingebunden sind. Ich habe Reolinks, die haben 2 Streams, einen Vorschau 640x380 welche auch zur Auswertung genutzt wird und den "richtigen" mit 2560x1920 der dann aufgezeichnet wird.
  • Warten auf successful bei Linux Control

    13
    0 Stimmen
    13 Beiträge
    934 Aufrufe
    F
    @felsdrache [image: 1720464491909-iobroker.png] So klappt es dann
  • [Gelöst] Exec wird scheinbar nicht ausgeführt

    blockly
    7
    2
    0 Stimmen
    7 Beiträge
    613 Aufrufe
    S
    @thomas-braun Nicht wirklich. Es funktioniert ja auch in dem Verzeichnis /home/iobroker über Blockly (exec) nicht. Es funktioniert nur wieder über die Kommandozeile (per Putty). Und sudo -u iobroker mpg123 ... funktioniert in Blockly auch nicht. EDIT: Ursache gefunden. Es war ein Timing-Problem in Blockly. Nun klappt es. Besten Dank für eure Hilfe.
  • Zwei Datenpunkte vergleichen, grösser als...

    14
    1
    0 Stimmen
    14 Beiträge
    766 Aufrufe
    paul53P
    @darkblu sagte: Die Datenpunkte sind vom Type gemischt (mixed). Deshalb meckert der js-controller nicht, wenn ein String geschrieben wird. Wenn mit den Werten gerechnet werden soll, müssen Zahlen in die DP geschrieben werden.
  • OpenDTU - falls DTU "falsch", dann Fritz Dect Steckdose aus!

    11
    0 Stimmen
    11 Beiträge
    760 Aufrufe
    K
    @paul53 jetzt leuchtet es mir ein.... Ich habe die Variable nicht wahr genommen ! Dein Hinweis mit der Variablen und dem erneuten Einlesen des Datenpunktes hat bei mir klick gemacht :) Somit passe ich nochmal das Script nach deiner Version an! [image: 1720286855881-dtu.png] <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="on_ext" id="13k~%BXuW:dn^bzTXH?t" x="-87" y="-462"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="D%+u;:[j;Ls5e|sffdom"> <field name="oid">ping.0.raspberrypi.192_168_1_155</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="phJQ_1$Tx1t|~O@|IdMI"> <field name="NAME">timeout2</field> <next> <block type="controls_if" id="Cv|YRH`Ln_h)X$$,+C^p"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_negate" id="kCrhu_a0f%ly@+J[o9UI"> <value name="BOOL"> <block type="on_source" id="PfW^]VSV37G+NvLcZH{s"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="u9Zdd7N0rtv9+/:wI]++"> <field name="NAME">timeout2</field> <field name="DELAY">30</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="Z!^ByDqmlh]b`?B(dved"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">fritzdect.0.DECT_116570570860.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="mTwv!d5NuFJbke$wy$Rd"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <value name="IF1"> <block type="logic_negate" id="rXLteYmHZ8gBR95GQ2xv"> <value name="BOOL"> <block type="get_value" id="F88jE*;R.|KIds;n[v_L"> <field name="ATTR">val</field> <field name="OID">fritzdect.0.DECT_116570570860.state</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="QF2_R8$?nn313/.]nPj6"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">fritzdect.0.DECT_116570570860.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="|tvtV_^FI_kfm|TdD.K)"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml> <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="on_ext" id="13k~%BXuW:dn^bzTXH?t" x="-87" y="-462"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="D%+u;:[j;Ls5e|sffdom"> <field name="oid">ping.0.raspberrypi.192_168_1_155</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="phJQ_1$Tx1t|~O@|IdMI"> <field name="NAME">timeout2</field> <next> <block type="controls_if" id="Cv|YRH`Ln_h)X$$,+C^p"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_negate" id="kCrhu_a0f%ly@+J[o9UI"> <value name="BOOL"> <block type="on_source" id="PfW^]VSV37G+NvLcZH{s"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="u9Zdd7N0rtv9+/:wI]++"> <field name="NAME">timeout2</field> <field name="DELAY">30</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="Z!^ByDqmlh]b`?B(dved"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">fritzdect.0.DECT_116570570860.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="mTwv!d5NuFJbke$wy$Rd"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <value name="IF1"> <block type="logic_negate" id="rXLteYmHZ8gBR95GQ2xv"> <value name="BOOL"> <block type="get_value" id="F88jE*;R.|KIds;n[v_L"> <field name="ATTR">val</field> <field name="OID">fritzdect.0.DECT_116570570860.state</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="QF2_R8$?nn313/.]nPj6"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">fritzdect.0.DECT_116570570860.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="|tvtV_^FI_kfm|TdD.K)"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>
  • Wiedermal eine Frage zum Timeout Handling

    24
    1
    0 Stimmen
    24 Beiträge
    2k Aufrufe
    J
    @paul53 Bis jetzt läuft es super das neue Blockly, ich konnte es auch noch ein wenig kürzen. Also das mit den Timern ist irgendwie schon verwirrend....:face_with_rolling_eyes:
  • Wasserverbrauch tageweise loggen und anzeigen

    19
    2
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    C
    @crunchip Hab jetzt seit paar Tagen den Gesamtverbrauch geloggt. Seitdem schauts ganz gut aus. An Grafana hats nicht gelegen, sondern eher daran das ich den Tagesverbrauch als Wert genommen hab und nicht den Gesamtverbrauch. Muss noch paar Tage warten aber Stand jetzt passt es ;-)
  • Script für Schalter und Bewegungsmelder ** gelöst **

    8
    2
    0 Stimmen
    8 Beiträge
    465 Aufrufe
    Horst BöttcherH
    @paul53 dank dir geht super
  • (gelöst) Klimaanlagen einschalten, Reihenfolge

    17
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    paul53P
    @perladd sagte: kann ich dann z.B. eine Freigabe wegnehmen, oder muss ich das Blockly dafür neu starten? Das Skript muss nicht neu gestartet werden, denn es wird oft genug getriggert. Allerdings sollte bei Wegnahme einer Freigabe auch ausgeschaltet werden, denn das passiert nicht automatisch. Beispiel: [image: 1720119136853-blockly_temp.jpg]
  • [gelöst] Prüfung, ob dyndns von UniFi funktioniert

    7
    1
    0 Stimmen
    7 Beiträge
    398 Aufrufe
    Meister MopperM
    So läuft es jetzt erstmal: [image: 1720114359320-e5626a98-0ba9-4854-a9d9-28fe3165d3c1-grafik.png] Spoiler <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="iV|Q4#}M#GvJMC)-ifVg">message</variable> <variable id="bhq66a!eE!`5UIPZnS6x">new_result</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="variables_set" id="nPgzEf1L4{3h-OY.Km_#" x="63" y="213"> <field name="VAR" id="iV|Q4#}M#GvJMC)-ifVg">message</field> <value name="VALUE"> <block type="logic_boolean" id="|G^3]r+{nqXR@S^j;Mfq"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="schedule" id="}R?fvg?A:B1nj+}iH4gD"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="exec" id="_BLbzqPx+e$Q-?#d}[M]"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="aI+iX7wqPJo#h}s(:C_1"> <field name="TEXT">pwd</field> </shadow> <block type="text" id="$iHy5klLvIgH6^W:CeFx"> <field name="TEXT">wget -4 -O - -q icanhazip.com</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="mBL1l^7mf7soEFJ(U|dT"> <field name="VAR" id="bhq66a!eE!`5UIPZnS6x">new_result</field> <value name="VALUE"> <block type="text_getSubstring" id="4$!sqUiZ4S}_?]|/(dVe"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_END</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="exec_result" id="AxmxEIZpp5;;#!(YF_G8"> <field name="ATTR">result</field> </block> </value> <value name="AT1"> <block type="math_number" id="jyTgC7O_W;?bkDmU)sM]"> <field name="NUM">16</field> </block> </value> <value name="AT2"> <block type="math_number" id="{GjcJ{;Y!T3y7w73wBmA"> <field name="NUM">15</field> </block> </value> </block> </value> <next> <block type="timeouts_cleartimeout" id="=kh@d$Qlas)|5%(*FhI]"> <field name="NAME">timeout2</field> <next> <block type="timeouts_settimeout" id="l[k|vzj({+T7eQ*/RI(S"> <field name="NAME">timeout2</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id="E$U:/aH4ADAEm+3}ba}U"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="]^/0()LSo-}Ab5^Y)=i@"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="Yuh/I]uMX}X|.$68g|Yq"> <field name="VAR" id="bhq66a!eE!`5UIPZnS6x">new_result</field> </block> </value> <value name="B"> <block type="get_value" id="Yfbhl=a0c{8X]aGTjxcE"> <field name="ATTR">val</field> <field name="OID">unifi.0.default.health.wan.wan_ip</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="Q.!Pq*;oeME@}|hiZ6`7" collapsed="true"> <field name="INSTANCE"></field> <field name="LOG">error</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="(j3GFpxE9*C2l^jg=sWw"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="/K9SvMP2;xv?zDppJIS!"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="5g8IN=S:K_(Ag*`f{hCq"> <field name="TEXT">⚠️ Die dyndns-IP </field> </block> </value> <value name="ADD1"> <block type="get_value" id="Gtd8SWG`rss-TJ5:)bn!"> <field name="ATTR">val</field> <field name="OID">unifi.0.default.health.wan.wan_ip</field> </block> </value> <value name="ADD2"> <block type="text" id="^:%3:b*m$8Zm^pix=C3s"> <field name="TEXT"> konnte nicht gepingt werden.</field> </block> </value> </block> </value> <next> <block type="exec" id="t}2EYShbX+S]v`rU96rZ" collapsed="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="COMMAND"> <shadow type="text" id="jk/`0mhfhSzx(gH:;KzE"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="qkj~Z}McOZ%ST$qC^`|6"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="]iJXeK?G.=s=@|7Bp|7K"> <field name="TEXT">curl "https://mygotify.meistermopper.de/message?token=</field> </block> </value> <value name="ADD1"> <block type="get_value" id="t9cG=wUeV#?8e`Zc1X|$"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.gotifytoken.iobroker</field> </block> </value> <value name="ADD2"> <block type="text" id="85GDr0(MlTYeHa{oK#{i"> <field name="TEXT">" -F "title=</field> </block> </value> <value name="ADD3"> <block type="text" id="}f8amb55hvNXm:z,:t(p"> <field name="TEXT">ioBroker:</field> </block> </value> <value name="ADD4"> <block type="text_newline" id="Nz/%Ylqzg4MKm)Urp/%,"> <field name="Type">\n</field> </block> </value> <value name="ADD5"> <block type="text" id="{97Uv|2/ij(%0(7WN0bj"> <field name="TEXT">" -F "message=</field> </block> </value> <value name="ADD6"> <block type="text_join" id="0W:a4pX`7qZ#~l@~ju7n"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="nwc9QCaxo$-2G$v^o$OI"> <field name="TEXT">⚠️ Die dyndns-IP </field> </block> </value> <value name="ADD1"> <block type="get_value" id="[u5O`24Q)?GM{%N@pe#0"> <field name="ATTR">val</field> <field name="OID">unifi.0.default.health.wan.wan_ip</field> </block> </value> <value name="ADD2"> <block type="text" id="mAp|CUc:6+*C2p9g^f8|"> <field name="TEXT"> konnte nicht gepingt werden.</field> </block> </value> </block> </value> <value name="ADD7"> <block type="text" id="D8pRtdN?RQJwN4aD_Z8!"> <field name="TEXT">" -F "priority=1"</field> </block> </value> </block> </value> <next> <block type="variables_set" id="ccH[|2n.O8crG$U`qo8A"> <field name="VAR" id="iV|Q4#}M#GvJMC)-ifVg">message</field> <value name="VALUE"> <block type="logic_boolean" id="gIRZO0M_DYxqdw-rr:rT"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="HD)ugR0pkCP:v3-qQ,zB"> <value name="IF0"> <block type="variables_get" id="#qWQhj~}Xs@dG5WX}~z;"> <field name="VAR" id="iV|Q4#}M#GvJMC)-ifVg">message</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="L1l%WXgFUjPYx]r$U19x"> <field name="VAR" id="iV|Q4#}M#GvJMC)-ifVg">message</field> <value name="VALUE"> <block type="logic_boolean" id="wwhv?u}D~8:(kuC?]9xI"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml> Vielen Dank @MartinP für den Schubser 👋.
  • Alexa welcher Song spielt auf welchem Gerät?

    3
    2
    0 Stimmen
    3 Beiträge
    314 Aufrufe
    M
    @paul53 Dankeschön, das werde ich heute Abend direkt mal testen !
  • Blockly -> Telegram Anruf

    6
    2
    0 Stimmen
    6 Beiträge
    453 Aufrufe
    T
    @haus-automatisierung Nein Nein, als ich dich erwähnte, hatte ich das mit der CallMeBot Thematik noch nicht gefunden. Erst als ich die Doku der Telegram Anruf Funktion durchsucht habe, bin ich darüber gestolpert.... Und ehrlich gesagt hätte ich nicht gedacht, das das ein Service eines anderen Dienstleisters ist. Deine Blockly Blocks mit "call" ließen mich vermuten, das der Anruf von Telegram kommt :-) -> Nach der erfolgreichen "freischaltung" beim CallMeBot gehts dann auch .... (lesen bildet eben) ...sorry das ich dich für sowas aus dem Bett geholt habe :) Aber mal ehrlich: 4 Minuten finde ich echt unbrauchbar, oder was meinst du dazu ....?? Insofern, wenn es dich interessiert, kannst du ja mal bei dir testen und berichten, ansonsten begraben wir das Thema "Anrufe" :-D -> trotzdem ganz lieben Dank frs reagieren....
  • Berechnung aktueller Verbrauch und Gesamtverbrauch

    16
    5
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    L
    @lamo1966 said in Berechnung aktueller Verbrauch und Gesamtverbrauch: @homoran said in Berechnung aktueller Verbrauch und Gesamtverbrauch: du verbrauchst gerade 1183000 W? Nein, seit April 1.183kwh
  • Preis berechnen

    8
    1
    0 Stimmen
    8 Beiträge
    704 Aufrufe
    NashraN
    @haus-automatisierung sagte in Preis berechnen: @nashra sagte in Preis berechnen: und ich fummel mir da was zusammen Hat mich auch ein wenig gewundert, weil Du seit 2018 dabei bist Blockly war noch nie so meins aber ab heute habe ich viel Zeit um zu lernen (Rente)
  • Szenenschalter abfragen - Trigger triggern...

    7
    0 Stimmen
    7 Beiträge
    560 Aufrufe
    HomoranH
    @fibricus sagte in Szenenschalter abfragen - Trigger triggern...: oder warum zwei getrennte falls und icht falls....sonstfalls...?
  • Lampe immer nach 6 Stunden ausschalten

    24
    2
    0 Stimmen
    24 Beiträge
    2k Aufrufe
    I
    @djmarc75, @paul53, @Asgothian , @duffy, @Homoran Vielen Dank für Eueren Input!
  • Gerät im Netzwerk true false wechselt ständig

    8
    1
    0 Stimmen
    8 Beiträge
    523 Aufrufe
    haselchenH
    @mika-0 Vielleicht solltest du den Ping Adapter nutzen. Zuverlässiger als die TR-064 Abfrage.

582

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge