Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.6k Topics 79.6k Posts

NEWS

  • Ical Termine als Telegramnachricht

    53
    0 Votes
    53 Posts
    4k Views
    bahnuhrB
    @bahnuhr sagte in Ical Termine als Telegramnachricht: Daumen hoch, wenn man helfen konnte. Danke. 1 x hätte auch gereicht.
  • (gelöst) Waschmaschinen-Script

    Moved javascript blockly
    14
    1
    0 Votes
    14 Posts
    2k Views
    C
    Hi, mein Waschmaschienen-Script läuft mittlerweile durch die Hilfe von @ticaki super, hier der Export: <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="!df3q1hN*qnK_W)[d{{H">Waschmaschine an</variable> <variable type="undefined" id="fertigVerzoegerung">fertigVerzoegerung</variable> </variables> <block type="variables_set" id="ycG5HcVQN~xiJnuLxzP1" x="-1162" y="-88"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="I3Ht7LVg5R^=m?)Rly=x"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="0OpgV#$XoAhyDLNC9]Z:"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="OG%.+#,mB.74-wT|)2[8"> <field name="oid">sonoff.0.DVES_232BA0.ENERGY_Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="wI^iVI:pvsH{,+PoJ+hG"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="g@7ZDRh}Nur]oI5Egkc|"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="oe@9Q5W:ggN]rM5,v#zg"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="{kP_!eD9rNh9`r`s]Q3A"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="~FMTTT]~A~./S#CUIx`%"> <field name="NAME">fertigVerzoegerung</field> <next> <block type="controls_if" id="cE|0+tREt|P)N-0=1T@V"> <value name="IF0"> <block type="logic_negate" id="E_5!jY*[@FD2Z^f!ShpB"> <value name="BOOL"> <block type="variables_get" id="0:5$lk6RYw~q;}cbzRPv"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="oMF]TV~olH+5hwpM?aB3"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="y};:JiCEKftvLzpi9udj"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id=",|1S-}C0Y!a~!QhkbLtB" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Uvu#c}mt27h!c^nepsP_"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="l8@.?0=kc[2B43Mw1bmy"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="hbEd/lw-DDi35V]Ai!Pz"> <field name="NUM">10</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="8|BVPh;IHw;Hyn$B6h?h"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="oz9+rqGSHKFBDf6Zso*F"> <field name="VAR" id="!df3q1hN*qnK_W)[d{{H" variabletype="">Waschmaschine an</field> <value name="VALUE"> <block type="logic_boolean" id="_!HS/*Ye)Rm?oKCAYHa1"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_settimeout" id="azgbGpM5m)%,a,J7X5xt"> <field name="NAME">fertigVerzoegerung</field> <field name="DELAY">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="?+*.%~j=n=Er.=yuk|@Q"> <value name="IF0"> <block type="logic_compare" id="l/K/WT_=7yfc}!02@d,v"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="4w8Ey^YLHrU#N/;~HL6%"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_232BA0.ENERGY_Power</field> </block> </value> <value name="B"> <block type="math_number" id="DPNl(#U[Pb*K]xA2b`u_"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="0.J#bYFZAX7T88.xe`Km"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="*iX7R,1rM2F{HGn~8y+K"> <field name="TEXT">text</field> </shadow> <block type="text" id="Lfd?v:K2wJhL4,UiG.gP"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> <next> <block type="controls_if" id="OaEdTIE*lwD0_^}A=}z8"> <value name="IF0"> <block type="logic_compare" id="{pG2~y_0Mevq-M89X{Ig"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="l`YLU*=+cUftE~:9?2.d"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Nachtruhe</field> </block> </value> <value name="B"> <block type="logic_boolean" id="`Dfy!s:LFi2IPdPHsh6U"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="ZBuPS|cBIodglA`k8(i+"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0911M0894250MUG.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="Vo+n~Pjd]+#WPI]AkD8s"> <field name="TEXT">Die Waschmaschine ist fertig</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml> [image: 1586761430558-bildschirmfoto-2020-04-13-um-09.03.28.png] Beim Trockner muss ich noch ran, habe ich bisher nicht geschafft. Bei meinem Trockner ist der Fall, dass dieser mehrfach am Ende noch die Trommel dreht, das klappt mit dem o.g. Script natürlich nicht. Sobalsd ich was habe, stelle ich das natürlich auch noch rein...
  • Blockly HTML Request und Ergebnis auswerten

    3
    0 Votes
    3 Posts
    526 Views
    C
    @paul53 Danke für dein Feedback. Das NPM-Modul habe ich bereits installiert. Wenn ich meinen Log richtog verstehe bekomme ich erst bei dem letzten Punkt einen Error... 08:33:10.632 [info] javascript.0 (21835) script.js.Skripte.Multimedia.Skript1: request: http://192.168.178.48/fsapi/GET/netRemote.sys.info.friendlyName?pin=1234 08:33:10.674 [info] javascript.0 (21835) script.js.Skripte.Multimedia.Skript1: FS_OK Buero 08:33:11.675 [info] javascript.0 (21835) script.js.Skripte.Multimedia.Skript1: FS_OK Buero 08:33:11.677 [error] javascript.0 (21835) at Object. (script.js.Skripte.Multimedia.Skript1:12:63) In der Info Ausgabe 2 und 3 zeigt er die gelieferten Werte korrekt an, diese jedoch ohne die Namen in <>. Muss ich das irgendwie beim herausfiltern von "Buero" beachten?
  • bei Sturm Markise einfahren

    18
    0 Votes
    18 Posts
    1k Views
    H
    @paul53 sagte in bei Sturm Markise einfahren: @Hicki sagte: wenn es regnet und starker Wind ist, soll die Bewässerung abschalten. Du meinst sicherlich: Wenn es regnet oder starker Wind ist ? [image: 1586711905638-blockly_temp.jpg] Fehlen da nicht noch die Regenwerte?
  • 2 Votes
    2 Posts
    1k Views
    smileS
    Script Update 12.04.2020 Fehlerbehebungen: Script prüft die aktuellen Werte ab, bevor sie doppelt geschaltet werden Verbesserungen: Die Lüftungs - Automatik wurde verbessert: Es gibt nun 3 verschiedene Lüftungs - Modi: Manuell = Kein Eingreifen durch iobroker Manuell Luftwechsel = Automatische Auswahl des Wärmerückgewinnungs-Modus, aber mit konstantem Luftwechsel Automatik = Wie 2. nur mit ebenfalls automatischem Luftwechsel. Das Script ist dahingehend optimiert, dass nun immer anhand der Innentemperatur und der Außentemperatur zusätzlich zum idealen Lüftungsmodus auch die Geschwindigkeit ausgewählt wird. Automatischer Wechsel der Modi zeitgesteuert Abends, damit vor den Schlafen gehen das Schlafzimmer gut durchgelüftet wird, so Morgens nach dem Aufstehen der "Nacht-Modus" (2. Manuell Luftwechsel) wieder auf komplette Automatik umgestellt wird. So ist gewährleistet, dass zu Schlafenszeiten und davor immer der maximale Luftaustausch stattfindet. Gleichzeitig ist während der Einschlafphase der Lüfter für 60 Minuten leise gestellt, so dass man Ruhe beim Einschlafen hat. Zu Nicht-Schlafenszeiten ist der Lüfter dann vollautomatisch für Energiesparen optimiert, was seine Lüftungsgeschwindigkeit sowie auch den Lüftermodus betrifft.
  • Wecker stellen aus Telegram Nachricht

    1
    1
    0 Votes
    1 Posts
    320 Views
    No one has replied
  • [gelöst] Bilder von Kamera speichern Zertifikatfehler

    3
    1
    0 Votes
    3 Posts
    250 Views
    S
    @AlCalzone Meine alte dafang hat http und die neue https. Jetzt weiß ich auch warum ich bei der alten das Problem nicht hatte. Aber ich habe jetzt mit wget --no-check-certificate .................... eine recht einfache Lösung gefunden. Vielen Dank für den Tipp!
  • Subfunktion in Blockly

    22
    1
    0 Votes
    22 Posts
    2k Views
    T
    @dslraser Danke, habe ich probiert. Der Code wird etwas kompakter, wenn man den javascript-Umsetzung vergleicht. Ändert am Problem leider nichts. Die Alexa sagt nach dem Ablehnungston "Das weiß ich ... (leider nicht)" wobei sie von der erwünschten Antwort unterbrochen wird. Ich probiere es dann doch über den IoT-Adapter und ggf Alexa-Routine um ohne das ohne "an" abzufragen.
  • [gelöst] blockly musikplayer - VIS

    blockly javascript multimedia
    30
    0 Votes
    30 Posts
    4k Views
    dslraserD
    @patrick039212 sagte in [gelöst] blockly musikplayer - VIS: @dslraser Vielen, vielen, vielen dank, es funktioniert perfekt! mach mal so, dann geht es auch wenn die Mediathek gewechselt wird.(weil da wechselt auch currentState von true auf false und umgekehrt. [image: 1586585018158-bildschirmfoto-2020-04-11-um-08.01.28.png] Blockly Export <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="warten">warten</variable> <variable type="undefined" id="warten1">warten1</variable> </variables> <block type="on_ext" id="n[L!|Z3-!2M2`/YI1VLc" x="-462" y="-88"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="[;8D5{yn~A$[uJ)r,M5U"> <field name="oid">hm-rpc.0.xxx.3.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="f#iR]GJ8lUs`EK5?1]3l"> <field name="NAME">warten</field> <next> <block type="controls_if" id="r4;C-s:gJHryisv4KGb`"> <value name="IF0"> <block type="on_source" id="X2ey^e9~Ky=hL=ap+Ig7"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="controls_if" id=")CPaSYFnC1BV=@+uY.4I"> <value name="IF0"> <block type="logic_compare" id="Da9}Q3WGE1O0_Uh~2WE;"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="4R.`#-r4WQ+bCL~c5MO2"> <field name="ATTR">state.from</field> </block> </value> <value name="B"> <block type="text" id="ZcgMybnh-RIZZdizL}k$"> <field name="TEXT">system.adapter.javascript.0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="g}TuHbtrA6O!-t0!C#q;"> <field name="COMMENT">NDR2</field> <next> <block type="control" id="pdP4]j.R]sG|Kbv{UAOu"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Player.TuneIn-Station</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="s,iZ/qZ?P?P|Z_$-J}W["> <field name="TEXT">NDR 2</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="timeouts_settimeout" id="l]}8z`u4$EnTQ+56jS:;"> <field name="NAME">warten</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id="uQ[6Vx)A8^f[_`ZWBo-I"> <value name="IF0"> <block type="logic_negate" id="zK`x%(ZQA8k#?-Z!t@^t"> <value name="BOOL"> <block type="on_source" id="NC?ijjP{R3-qto[S*:Y?"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="0+z[`l2Zz,^W07pFcVwI"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.xxx.Player.controlPause</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="^IkG(Ro4UR:bdnfAd[tl"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="/?mYxi#6K*C8f~d*4Z}3"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="A%x#r]gw28kiogk%rbXz"> <field name="oid">alexa2.0.Echo-Devices.xxx.Player.currentState</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="]zZY~`R|cK#JUQ?o[mcR"> <field name="NAME">warten1</field> <next> <block type="controls_if" id="]xyP-o,QmN)`)*i$=/Kj"> <value name="IF0"> <block type="on_source" id="I8m%eC7^e~Q6|A3?l/Ns"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="control" id="--TW.4D{Cr^MBX!}hh|%"> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.xxx.3.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="XMyhv9A6+QU6tDZk(m|a"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="timeouts_settimeout" id=")$,Bovlq;z5du7z6G*!_"> <field name="NAME">warten1</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id="X7W43%DS?aL~;O6`)/{("> <value name="IF0"> <block type="logic_negate" id="M.wEb-V%;8ecnBf[^(i7"> <value name="BOOL"> <block type="on_source" id="*Vex#qEb+mF{LKh@#u|T"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="6a`dv{_S9_whBP:BcUp."> <mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.xxx.3.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="#p|drbt/hX)T-sjS)[oR"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
  • Lichtsteuerung (langsam dimmen lassen) [gelöst]

    blockly
    31
    1
    0 Votes
    31 Posts
    2k Views
    A
    @ticaki Unterhalb! Das war es! Eigentlich logisch, der Intervall muss ja erst definiert sein bevor er etwas damit machen kann m( Aber jedenfalls: HEUREKA! Es klappt! DANKE! Jetzt muss ich nur noch die alte Funktion ersetzen und dann ist das nächste Projekt an der Reihe ^^
  • [gelöst] Anzahl Vorkommen in Datenpunkt ermitteln

    blockly
    11
    2
    0 Votes
    11 Posts
    537 Views
    P
    @paul53 Ich glaube, ein klein wenig weiter bin ich gekommen: [image: 1586528305419-695e5a1e-e83d-40b7-b315-10973aab2ee5-image.png] Hiermit kann ich zumindest schon das Datum und die Schmerzart Migräne als Wort aus der JSON filtern. Nun möchte ich einbauen, dass falls das Datum nicht das selbe ist wie bei der letzten Schleife, der cnt Anzahl Migräne um 1 erhöht wird. Letzter Wert kenne ich aber nur aus einem Trigger, den ich hier nicht nutzen kann. Habe ich noch eine andere Möglichkeit, dieses als Vorgabe zu hinterlegen?
  • Wert in Knotenpunkt schreiben

    3
    1
    0 Votes
    3 Posts
    348 Views
    M
    Habs gefunden. jetzt funktionierts. Manchmal ist es so einfach.
  • Licht nach XY Minuten automatisch ausschalten

    20
    0 Votes
    20 Posts
    4k Views
    mickymM
    @Vazi Müsste PulseTime1 700 sein .
  • Aktualisierungen eines Datenpunktes in den letzten 24 Std

    1
    0 Votes
    1 Posts
    151 Views
    No one has replied
  • Zwei Bewegunsmelder (Folge) sollen Licht ausschalten

    32
    1
    0 Votes
    32 Posts
    4k Views
    I
    Ich habe es jetzt anders gemacht, da es ja offenbar niemand beantworten konnte. Die Lampe schaltet unten länger an und wenn der Shelly auf true steht und oben der BWM aktiviert wird, schaltet der Shelly ab. Normal sollte dann unten so lange keine Aktion erfolgt sein, dass dieser auch die Bewegung meldung und anschaltet. Noch nicht sonderlich schick, aber mit der Wartezeit erstmal nicht anders machbar für mich.
  • [gelöst] FullyBrowser Camshot speichern

    12
    0 Votes
    12 Posts
    1k Views
    S
    so, getestet und hier noch mal das Ergebnis: so sieht das Blockly aus. [image: 1586365876797-33a02dbd-ca06-43ba-9f65-5cfdd3aad093-grafik.png] der abgeschnittene wget-Befehl komplett: wget 'http://192.168.10.60:2323/?cmd=getCamshot&password=xxx' -O /home/micha/pics/$(date +%y-%m-%d_%H:%M:%S).jpg wie oben schon geschrieben, ioBroker braucht in dem Ordner Schreibrechte... in meinem Beispiel mit: chmod 777 /home/micha/pics
  • [gelöst] 0_userdata.0 datenpunkt mit Blocky erzeugen

    4
    0 Votes
    4 Posts
    356 Views
    M
    @paul53 Danke Dir Paul :-)
  • 0 Votes
    3 Posts
    520 Views
    paul53P
    @Penny2912 sagte: Den Trigger habe ich, wie zu sehen, auf "wurde geändert" stehen, allerdings immer wenn Radar2 den Status aktualisiert, dann setzt das Script auch die Variable "Anwesenheit" erneut auf "true" Das glaube ich nicht. Wenn getriggert wird, muss sich einer der beiden Werte geändert haben. Überprüfe es mal mittels eine Log-Ausgabe. [image: 1586334575984-blockly_temp.jpg]
  • Aqara Bewegungsmelder über Deconz Adapter

    12
    2
    0 Votes
    12 Posts
    1k Views
    J
    @ticaki So kann man das machen, oder sich einfach angewöhnen, dass man direkt vor jedem timeout diesen auch erst mal stoppt. So läuft der egal wie und wo er gestartet wurde nur einmal.
  • FRITZ!DECT 200 Steckdose: Abschalten bei Zieltemperatur

    5
    1
    0 Votes
    5 Posts
    577 Views
    T
    Ich stelle mir gerade vor wie die Sicherheitsschaltung um 3:00 morgens die Anlage frei gibt :) @P-A-L-A-D-I-N Alexa ist einfach: alexa2.0.Echo-Devices.xxxxxxxxxxx.Commands.announcement verwende "steuere" und schreibe den Text den du möchtest in den Datenpunkt. Die xxxxx sind die Seriennummer des Echos der den Text ausgeben soll.

285

Online

32.7k

Users

82.5k

Topics

1.3m

Posts