Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.3k Beiträge

NEWS

  • Tastendruck via Blockly simulieren/ auslösen

    18
    1
    0 Stimmen
    18 Beiträge
    3k Aufrufe
    ruhigundrelaxedR
    ja, er hat gefrickelt. danke, für die zeile 290, hab ich übersehen. mir wird irgendwie schlecht, wenn ich meinen alten code sehe... ich muss den mal grundlegend neu bauen...
  • Handy-PING um Kaffeemaschine zu schalten

    7
    0 Stimmen
    7 Beiträge
    526 Aufrufe
    paul53P
    @ionar sagte: nur eines aktualisiert werden, um das Skript zu triggern? Ja, es ist eine Oder-Verknüpfung der Ereignisse.
  • Kann einige Werte nicht per Blockly verarbeiten

    5
    0 Stimmen
    5 Beiträge
    417 Aufrufe
    G
    @Homoran ja klar, read only... Ich wollte eine Minimum-Maximum Auswertung machen. Aber sobald ich im Blocky z. B. diesen Wert als Trigger oder sonstigem einbinde und ihn anwähle, kann ich das Blockly nicht speichern, oder gar André Dinge weiter eingeben!
  • [gelöst] ONKYO Receiver zum Aufstehen einschalten

    7
    1
    0 Stimmen
    7 Beiträge
    256 Aufrufe
    RaspiUserR
    @Homoran Super, vielen Dank !!!! Da habe ich jetzt ja einiges vor ....
  • Datenpunkte werden neu geschrieben

    9
    0 Stimmen
    9 Beiträge
    342 Aufrufe
    C
    Ich Danke euch erstmal Herzlich. Im Moment raucht mir einfach die Birne. Aber ich werde Morgen weiter machen und eure Tips ausprobieren. Tolles Forum!! Vielen Dank an euch und schlaft alle gut. Bis Morgen evtl. wenn ich nicht weiter komme melde ich mich. LG Frank
  • [gelöst] Blockly warte auf Änderung von Datenpunkt

    blockly
    2
    0 Stimmen
    2 Beiträge
    344 Aufrufe
    X
    Mit dem untenstehenden Code innerhalb eines Blockly Javascript Blocks funktioniert es wie ich es brauche. console.log("ttsOnTrigger"); let sub = on({id:"alias.0.TTS.Anwesenheitstrigger"},(obj) => { console.log("ttsNow"); ttsNow(); unsubscribe(sub);});
  • [gelöst]Blockly Debug Result,verw. ein. Teilstring

    4
    1
    0 Stimmen
    4 Beiträge
    487 Aufrufe
    K
    Ich danke euch vielmals, @paul53 deine Lösung funktioniert super, aber zumindest war ich heute Vormittag schon mal Nah dran, aber Aufbau falsch..
  • [gelöst] Alias Zahl in Skript immer NULL

    blockly
    4
    3
    0 Stimmen
    4 Beiträge
    248 Aufrufe
    X
    Ein Neustart der Skript Engine hat das Problem beseitigt.
  • Millisekunden in SS:mm:ss umrechnen?

    3
    1
    0 Stimmen
    3 Beiträge
    390 Aufrufe
    padrinoP
    @Chaot Danke. :) Für meine Zwecke ist das fast schon zu komplex, da ich maximal nur so 1-2 Stunden an "Dauer" benötige. ;) Ich habe mir jetzt einfach so geholfen, dass ich vom Wert "Stunden" 1 abziehe, dann passt es - Minuten und Sekunden stimmen ja... Keine Ahnung, was gethours() da anders macht als getminutes() und getsecond(s), aber mit "-!" passt's erstmal und da soll es für den Moment genügen. :innocent:
  • Blockly richtig, habt ihr Optimierungen?

    blockly javascript
    7
    1
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    snookerapS
    Super, bin damit nun am Ziel. Habe das Skript nun noch um die rechts/links-Tasten erweitert, damit kann man nun auch die Farbtemperatur ändern. Vielen Dank. Hier noch das Skript zur runden IKEA Tradfri Fernbedienung: Spoiler <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Intervall">Intervall</variable> <variable type="undefined" id="Intervall2">Intervall2</variable> </variables> <block type="comment" id="GF?#]TDMX0fEUD5;_010" x="-112" y="13"> <field name="COMMENT">Tradfri Fernbedienung rund</field> <next> <block type="on" id="PS7sjAC%Zz]_`PCPSsHG"> <field name="OID">deconz.0.Sensors.21.buttonpressed</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="S|K#ydTR12qX0elAf@BO"> <mutation elseif="8"></mutation> <value name="IF0"> <block type="logic_compare" id="49d}ONGxYMVl^Q[On#]v"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="oiG.ITkl:.9o7{_}X9}M"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id=")8LqWiRMJ`^TPQA[7u?p"> <field name="NUM">1002</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="g,@Bi+F{ebs9:DMEK(y("> <field name="COMMENT">PowerButton an/aus</field> <next> <block type="toggle" id="GTWB@zw%bHy=B:,0*M:L"> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.on</field> <field name="WITH_DELAY">FALSE</field> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="jW~||2rj0n):0ZcabS6Z"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="g?C/*M5}~lsGHl;d/.}x"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="fuoJYSyzUDbb,kDw/K#F"> <field name="NUM">2001</field> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="0;(Ira]r^}^A[HuV-pxP"> <field name="COMMENT">HellerButton gedrückt halten</field> <next> <block type="timeouts_setinterval" id="+8e^LD*/n7IAk_[qVtKp"> <field name="NAME">Intervall</field> <field name="INTERVAL">100</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id=":O`(O~Xm9K^$HdAY_Ugg"> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.bri</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="xL{U:#n-)o,p+[;I9I1M"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="K.Tqe=!]r;F=2=n_:,9s"> <field name="NUM">1</field> </shadow> <block type="get_value" id="%0KZJ55(w!LpB?]S+a:s"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.11.bri</field> </block> </value> <value name="B"> <shadow type="math_number" id=",:LrhAOF20_xFO{EO}}+"> <field name="NUM">5</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="^Q+E!bb7_1X^h@!_Cf#Z"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="/fHwAA$~5oF2z_qPw/oc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="Z7-MEz,W.uqjovD@E7hW"> <field name="NUM">2003</field> </block> </value> </block> </value> <statement name="DO2"> <block type="timeouts_clearinterval" id="$L_dFqmV3UCKQHQ))Ph)"> <field name="NAME">Intervall</field> </block> </statement> <value name="IF3"> <block type="logic_compare" id="e@#;:j%gTiE49jXv5LfP"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="wvx*4WdQzL`(w!Myx~60"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="#/XPR1}uYCeC!j0fiMLj"> <field name="NUM">2002</field> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="_iJm@?sm2ch$@C=|:|wZ"> <field name="COMMENT">HellerButton kurz drücken</field> <next> <block type="control" id="1Nes%3/w8lO0$(r@amD,"> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.bri</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id=":APjOg1u[MFVR?TmoY*9"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^"> <field name="NUM">1</field> </shadow> <block type="get_value" id="b$zWLnSevo;2m(LTG/xI"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.11.bri</field> </block> </value> <value name="B"> <shadow type="math_number" id="EL3o5qF%r@P[,76)vwBu"> <field name="NUM">50</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <value name="IF4"> <block type="logic_compare" id="GtDo4SwgdMCgm4M-(oxX"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="{ON(*:nOi/Fo!;-Vnor)"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="fY3%{TKV}Uu.|[1B.s/W"> <field name="NUM">3001</field> </block> </value> </block> </value> <statement name="DO4"> <block type="comment" id="O3MR8B/S`;9SWb]s!._6"> <field name="COMMENT">DunklerButton gedrückt halten</field> <next> <block type="timeouts_setinterval" id="p/j*@#}dBXopL%g;~{8("> <field name="NAME">Intervall2</field> <field name="INTERVAL">100</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="7GOv#eCNZ3aG}pl)~N4["> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.bri</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="]T?B7Q$V~Z@qX58lzB2$"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="K.Tqe=!]r;F=2=n_:,9s"> <field name="NUM">1</field> </shadow> <block type="get_value" id="R@0e2ZgFqrP|Kg5h_mjJ"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.11.bri</field> </block> </value> <value name="B"> <shadow type="math_number" id="4td,9E240^l$VUJw|QvS"> <field name="NUM">5</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF5"> <block type="logic_compare" id=":uT}}1Jyj(E^ki~~%FAw"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="5oM9z5IYMMs(gfqkw!Ph"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="+.9}/,HqYnohoOx[hQE_"> <field name="NUM">3003</field> </block> </value> </block> </value> <statement name="DO5"> <block type="timeouts_clearinterval" id="{QYloP}~KUDjL:p1%lQq"> <field name="NAME">Intervall2</field> </block> </statement> <value name="IF6"> <block type="logic_compare" id="FaTb%(n,rsi?IqJP2nyL"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Sh~wut|vnHZ$mPqbh-UZ"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="u[y?P[~XW|F0=@QcpNr4"> <field name="NUM">3002</field> </block> </value> </block> </value> <statement name="DO6"> <block type="comment" id=";8I-b=cKfU$$k8t^#mJ2"> <field name="COMMENT">DunklerButton kurz drücken</field> <next> <block type="control" id="T.P-{$/8h;%@?Hh9Mie^"> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.bri</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="j)?K/_tAn(3f3FQB@8n/"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^"> <field name="NUM">1</field> </shadow> <block type="get_value" id="mT~!G2ErYr?`ilQ7!F@{"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.11.bri</field> </block> </value> <value name="B"> <shadow type="math_number" id="s*AwTR}KXhDaf@Z!=qBJ"> <field name="NUM">50</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <value name="IF7"> <block type="logic_compare" id="wkB|Bu?+d$*!OM0-DM-5"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="VoN_Iv9?6eN{.)mln7f}"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="ZLgLe{e1JW6pXC;t#B6e"> <field name="NUM">5002</field> </block> </value> </block> </value> <statement name="DO7"> <block type="comment" id="yjD+xVUZ!m88~[oF$p!5"> <field name="COMMENT">rechter Button drücken oder halten</field> <next> <block type="control" id="MU#u3x-^:8{s;7nC.7[q"> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.ct</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="[5hpu(EIxY=!s)k8GI%~"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^"> <field name="NUM">1</field> </shadow> <block type="get_value" id="rS81j2E!708%r`czh*OU"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.11.ct</field> </block> </value> <value name="B"> <shadow type="math_number" id="C=0#As#~GTa5_Gg3!ss^"> <field name="NUM">50</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> <value name="IF8"> <block type="logic_compare" id="3d.]lc-VwM9xb@4fv~rR"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="mm-kYA@4jwl?b^UAn4]g"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="doIT]/g.h=o4#P4F5cd_"> <field name="NUM">4002</field> </block> </value> </block> </value> <statement name="DO8"> <block type="comment" id="=K**+WE/L[ON8emj0@,/"> <field name="COMMENT">linker Button drücken oder halten</field> <next> <block type="control" id="HQ+)1j=3?NO;h5u?n}mT"> <mutation delay_input="false"></mutation> <field name="OID">deconz.0.Lights.11.ct</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id=".;?A8=c_4[*`WTb=mOi?"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="x5UG8IW$t%r:{+oje{h^"> <field name="NUM">1</field> </shadow> <block type="get_value" id="`|mYn[9gx;LI}x?}#O.n"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.11.ct</field> </block> </value> <value name="B"> <shadow type="math_number" id="[PinUQ5hb3ee]o65B]Ii"> <field name="NUM">50</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml> [image: 1578736627763-anmerkung-2020-01-11-105651.png]
  • [Gelöst] Stromverbrauch Berechnung - Logikfehler?

    blockly javascript
    9
    1
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    I
    @paul53 said in Stromverbrauch Berechnung - Logikfehler?: @Intruminator sagte: mir das erklären? Der aufzuaddierende Wert ist zu klein, um beim Runden auf 4 Nachkommastellen noch einen Unterschied zu erzeugen. Verwende besser eine Variable für den Verbrauch, addiere auf diese auf und runde erst beim Speichern des Variablenwertes in den Datenpunkt. Etwa so: [image: 1578679715333-blockly_temp.jpg] Ok Paul, deine Idee zu dem Skript funktioniert! Einzig die Anzeige der 4 Nachkommastellen ist noch nicht so wie gewünscht. Logischerweise wird bei niedrigen Verbrauchszahlen von W=3 Watt dann 3/3600000 = 0,00000083 kWh pro Sekunde berechnet. Diesen Wert auf 4 Stellen zu Runden gibt dann immer 0. Mein Kompromiss wird es jetzt sein den Wert für den täglichen Verbrauch auf 8 Nachkommastellen zu runden. Dann passt die Berechnung ohne zu starken Rundungsfehler. Im nächsten Schritt werde ich am Ende des Tages den Tageswert aufsummieren und in ein neues Objekt "Monatsverbrauch" schreiben. Hier kann ich mit größeren Werten dann "runden". Der Tageswert wird dann wieder auf 0 gesetzt. :) Danke für die freundliche Hilfe und schönen Samstag noch.
  • Umwandeln von Value.Power (Watt) in Zahl?

    5
    1
    0 Stimmen
    5 Beiträge
    596 Aufrufe
    D
    Das glaub ich jetzt ja wohl nicht...^^ So ein dummer Anfängerfehler... Bitte vielmals um Entschuldigung für diesen Thread - hier stand ich wohl völlig auf dem Schlauch - auch wenn ich zu meiner Entschuldigung noch sagen darf, dass ich neu bei Blockly bin :) Vielen Dank! Fehler behoben
  • Lichtsteuerung ohne Lichtsensor

    8
    0 Stimmen
    8 Beiträge
    680 Aufrufe
    smarthome-tricks.deS
    @DennisMenger Schau mal hier, ich habe dazu bereits ein kleines Script geschrieben: https://www.smarthome-tricks.de/iobroker-scriptsammlung/astro-tageszeiten-ausgeben/ Im Script werden die Astro-Namen sowie die entsprechenden Uhrzeiten ausgegeben. Du musst nur Deine Koordinaten im Aufruf entsprechend anpassen :-)
  • [gelöst] Fehler bei Script Türstatus

    4
    2
    0 Stimmen
    4 Beiträge
    408 Aufrufe
    paul53P
    @Haifisch_777 sagte: Muss der haken immer entfernt werde? Ja, wenn getState(id) ohne Callback verwendet werden soll, also generell für Blockly.
  • Diesel Preis bei änderung Email schicken

    6
    1
    0 Stimmen
    6 Beiträge
    431 Aufrufe
    AlCalzoneA
    @GTV Ich würde einfach den E-Mail-Block 2x nutzen und beim zweiten den Empfänger ändern.
  • [gelöst] wie Blockly Script "schöner" machen ?

    20
    1
    0 Stimmen
    20 Beiträge
    1k Aufrufe
    paul53P
    @HAL sagte: es hat geklappt ! Bitte das Thema als [gelöst] markieren.
  • Blocky Script schaltet nach 7 Tagen nicht mehr

    2
    1
    0 Stimmen
    2 Beiträge
    163 Aufrufe
    G
    Erledigt. Standard IT-Lösung: Osram-Schaltstecker vom Netz und wieder dran. :face_palm: Ich hätte nicht geglaubt, dass eine Steckdose "abstürzen" kann.
  • Gesamkt Stromkosten ab Datum

    blockly
    10
    1
    0 Stimmen
    10 Beiträge
    576 Aufrufe
    AphofisA
    @paul53 Da hast du wohl Recht !!!
  • Zufallszahl

    4
    0 Stimmen
    4 Beiträge
    254 Aufrufe
    K
    @paul53 danke
  • Anfänger : Frage zur Funktion von Blockly

    blockly
    10
    1
    0 Stimmen
    10 Beiträge
    545 Aufrufe
    UweRLPU
    Geändert werden Verschiende Objekte, Debugout gibt aber imme nur einen Wert aus... Test_Cont_1 Debugout Test_Counter_1

305

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge