Weiter zum Inhalt

Blockly

6.6k Themen 79.8k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • [gelöst]Blockly Debug Result,verw. ein. Teilstring

    4
    1
    0 Stimmen
    4 Beiträge
    513 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
    249 Aufrufe
    X
    Ein Neustart der Skript Engine hat das Problem beseitigt.
  • Millisekunden in SS:mm:ss umrechnen?

    3
    1
    0 Stimmen
    3 Beiträge
    402 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.
  • 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
    628 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
    709 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
    414 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
    458 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. Ich hätte nicht geglaubt, dass eine Steckdose "abstürzen" kann.
  • Gesamkt Stromkosten ab Datum

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

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

    blockly
    10
    1
    0 Stimmen
    10 Beiträge
    547 Aufrufe
    UweRLPU
    Geändert werden Verschiende Objekte, Debugout gibt aber imme nur einen Wert aus... Test_Cont_1 Debugout Test_Counter_1
  • Lichter zählen ich bekomme es nicht gebacken

    6
    1
    0 Stimmen
    6 Beiträge
    833 Aufrufe
    FruityF
    @crunchip Vielen Dank Damit hat es geklappt. Perfekt! Gruß Michel
  • [gelöst] DP in Blockly aber nicht in Objekte

    7
    2
    0 Stimmen
    7 Beiträge
    350 Aufrufe
    X
    sorry wenn ich das noch mal aufwärme. Kann man einen Zweig der z.Z. nur im Expertenmodus sichtbar ist auch im normalen Modus sichtbar machen? Hintergrund ich würde meinen DPs "_MyHomeControl.0" immer oben sichbar haben.
  • *gelöst* Variabler Cronjob über VIS / Wecker

    blockly scenes
    1
    4
    0 Stimmen
    1 Beiträge
    274 Aufrufe
    Niemand hat geantwortet
  • Xiaomi 2-Wege Zigbee-Relais und Blockly

    9
    1
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    P
    @IronMan089 Ja, bei mir funktionieren die Relais mit der Kennung "lumi.relay.c2acn01" problemlos, seitdem ich eines der letzten Adapter-Updates installiert habe. Ohne die aktuelle Version des Adapters kommt allerdings auch bei mir nur das Fragezeichen. Bei mir werkelt Version 0.11.5 - ich denke, daß genau da auch das Problem bei Dir liegt, da Du ja noch die ältere 0.10.2er Version am Laufen hast! Kann sein, daß die aktuelle Version noch nicht im stable ist. In dem Falle müßtest Du im ioBroker auf "latest" umstellen oder die "Katze" zur Installation benutzen. Mit 0.11.5 sollte dann auch bei Dir alles problemlos funktionieren.
  • Über Aqara Button alle Lichter ausschalten

    3
    0 Stimmen
    3 Beiträge
    360 Aufrufe
    X
    kleine Zusatzerklärung: bei den Datenpunkten jedem Shelly (s)eine Funktion zuordnen. (Licht/Rollläden/...) Wenn du alle Lampen über shellys dran hast, müsste das Muster "shelly.0.*.Relay*.Switch" passen. nimm das Puzzle aus Funktionen ->"javascriptfunktion" o.ä. schiebe es an eine freie Stelle, vergib einen Funktionsnamen zb. "Alle_Lichter_aus" und füge den code ein der ausgeführt werden soll. Das Puzzle für den Funktionsaufruf "Alle_Lichter_aus" packst du dann in den Trigger. // Switch off all switches with function=Licht $('channel[role=switch][state.id=shelly.0.*.Relay*.Switch](functions=Licht)').setValue(false); ungetestet und hoffentlich verständlich erklärt. evtl. geht auch MultiFilter(rooms=Wohnzimmer,Küche; functions=Licht), kann ich aber gerade nicht probieren.
  • Lampe mit Bewegungsmelder und tagabhängig schalten

    8
    1
    0 Stimmen
    8 Beiträge
    873 Aufrufe
    metaxaM
    @Jan1 sagte in Lampe mit Bewegungsmelder und tagabhängig schalten: Ein BWM ist in der Regel immer ein sekundärer Schalter und wenn man sich angewöhnt den zu verwenden, geht das eben immer. Das hat was!

570

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge