Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Topics 79.4k Posts

NEWS

  • Übergeben von Loginnamen und Passwort

    1
    0 Votes
    1 Posts
    75 Views
    No one has replied
  • Leuchtmittel mit 3 festen Stufen (100, 50, 25%) steuern

    2
    1
    0 Votes
    2 Posts
    139 Views
    padrinoP
    Bisschen umgebaut, weil es sonst durch "schlechtes Timing" zu undefinierten Variablen und damit zu Problemen (Stichwort: Endlosschleife) kommen konnte. :relieved:
  • Mail wenn es neue Updates gibt

    8
    1
    0 Votes
    8 Posts
    384 Views
    M
    uih ... gerade kam ein neues Update und beide Scripts haben mit eine Mail gesendet!!
  • 0 Votes
    2 Posts
    393 Views
    J
    Hat sich erledigt. Mit "Steuere" hat es geklappt; aktualisiere ging nicht. Somit Thema erledigt, tut was er soll :-)
  • Hochbeete bewässern

    3
    0 Votes
    3 Posts
    417 Views
    L
    @Homer-J danke für die schnelle Antwort. Sieht sehr vielversprechend aus. Ich werde mich diese Woche wieder an das Projekt begeben.
  • Vorlage Telegram offene Fenster und mehr

    8
    8
    4 Votes
    8 Posts
    2k Views
    dslraserD
    @ckundel sagte in Vorlage Telegram offene Fenster und mehr: @dslraser weißt du ungefähr wann? ich schreibe die Blocklys gerade alle um. Es sind dann fast alles Variablen und nur noch wenige Sachen selbst einzugeben. In den nächsten Stunden Tagen werde ich hier in dem Beitrag alle Blocklys einstellen. Schau einfach immer mal da rein.
  • JS / Blocky Zeitsteuerung funktioniert nicht

    javascript blockly
    2
    1
    0 Votes
    2 Posts
    328 Views
    HomoranH
    @eddieari nimm bitte den einfachen Cron-Trigger Block
  • Blockly Schleife

    blockly
    3
    1
    0 Votes
    3 Posts
    537 Views
    A
    Hallo funktioniert erstmal so wie Du es erstellt hast aber: Wenn das Intervall gestartet wird, wartet Broker die eingestellte Zeit mit der ersten Ausführung bzw. ansteuern der Pumpe Ist natürlich doof denn die soll 15 min laufen und 30 sek Pause haben zwischen den Intervalle Habe das jetzt so gelöst gefällt mir auch nicht so aber die Pumpe läuft direkt an bei Betätigung des Taster [image: 1586794151878-d026ae02-94df-4ae8-858c-f23e372ee7c8-image.png]
  • Wert wird einfach überschrieben

    9
    0 Votes
    9 Posts
    379 Views
    F
    @Stefan186 Gerne, und viel Erfolg. Wenn es längere Zeit nicht mehr auftritt und dir sicher bist das es gut läuft, könntest du den Beitrag irgendwann auf Gelöst setzten. Aber teste mal er ausführlich.
  • 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
    524 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
    309 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
    534 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?

580

Online

32.7k

Users

82.4k

Topics

1.3m

Posts