Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.6k Topics 79.5k Posts

NEWS

  • Stromverbrauch - Homematic Visualisieren

    27
    0 Votes
    27 Posts
    7k Views
    sigi234S
    @TG70 sagte in Stromverbrauch - Homematic Visualisieren: Sehr Cool ... vielen lieben DANK. Das einzige was mir jetzt noch fehlt - ich weiß aus den Datensätzen dann nicht mehr welcher Tag bzw. welches Datem der Datensatz (TAG1-15) war. Möchte so ein Monat darstellen können. Das Widget ist sehr Mächtig, du musst experimentieren. Schau dir auch die Line Chart an.
  • Dimm Skript Error

    4
    1
    0 Votes
    4 Posts
    405 Views
    marcusklM
    @paul53 Vielen Dank dafür, funktioniert perfekt :+1: :blush: :blush:
  • Was kann Nodered was Blockly nicht kann?

    19
    0 Votes
    19 Posts
    2k Views
    J
    @Hamudulu Sieht doch ganz gut aus, auch die Funktion sinnvoll verwendet. Dann noch der standard Hinweis, bei falls ist =wahr nicht nötig, da Grundfunktion des Block.
  • Aktualisierte Zeit von Objekt kleiner als

    blockly
    2
    0 Votes
    2 Posts
    213 Views
    W
    Konnte es bereits lösen: "Aktuelle Zeit als Datumsopbjekt" minus "Zeitstempel von Objekt ID"
  • [gelöst] String zu Datum konvertieren?

    blockly
    1
    0 Votes
    1 Posts
    446 Views
    No one has replied
  • [gelöst] Blockly Licht bei Dämmerung automatich an

    blockly
    10
    1
    0 Votes
    10 Posts
    2k Views
    J
    @StM47 sagte in [gelöst] Blockly Licht bei Dämmerung automatich an: @ITCrowd Eigentlich logisch. Bei meinem Blockly wird zur Abenddämmerung getriggerrt und hierbei geprüft, ob es 01:00 Uhr ist. Da es zur Dämmerung natürlich nicht 01:00 Uhr ist bleibt die Funzel an. Danke für deine Erleuchtung! Falsch, Dein Ausschalte Block hat gar kein Trigger und wird nur einmalig beim Script Start getriggert, danach ist er funktionslos, deshalb geht da nichts aus :wink: So wie das ITCrowd gezeigt hat, ist der Trigger der Cron und schaltet wie gewünscht aus.
  • Hue Skript Idee?

    24
    0 Votes
    24 Posts
    2k Views
    A
    Also ich hatte damals mal für meinen Dachboden ein gleiches Problem gelöst. Leider habe ich das Blockly nicht mehr. Aber prinzipiell hatte ich es so gelöst: "Trigger " schaltet bei erkannter Bewegung Licht an . "CRON" prüft jede Minute ob Licht im Raum an ist. Wenn ja, erhöhe Zähler (Datenpunkt oder Variable) um 1. Wenn Zähler>15 (Minuten), schalte Licht aus und setze Zähler auf 0. Wenn nein, setzte Zähler auf 0.
  • Passender Trigger gesucht

    blockly
    4
    1
    0 Votes
    4 Posts
    350 Views
    S
    @paul53 Wie versprochen, hier die getestete Lösung, falls jemand genau so sparsam kuckt wie ich. [image: 1574234297817-funktion-anspringen.png] Der größte Stolperstein dabei ist, dass der Baustein [image: 1574234610487-oder.png] ODER erst auftaucht, nachdem man eine [image: 1574234868603-erstfunktion.png] Funktion mit dem Namen "ODER" angelegt hat. Ich hatte zunächst keinen sonderlich intelligenten Gesichtsausdruck... Danke für die Hilfe! Ich hatte so einige AHA-Effekte. SBPoly
  • Licht geht häufig nicht aus

    7
    1
    0 Votes
    7 Posts
    473 Views
    J
    @maxpd Ich hatte ein ähnliches Problem und da ging das Ding nicht an. Der DP wurde aber auf true gesetzt. Ändert sich bei Dir der DP auf false, oder kommt das gar nicht an?
  • Alarm wenn letzte änderung zu lange her ist

    blockly
    4
    0 Votes
    4 Posts
    2k Views
    C
    coole ideen da werd ich mich mal dran versuchen. DANKE
  • Bewegungsmelder/Lampe einschalten Frage

    5
    1
    0 Votes
    5 Posts
    1k Views
    PeoplesP
    Bei Blocky kann ich dir da leider nicht helfen, habe aber damals ein Script genau dafür geschrieben. https://forum.iobroker.net/topic/21226/vorlage-automatisches-licht
  • Bewegungsmelder über Sat-Receiver anzeigen lassen

    7
    0 Votes
    7 Posts
    537 Views
    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? :grin: 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 Votes
    3 Posts
    782 Views
    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 Votes
    8 Posts
    503 Views
    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 Votes
    3 Posts
    842 Views
    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 Votes
    7 Posts
    732 Views
    Matthias HM
    @BBTown Vielen vielen Dank. so funktioniert das . Top. Hätte ich nicht hinbekommen:+1:
  • Hue soll Shelly schalten

    Unsolved
    8
    0 Votes
    8 Posts
    4k Views
    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 Votes
    33 Posts
    3k Views
    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 :blush: :blush: 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

    Moved nanoleaf blockly cc2531
    5
    1
    0 Votes
    5 Posts
    439 Views
    S
    @sochin67 Problem gelöst mit Adapter-Neustart...
  • Zeitfenster in dem Script ausgeführt werden soll

    blockly template
    4
    1
    0 Votes
    4 Posts
    334 Views
    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]

627

Online

32.7k

Users

82.5k

Topics

1.3m

Posts