Weiter zum Inhalt

Blockly

6.6k Themen 80.4k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Bewegungsmelder über Sat-Receiver anzeigen lassen

    7
    0 Stimmen
    7 Beiträge
    779 Aufrufe
    J
    @oberfragger Ja morgens muss der TV an sein, wie soll ich sonst wissen, ob da draußen noch alles so ist wie ein Tag vorher, bevor ich zur Arbeit fahre? So zur eigentlichen Frage. Mein Sat Receiver bootet in 20 Sekunden hoch, deshalb schalte ich den auch immer komplett aus. Hat dann den Vorteil, dass ich den DP "connection to receiver"des Enigma2 Adapter schön zum Triggern des Blockly verwenden kann. Die Temperatur zieh ich mir aus dem "temperatureMin" DP des openweathermap Adapter der mir wirklich für meine Ecke sehr genaue Daten liefert (Abweichung zu meinem Thermometer draußen, selten mehr als 0.1°C). Mit dem Telegram Blockly schreibe ich gleich ne Variable, ob überhaupt was angezeigt werden muss und schon funktioniert das wie gewünscht. Message.timeout bewirkt dann noch, dass man die Meldung mit OK am Receiver bestätigen muss und sie so definit auch gelesen wird.
  • [Gelöst] Timeout mit Variable setzen

    blockly
    3
    0 Stimmen
    3 Beiträge
    856 Aufrufe
    W
    Danke, werde ich testen und mir das Video auch mal ansehen Viele Grüße Walkinlarge2010
  • Diverse Aktoren über einen Schalter steuern.

    scenes javascript blockly
    8
    0 Stimmen
    8 Beiträge
    602 Aufrufe
    A
    Und das Ganze etwas erweitert: var Rueckstellung, Zaehler_On, Zaehler_OFF, Auswertung; on({id: 'Aktor_Küche#1.Relay0.Switch', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Rueckstellung = setTimeout(function () { Zaehler_On = 0; Zaehler_OFF = 0; console.warn((['Variablen zurückgesetzt, Mit Zähler ON= ',Zaehler_On,' und Zähler OFF=',Zaehler_OFF].join(''))); }, 10000); if (getState("Aktor_Küche#1.Relay0.Switch").val == true) { Zaehler_On = (typeof Zaehler_On == 'number' ? Zaehler_On : 0) + 1; } if (getState("Aktor_Küche#1.Relay0.Switch").val == false) { Zaehler_OFF = (typeof Zaehler_OFF == 'number' ? Zaehler_OFF : 0) + 1; } Auswertung = setTimeout(function () { if (Zaehler_On == 2 && Zaehler_OFF == 2) { if (getState("Lampe 1#1.Relay0.Switch").val == false) { setState("Lampe 1#1.Relay0.Switch"/*Switch*/, true); console.log('Aktor1_in_der_Wunschszene aktiviert'); } if (getState("Lampe 1#1.Relay0.Switch").val == true) { setState("Lampe 1#1.Relay0.Switch"/*Switch*/, false); console.log('Aktor1_in_der_Wunschszene deaktiviert'); } Zaehler_OFF = 0; Zaehler_On = 0; } if (Zaehler_On == 3 && Zaehler_OFF == 3) { if (getState("Lampe 2#1.Relay0.Switch").val == false) { setState("Lampe 2#1.Relay0.Switch"/*SHSW-1#BA6C4B#1.Relay0.Switch*/, true); console.log('Aktor2_in_der_Wunschszene EIN'); } if (getState("Lampe 2#1.Relay0.Switch").val == true) { setState("Lampe 2#1.Relay0.Switch"/*SHSW-1#BA6C4B#1.Relay0.Switch*/, true); console.log('Aktor2_in_der_Wunschszene AUS'); } Zaehler_OFF = 0; Zaehler_On = 0; } }, 6000); }); Die Variablen werden erst nach 10 Sekunden genullt und die Auswertung der Wunschszene erfolgt - in diesem Beispiel - nach 6 Sekunden. Hinterlegt wird ein jeweils angepasstes Script für jeden in Frage kommenden Teilnehmer, der die Szenen auswählen darf.
  • Osram Plug, Zeitschaltuhr & Anwesenheitskontrolle

    3
    1
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    BBTownB
    @Dennis-80 so etwas in der Art könnte funktionieren [image: 1573899972715-4c02c2cf-2f46-4dc0-91f1-999f1a6f048c-grafik.png] Spoiler <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="Wg=Kx)B2jS@5sHnC-GjP">Nachtruhe</variable> <variable type="" id="!rm1dl0R?IS0xR^zOKfz">TV</variable> <variable type="" id="nuLeyg)0=b%9p:7`B`m1">Anwesenheit</variable> </variables> <block type="variables_set" id="W.)DSCv_,jHFEO8y4(2a" x="13" y="13"> <field name="VAR" id="Wg=Kx)B2jS@5sHnC-GjP" variabletype="">Nachtruhe</field> <value name="VALUE"> <block type="logic_boolean" id="@m^k3VN;mznwXQ~T0xc7"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="on_ext" id="pO41L)e{#85jz6qWV2kj"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="SO?Hhkk@-nsj{I4-OT)-"> <field name="oid">Test.0.TV</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="g/a=C@1:8Z7bUcd*;h*7"> <field name="VAR" id="!rm1dl0R?IS0xR^zOKfz" variabletype="">TV</field> <value name="VALUE"> <block type="on_source" id="IYH@/3n*Iw#%3B:DK#!z"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="XX6fI49Qn^C/seTsc#CF"> <mutation name="Steckdose"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="^;y73TC8#eTVcfuMs9$%"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="kbrb]tF(gd9em=u{m3HZ"> <field name="oid">Test.0.Anwesenheit</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="u38_lQ*Yr`,l(XFY~bb^"> <field name="VAR" id="nuLeyg)0=b%9p:7`B`m1" variabletype="">Anwesenheit</field> <value name="VALUE"> <block type="on_source" id="ufMsS1qn}*UJR=|~H!*="> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="D,,l+P6rqYVjf;W_ssfV"> <mutation name="Steckdose"></mutation> </block> </next> </block> </statement> <next> <block type="schedule" id="i]5(xi+AsodxbD}ie+E~"> <field name="SCHEDULE">0 21 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="*88(xzk6PTC`opAfhz$+"> <field name="VAR" id="Wg=Kx)B2jS@5sHnC-GjP" variabletype="">Nachtruhe</field> <value name="VALUE"> <block type="logic_boolean" id="BQ(Sy7oq{oR_1si)?MoB"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="UG{5@|RI7neleL*{(]vr"> <mutation name="Steckdose"></mutation> </block> </next> </block> </statement> <next> <block type="schedule" id="1BxLuB==*AT,6{H~eB_b"> <field name="SCHEDULE">0 7 * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="HN5j{NW1Ecxk$m[4bE=e"> <field name="VAR" id="Wg=Kx)B2jS@5sHnC-GjP" variabletype="">Nachtruhe</field> <value name="VALUE"> <block type="logic_boolean" id="t7q$0EOeKREs$C2pYZ}i"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="lu`qfG%KH`@P9J4NT~:f"> <mutation name="Steckdose"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="LNLf}4H8lV=Ge#vy!#YZ" x="363" y="13"> <field name="NAME">Steckdose</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="37uxm2u@ZP15cwHFBP5,"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="g7,5TKwcr}I3h_Pa2Cl," inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="}r_o69LPG6ajxjU$h:KV"> <field name="VAR" id="Wg=Kx)B2jS@5sHnC-GjP" variabletype="">Nachtruhe</field> </block> </value> <value name="B"> <block type="logic_operation" id="OP70TDHjO;Koj7bWJRXx" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="Q|.dn,yjN$ya#pz(uY/y"> <value name="BOOL"> <block type="variables_get" id="voy^i7@iTQ^cb56UcqCG"> <field name="VAR" id="!rm1dl0R?IS0xR^zOKfz" variabletype="">TV</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="2yfNcB:wo$a]jeB)h,ON"> <value name="BOOL"> <block type="variables_get" id="uH-_1^0tG4)bI2lE(XqE"> <field name="VAR" id="nuLeyg)0=b%9p:7`B`m1" variabletype="">Anwesenheit</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="(L*L7OwEx1Uwr#my9ly="> <mutation delay_input="false"></mutation> <field name="OID">Test.0.Steckdose</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="wH((r[5|Pw+L18YSrzP`"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_negate" id="ntXC!2knRBSbi;;(mn6."> <value name="BOOL"> <block type="variables_get" id="3h[oawL{7r6wu.;SJ6e%"> <field name="VAR" id="Wg=Kx)B2jS@5sHnC-GjP" variabletype="">Nachtruhe</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="GYvY_y%XMF+#:-lV2oCb"> <mutation delay_input="false"></mutation> <field name="OID">Test.0.Steckdose</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="0T8=kRA{*8THui-KpIWx"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </xml> Hier würde dann um 07:00h die Steckdose automatisch eingeschaltet, wenn das manuell erfolgen soll - und nicht automatisch - müßte der "sonst falls" Bereich entsprechned geändert werden.
  • [gelöst]Warum zeitversetztes Einschalten?

    7
    1
    0 Stimmen
    7 Beiträge
    886 Aufrufe
    Matthias HM
    @BBTown Vielen vielen Dank. so funktioniert das . Top. Hätte ich nicht hinbekommen
  • Hue soll Shelly schalten

    Ungelöst
    8
    0 Stimmen
    8 Beiträge
    4k Aufrufe
    F
    @HeliosFan hi ich hab einfach diesen unten seitlich in den Postkasten geklebt Verzögerung ist ca 3-4 sec der Hue Adapter fragt alel 3 sec ab. In der Praxis läuft das trotz Metallbriefkasten ! der ganz aussen in der 10 M einfahrt ist sehr gut. <xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="`p]Xn8a.6HqjxE%/tkvU">warten</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="6=m2OGAHG*oml0Xu##IP" x="-262" y="-237"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="R6aI=!j;pG6Luf#id_)*"> <field name="oid">hue.0.Philips_hue.Testbewegungdmelder.presence</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="Mb]Q+EB,+(UxpMRk:,,k"> <value name="IF0"> <block type="logic_negate" id="[qP2bouvPAg|9@Oz%Rqc"> <value name="BOOL"> <block type="variables_get" id="z7),r?/_i31knom;BE0^"> <field name="VAR" id="`p]Xn8a.6HqjxE%/tkvU" variabletype="">warten</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="K]z?y|p#.S^U?IFoFY,T"> <field name="VAR" id="`p]Xn8a.6HqjxE%/tkvU" variabletype="">warten</field> <value name="VALUE"> <block type="logic_boolean" id="v`]9Ng?d,ZNr?VH@q*(m"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="pushover" id="HFL4/j5CcVGI}gX7)`zX"> <field name="INSTANCE">.0</field> <field name="SOUND"></field> <field name="PRIORITY">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="??G{y36)Upw:*k6!f)s1"> <field name="TEXT">Post ist da</field> </shadow> </value> <next> <block type="control" id="X|.|+BtfVm!9J%Y]Kv,5"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.1.Echo-Devices.G000WV0484541A9F.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="aq/o:~iX6FK(F]YpuXD]"> <field name="TEXT">Hurra die Post ist da</field> </block> </value> <next> <block type="control" id="8a?uNT:YG9IXh6ClzlSI"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.1.Echo-Devices.G070RR0975070D18.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="%5.^X]nQbcN#RYRKDH/Q"> <field name="TEXT">Hurra die Post ist da</field> </block> </value> <next> <block type="timeouts_settimeout" id="!lv],e#d!q@F%FUN(r!Z"> <field name="NAME">timeout</field> <field name="DELAY">60</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="variables_set" id="H37H^W{=GK;W}EE^ScSe"> <field name="VAR" id="`p]Xn8a.6HqjxE%/tkvU" variabletype="">warten</field> <value name="VALUE"> <block type="logic_boolean" id="kt?ZI|H}MU?*DF,9s5nT"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
  • [gelöst] Virtueller Schalter funktioniert nicht

    33
    3
    0 Stimmen
    33 Beiträge
    4k Aufrufe
    H
    @paul53 Nochmal recht herzlichen Dank für Deine Geduld mit mir alten Esel. Manchmal sieht man den Wald vor Bäumen nicht, oder vielleicht denke ich auch zu umständlich Ich hab es gelöst. Zunächt habe ich den virtuellen Schalter neu erstellt (auch im cloud.0 Adapter) und neu von Alexa suchen lassen. Da Alexa jeden Befehl erst mal mit OK beantwortet (sofern nichts anderes eingestellt) ging die Ausgabe über den speak Befehl unter, da die Verzögerung fehlte. Dann fehlte noch die Rückstellung des virtuellen Schalter auf false, nachdem das Blockly durchgelaufen ist und die Synchronisation mit meinen HMIP Wandthermostat, der die vom Script vorgenommene Temperatur Anhebung nicht mitbekommen hatte. Nun für alle die mit der selben oder ähnlich gelagerten Problematik zu kämpfen haben hier das finale Blockly: [image: 1573805795731-8c87c9b9-6a93-489c-867f-828cf03f56f9-grafik.png] der funktionierende Schalter: [image: 1573800159881-0feaea4c-ed14-4690-82b9-38bc665eca88-grafik.png] Und die Cloud Anbindung für Alexa: [image: 1573800253291-c8a3f600-e4d4-4da9-bf3f-d21117f71474-grafik.png] Und aufrufen kann man es mit: "Alexa schalte schnellheizen ein"
  • Nanoleafs reagieren nicht auf Zigbee switch

    Verschoben nanoleaf blockly cc2531
    5
    1
    0 Stimmen
    5 Beiträge
    587 Aufrufe
    S
    @sochin67 Problem gelöst mit Adapter-Neustart...
  • Zeitfenster in dem Script ausgeführt werden soll

    blockly template
    4
    1
    0 Stimmen
    4 Beiträge
    412 Aufrufe
    paul53P
    @Spitfire4all sagte: in der Woche von 17:00 Uhr bis 20:00 Uhr und am Wochenende von 10:00 Uhr bis 22:00 Uhr. [image: 1573764931430-blockly_temp.jpg]
  • Zählen über Zeitraum

    6
    0 Stimmen
    6 Beiträge
    630 Aufrufe
    H
    @paul53 Vielen Dank
  • (gelöst) Alexa sagt welche Fenster geöffnet sind

    blockly
    16
    2
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    dslraserD
    @HAL sagte in (gelöst) Alexa sagt welche Fenster geöffnet sind: Ich muss noch einen Zähler einbauen wenn nur ein Fenster offen ist" Aktuell ist das Fenster xy geöffnet" oder bei mehreren "Aktuell sind die Fenster xy und xz und xz geöffnet" Das habe ich für eine Telegramausgabe so geregelt. Fenstersensoren mit Werten mit auf/zu [image: 1573670795019-bildschirmfoto-2019-11-13-um-19.44.56.png] Fensterdrehgriffe mit Werten auf/zu und gekippt [image: 1573670890048-bildschirmfoto-2019-11-13-um-19.45.30.png] Auswertung: [image: 1573670158425-img_20191113_193433_604.jpg] Das ergibt dann das hier: [image: 1573670192959-screenshot_20191113-193416_telegram.jpg]
  • Echo+ an Alexa steuern

    9
    1
    0 Stimmen
    9 Beiträge
    505 Aufrufe
    _
    Hi, ich habe jetzt jede erdenkliche Konstellation mit den Werten ausprobiert. Erfolglos. Gibt es niemanden der es bisher zum laufen bekommen hat?
  • Heizung smart machen

    7
    1
    0 Stimmen
    7 Beiträge
    874 Aufrufe
    H
    @paul53 Vielen Dank, es scheint soweit zu laufen. Auf das Konstrukt wäre ich vermutlich so nie gekommen....Super
  • Script Fenster auf Telegram Nachricht

    51
    1
    0 Stimmen
    51 Beiträge
    5k Aufrufe
    crunchipC
    @technodj23 ist möglich, da musst du bei den blockly scripten, was dir @dslraser oben, als link geschickt hat, nachlesen
  • Tür klingel mit ip cam verbinden

    6
    0 Stimmen
    6 Beiträge
    871 Aufrufe
    E
    @crunchip sagte in Tür klingel mit ip cam verbinden: @dan4711 ein Beispiel in Blockly Auch wenn vielleicht nur alles Netzintern, aber man sieht das Benutzer und PW von deiner Cam im Skript.
  • Terrarium Steuerung probleme mit Funktion

    18
    2
    0 Stimmen
    18 Beiträge
    816 Aufrufe
    paul53P
    @superzac sagte: was man damit prüft. Ich würde auf {ack: true} (annerkannt ist Update) triggern und wenn Sollzustand = Istzustand sofort das Intervall stoppen. Etwa so: [image: 1573473554103-blockly_temp.jpg]
  • Zwei Strings zusammenführen

    4
    0 Stimmen
    4 Beiträge
    714 Aufrufe
    funkytownF
    @opossum Danke dir. Das gefällt mir und ich werde das heute Abend mal einbinden.
  • Homematic Türsensor mit Tradfri Ikea Lampe koppeln

    2
    0 Stimmen
    2 Beiträge
    788 Aufrufe
    BBTownB
    @Basti2905 über die Suchfunktione wirst Du zig mal die gleiche Frage/Antwort finden hier nur mal ein Beispiel Und hier ein weiteres mit Zeitsteuerung Weiterhin empfehle ich dir hier einmal vorbeizuschauen
  • Skripte in Unterordner verschieben *gelöst*

    Gesperrt Gelöst
    4
    0 Stimmen
    4 Beiträge
    904 Aufrufe
    surfer09S
    Perfekt, Danke euch! :-)
  • Tage zum Datum addieren. [gelöst]

    17
    0 Stimmen
    17 Beiträge
    3k Aufrufe
    paul53P
    @andiko2 sagte: es funktioniert Dann markiere bitte das Thema in der Überschrift als [gelöst].

236

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge