NEWS
Kinoskript in Blocky, aber wie?
-
Hallo ihr lieben,
Bin ein Neuling in Sachen Blocky. Bekomme Licht über einen Taster programmiert, aber mehr auch noch nicht.
Mein folgendes Problem was ich nicht hinbekomme.
Möchte gern mit Alexa eine Kino scene Starten bzw. beenden. Aber tageszeit abhängig soll der gleiche befehl z.b. "Kino aus" was anderes auslösen als abends.
Sage ich z.b. tagsüber "starte Kino" soll halt alles angehen ( Leinwand, indirekte Beleuchtung, Hauptlicht solange die Leinwand runter fährt und rollo runter) . Wenn ich jetzt sage "Kino aus" und es ist noch tag, soll natürlich das Rollo und auch die indirekte Beleuchtung wieder aus.Aber ist es dann schon abend wenn ich sage "Kino aus" soll das Rollo unten bleiben und die indirekte Belechtung auch anbleiben.
Also der Befehl" Kino aus" soll tagsüber was anderes auslösen als Abends.
Was ich dann alles in die scenen rein mache ist ja nicht so wichtig, halt nur der Unterschied tagsüber bzw abends.
In der CCU1 bekomme ich das soweit hin, aber möchte halt soviel wie möglich aus der CCU raus nehmen.
Wäre über eure Hilfe dankbar!
-
Erstelle einen Datenpunkt "Kino" der über Alexa geschaltet werden kann.
Dann baust du ein Blockly Skript mit dem DP als Trigger.
In dem Sktipt kannst du dann alles aktionen einfügen, die benötigt werden.
Falls DP = true dann…
Falss DP = false dann...
-
Vielen Dank für die Antwort
Bin aber ein echter Anfänger.
Einen Datenpunkt erstellen? :?:
Aber wie bekomme ich das hin, das z. B. der Datenpunkt "Kino aus" am Abend andere Aktionen schaltet als tagsüber. Zb. Abends bei "Kino aus" rollo unten lassen und wenn tagsüber "Kino aus" soll das rollo hoch.
Vielleicht denke ich auch zu kompliziert.
Arbeite erst seid drei Wochen mit iobroker und befasse mich erst seid drei Tagen mit blocky.
Sorry wenn es so unbeholfen rüber kommt.
-
Auch wenn dann die Antwort blöd erscheint würde ich mich an deiner Stelle erst mal deutlich mit Blockly und dessen Möglichkeiten beschäftigen. Das musste ich auch - denn dir wird das Script keiner programmieren.
Ich habe es so gemacht, dass ich Skripte geschrieben habe für die Rollo-Steuerung in Abhängigkeit der Astro-Zeiten. In diesem Skript müssen Hilfsvariablen erstellt werden, die zeigen ob zum Zeitpunkt "Kino an" die Rollo bereits zu oder auf waren. Bei "Kino aus" werden die Variablen abgefragt und entsprechend das Rollo geöffnet oder nicht. Die Hilfsvariablen braucht es dafür, die Übergangszeit abzufangen. Wenn bei "Kino an" alle Rollos offen, aber bei "Kino aus" die anderen Rollos bereits zu sind, darf eben nicht geöffnet werden.
Dann geht es erst ans Kino-Skript.
Beschäftige dich damit. Es gibt unfassbare Möglichkeiten und je mehr man versteht desto mehr erkennt man was möglich ist und das macht dann richtig Spaß!
Grüße
-
Hallo,
um einen Datenpunkt zu erstellen kannst du z.B. folgendes Blockly Skript nutzen (ist von dslraser):
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomnoreturn" id="49kvg:%69IF}@lKJq@(J" x="-187" y="-812"><mutation statements="false"><arg name="Name"></arg> <arg name="Initialisierung"></arg> <arg name="Beschreibung"></arg> <arg name="Type"></arg> <arg name="Rolle"></arg></mutation> <field name="NAME">Variablen anlegen</field> <field name="SCRIPT">Y3JlYXRlU3RhdGUoTmFtZSwgSW5pdGlhbGlzaWVydW5nLCB7DQogIG5hbWU6IEJlc2NocmVpYnVuZywNCiAgcmVhZDogdHJ1ZSwgDQogIHdyaXRlOiB0cnVlLCANCiAgdHlwZTogVHlwZSwgDQogIGRlZjogZmFsc2UsDQogIHJvbGU6IFJvbGxlDQp9KTs=</field> <comment pinned="false" h="80" w="160">Hier ist das Javascript drin.</comment></block> <block type="procedures_callcustomnoreturn" id="O45R/5Gw(j@)2M*_xdcB" x="-187" y="-787"><mutation name="Variablen anlegen"><arg name="Name"></arg> <arg name="Initialisierung"></arg> <arg name="Beschreibung"></arg> <arg name="Type"></arg> <arg name="Rolle"></arg></mutation> <value name="ARG0"><block type="text" id="nSr7Hq~;DUU2#lB+Yj:}"><field name="TEXT">Eigene_Datenpunkte.Kino</field></block></value> <value name="ARG1"><block type="text" id="xlqa55O11o`@{+#@Yj;%"><field name="TEXT">false</field></block></value> <value name="ARG2"><block type="text" id="yEhqZqxh*}Ip8?yzOW7I"><field name="TEXT">Any</field></block></value> <value name="ARG3"><block type="text" id="sYAGk@@-Fz^fIDONX!/i"><field name="TEXT">boolean</field></block></value> <value name="ARG4"><block type="text" id="/t]#6;-K%9u+eD1jG09@"><field name="TEXT">switch</field></block></value></block></xml>
Den findest du dann unter deinen Objekten unter der Javascript Instanz. Diesen DP kannst du jetzt weiter verwenden und steuern, du kannst auch nachher noch ändern ob es ein Taster, Switch oder sonst etwas wie eine Variable sein soll.
Bau dir dann deine Blockly Skripte, zum beispiel wenn Uhrzeit höher als 17:00 Uhr, dann aktiviere DP Kino1 welcher die Lichter, das Rollo usw. aktiviert. Wenn Uhrzeit geringer als 17:00 Uhr steuere DP Kino2 welcher die Lichter auslässt und so weiter. (Alles eigene Skripte die du triggerst)
Das ist wirklich nicht sehr schwierig aber man sollte sich ein wenig Zeit nehmen dafür.
Wichtig ist, dass du Schritt für Schritt vorgehst und nicht versuchst 3 Skripte aufzubauen die miteinander agieren sollen und am Ende funktioniert nichts.
Viel Erfolg
Grüße
Chris
-
Danke euch schonmal für eure Antworten. Das bringt mich mal etwas weiter. Hatte gedacht es geht einfach mit der astrofunktion. Aber so leicht ist es dann wohl nicht.
-
Ich habe da so etwas ähnliches - aber ohne Alexa.
Wenn ich die Leinwand runterlasse läuft das ab. (und umgekehrt)
Bin aber gerade im Büro und kann das Blockly nicht posten - mache ich bei Interesse gerne heute abend
Gruß
Rainer
-
Ich hätte auch etwas ähnliches…Aber um helfen zu können wäre ein angefangenes Blockly schon besser. Um welche Geräte über welche Adapter oder Art der Steuerung geht es denn...?
-
Hier mal das versprochene:
Code siehe unten.
Gruß
Rainer
-
Wow das sieht aber kompliziert aus. Werde mir das heute abend mal genauer anschauen.
Hane noch kein blocky angefangen. Das meiste sind alles homatic Geräte und das home entertainment wird über logitech harmony hub gesteuert. Das ganze hält über einen alexa Befehl, aber halt bei z. B. "Kino aus" am Tag sollen halt die lichter wieder ausgehen und die Rollos hoch. Bei z. B. "Kino aus" am Abend sollen einige lichter an leinen und das rollo auch unten bleiben. Natürlich ist im Winter der Abend früher als im Sommer
Danke das ihr euch so viel beteiligt und helfen wollt!
-
Ich poste mein Blockly dann heute oder morgen.(bin unterwegs)
Ich steuere auch "Kino" über Alexa in Verbindung mit dem Harmony Hub und Hue Lampen. Andere Geräte, wie z.B. Deine Homematic zusätzlich gehen dann natürlich auch.
Bei mir wird dann über "Alexa, Kino an" der Verstärker und der Fernseher über den Harmony Hub mit einer activity vom Harmony Hub gestartet. Licht wird dann in Abhängigkeit der Helligkeit draussen(Homematic IP Bewegungsmelder mit Lichtsensor) dazu geschaltet oder eben nicht.
Mit Alexa, Kino aus gehen die Geräte aus und dabei wird das Licht langsam hoch gedimmt(egal wie hell oder dunkel es draussen ist) und anschließend wieder langsam aus.
Das ließe sich ja auf Dein Vorhaben anpassen….
-
Wow das sieht aber kompliziert aus `
Wolltest du dochWennich heute abend zu Hause bin, kann ich da ja mal Kommentare einfügen.
Gruß
Rainer
-
Super nett von euch allen.
Danke!
Bekomme ich das homematic IP auch eingebunden, obwohl die anderen Komponenten kein IP sind? Könnte ich auch die homematic Wetterstation nehmen für die Helligkeit zu messen. Ich wollte im Sommer dann auch die Rollos morgens Temperatur bedingt runter gehen lassen. Aber das ist ja ein anderes Thema, dachte könnte man zwei Fliegen mit einer Klappe schlagen.
Oder ist der Homematic IP Bewegungsmelder mit Lichtsensor genauer?
-
kannst alle Geräte nehmen die Du in ioBroker hast. Zur Wetterstation und dessen Genauigkeit kann ich nix sagen, habe ich leider nicht.
Ich habe auch "normale" Homematic und auch IP Geräte gemischt. Sind halt zwei Instanzen, aber das geht selbstverständlich.
PS: aber ich denke schon das Deine Wetterstation locker geht. Ich habe für die Aussentemperatur einen speraten Homematic IP Sensor, der wird auch nicht großartig anders sein…
-
Das ist super!
Freue mich auf eure blocky Skripte. Werde mich da dann mal durcharbeiten und schauen wie was passiert.
Das mit dem Bewegungsmelder ist eine gute Idee bestimmt einfacher und besser als mit der astrofunktion.
-
Hier nun meine Variante. Ich habe bei mir bewußt mehrere Blocklys erstellt, z.B. Licht und die Harmony Schaltung getrennt in verschiedenen Blocklys, da ich es so variabler bearbeiten kann, wenn ich z.B. mal die Lichtsteuerung verändern möchte muß ich nur darauf achten und nicht ein einziges großes Blockly verändern bzw. kann ich so auch unkompliziert z.B. die Lichtsteuerung deaktivieren und muß nicht ein großes Blockly verändern.
Folgende Adapter habe ich hier verwendet:
Harmony Adapter 1.1.5
HUE Adapter 0.6.9
Alexa2 Adapter 2.2.0
Script Engine 3.6.4
HomeMatic RegGaHSS 2.1.7
HomeMatic RPC 1.9.2
Hier mein Beispiel mit dem Licht, was über den Harmony Adapter Wert gesteuert wird. Dort wird auch der Helligkeitswert eines Bewgungsmelders im Aussenbereich genutzt. (Hier der Wert 200), kann man natürlich auch anders machen, z.B. nach Uhrzeit oder Astro, oder auch kombiniert. In dem Blockly sind zwei Harmony Instanzen, also zwei HUB (Wohnzimmer und Schlafzimmer) Die Command Befehle sorgen für die Dimmgeschwindigkeit und die Lichtfarbe.
Das Blockly für die "Harmony" "Kino" Schaltung schreibe ich in den nächsten Beitrag.
! ```
`<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="55@yN/Bd.4.Zl:.QX]zj" x="-1562" y="-812"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="W^r22S90au(LBao+qr~s"><field name="oid">harmony.0.Wohnzimmer.activities.currentStatus</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="BHRn[yZNyldRzla7iWi7"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="Cy=2[.wY.o=-3o{Oo+MP" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="hSKY3oe-1s!pfEfae3vD"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="HV{kF[O[D7L0Uw_^opDj"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentStatus</field></block></value> <value name="B"><block type="math_number" id="Wx[1a#`-x24d#?+-W][b"><field name="NUM">2</field></block></value></block></value> <value name="B"><block type="logic_operation" id="_u9l`L=T9k7a0;bs!X8T" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="a.!@QQ{sxBt+f{s?0Ynw"><field name="OP">LTE</field> <value name="A"><block type="get_value" id="4N*=@XZ|+)J/p)S*8T`1"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ILLUMINATION</field></block></value> <value name="B"><block type="math_number" id="Knld,wT8[?c4ib4aorSg"><field name="NUM">200</field></block></value></block></value> <value name="B"><block type="logic_operation" id="fi;P,[*~L,jFl.zw.2+4" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="w]v_(A7VwH*T+{GhgV6i"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="?-w!S,w;n]ioU*:s=Fn;"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.level</field></block></value> <value name="B"><block type="math_number" id="Rc%w:|(Y2[.JMxzq(r6?"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="`3b*:m%B;)Z|%[yS.!X-" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="q{+4/}zzLva741ZuTf7J"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="n.pAX/R5y7^/=7:|;?~6"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.level</field></block></value> <value name="B"><block type="math_number" id="DjAv!]}cE2zulm:[*D5E"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="[_E6)bSe#YCc=c[3S!Fm" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id=";EgmvIi:2p5pf5Y5]viU"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="z/o5mW6qUdmql(d{sGle"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Sofalampe_links.level</field></block></value> <value name="B"><block type="math_number" id="fzLQ!Z)[u]B6SQaFvqES"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id="+m=dB;p*^A6gTu(VL1)T"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="gAINsa8p,s=h)hwe436q"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.level</field></block></value> <value name="B"><block type="math_number" id="Gri`mHRUp(p0|YYO[Cs#"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></value></block></value></block></value> <statement name="DO0"><block type="comment" id="L(G|BUY`q4*m[;Kop#r5"><field name="COMMENT">Fernsehlicht an wenn TV System Wohnzimmer an</field> <next><block type="comment" id="vcK)W#DNxv?l2@OHVHRD"><field name="COMMENT">und noch kein Licht an war und es dunkel genug ist</field> <next><block type="control" id="*M]#SFj-0gE[Q}k9M(l~"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="w8Q^kn0`oY}}^i,=!cIy"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="control" id="-6jM*M75?XM{5+2/5h|F"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="/0QMpv*(8@RA2ga43kNj"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="control" id="QI.sI|sL5+1]S=g~G:-n"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="Uh+t..^C2@N_cLtZjx8m"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="control" id="wPHLZaP[(AXjY+p/ks.,"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="hz@4Qy1hsL:dc@7fz-^D"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value></block></next></block></next></block></next></block></next></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="*QS[OYOlYL|UL!r,pN-_" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="{sJ`xn(cC{Rxy!Y(#gOQ"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="#4)6(3gf+Z8hT+LB#/Z0"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentStatus</field></block></value> <value name="B"><block type="math_number" id="S{f1^l[~F4.UhNg#!U##"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="!Kh?Z3bKZ~kx/[Q|w);S" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="a*XG?2ZL4:7n8ku[46qA"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="_[iPE^c0}3~|LyJ_Rzg3"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.level</field></block></value> <value name="B"><block type="math_number" id="{Tm:rZ*]z%IUodz(v:rX"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="vAh9~lbOSL~0CPK6o1=Q" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="uIs5R:S%a8tb=io:R}s^"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="=ChE)civmMN?S%p%aJa]"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.level</field></block></value> <value name="B"><block type="math_number" id="gr8f6loc8K;uS]9*XyhX"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="_jUMA^^Usj[CH7Nw:Fk=" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="*RZKVr}|KhBlGX/GCct:"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Lrk=MRvW8A9mXz1f%7uk"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Sofalampe_links.level</field></block></value> <value name="B"><block type="math_number" id="5E%D,}J|hwt#bXOSdb3#"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id="vyQ#n+cmy=bSoe3S/7uo"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="_E`NLb`RZ7+%FX48[q:["><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.level</field></block></value> <value name="B"><block type="math_number" id=".DFD%qzxdR2@ecSUkjz7"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></value></block></value> <statement name="DO1"><block type="comment" id="6f(faEcLMPYAs`+ux6@N"><field name="COMMENT">Licht an wenn TV System aus und Licht aus war</field> <next><block type="control" id="yc@W.m7PD?a7g94?t*Jy"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="BuiTI|]?j28p1Gg`s-xv"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="control" id="-=Vbp0p|nMG#]):+)n:k"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="n//h:(n%^U4)+BaC*@4h"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="control" id="#9^Rv2WSOvd2dhQjPu-C"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="luskD-gTYQ[!Z3qDcP.Y"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="control" id="be/%:s_?8art%:/q~k/~"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="re@U5k.^HAqTq/VRo%v*"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value> <next><block type="comment" id="F#J=Zu+m?KM;E4h.E:Pc"><field name="COMMENT">danach Licht wieder aus</field> <next><block type="timeouts_settimeout" id="C:l32sru.kR{[}n1/enQ"><field name="NAME">timeout</field> <field name="DELAY">5000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="`iYsh+k5FEf#Ms@d99Y("><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="70gqv-YoRf_F0cH@)?}I"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value> <next><block type="control" id="!/?03pV_t`2d;CoL=g*2"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id=".9UTMP2[1TXIogR!7OAI"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value> <next><block type="control" id="uSf,-cjj0RWH^tAT}@lo"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="`DhCgiq~nB:?iqgVo?%l"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value> <next><block type="control" id="iqTSvh]]_KBO+;=ku%;w"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="nPC^_l^9Ih4nuhfAWGAX"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></statement> <value name="IF2"><block type="logic_operation" id="tAg_phQYRYip^cG#?(OR" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="/aruWSn8RIcG9J0?`yWV"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="v0,W6cUK1#Bk;1N~QpSQ"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentStatus</field></block></value> <value name="B"><block type="math_number" id="}ULVAt.:zvRHd5dv[`aD"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="@m*QiAvDN+U=}?B:+*Nw" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="|mYVll}Lo+UC.*%^{HuU"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="56)bv-y-!+aEy22:/KGq"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.level</field></block></value> <value name="B"><block type="math_number" id="XDv5|uRF%vnnmv10o+O)"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="9EX`n+UF=QW)W!*NyFX@" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="Mlr[1j_jf1IzJ-Xb!G[m"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="2!{A?SxrbM_q3m_HLnay"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.level</field></block></value> <value name="B"><block type="math_number" id="z{[2b@6~5RBi8!rl_Y)p"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_operation" id="b_{g4Dn[ukOao*W=-FrQ" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="WX6D,P-gd`+n6Zhv:7eH"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="O/qmi#Hc0#QV.TfG^y-Z"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Sofalampe_links.level</field></block></value> <value name="B"><block type="math_number" id="/SR,1rS-(pLD=h,2@B!f"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id="--]7;yCkj#|ZBLK@bAyg"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="KAqj]1m|{T19)aiYgPxN"><field name="ATTR">val</field> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.level</field></block></value> <value name="B"><block type="math_number" id="yQ*y|NWXC=WZPJrV3jm+"><field name="NUM">0</field></block></value></block></value></block></value></block></value></block></value></block></value> <statement name="DO2"><block type="comment" id="h3v|PIu;kO|@gN~cL]9Q"><field name="COMMENT">Licht aus wenn TV System aus und Licht an war</field> <next><block type="timeouts_settimeout" id="ha/tXwF5yEr`LtQX;FCh"><field name="NAME">timeout2</field> <field name="DELAY">5000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"><block type="control" id="`Rwfd|9aS2kKzeuNiPq("><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="81ZY5Sx;[-r0guGKSeFo"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value> <next><block type="control" id="CE}i#ML*~vI1,@q:UN},"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="f?MyC;AeP;jKIpsWM~}="><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value> <next><block type="control" id="NVF3jY5meN!@+zV:SNzY"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="h-/g7g}aV9*o_O{[|wLe"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value> <next><block type="control" id="MnzB*KJTwbKc5*zx!fh@"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="GN8Z}A,!!=aA/|me[9}2"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></statement></block></statement></block>
<block type="on_ext" id="g@SDiyxr,4+?}Gr*3/#M" x="-438" y="-788"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="zW1m0qyRn?{.@5%@pVak"><field name="oid">harmony.0.Schlafzimmer.activities.currentStatus</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="S%,5qiJYrE#DJSLMIKwM"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_operation" id="n2?Mj`L%BYdiR2P^=]FW" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="DYXyr|^pwo@?@Mp8i`T_"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="2?=*]=up9y,8%4lUPn]k"><field name="ATTR">val</field> <field name="OID">harmony.0.Schlafzimmer.activities.currentStatus</field></block></value> <value name="B"><block type="math_number" id="y*s-]YzReywhg*}97s5Q"><field name="NUM">2</field></block></value></block></value> <value name="B"><block type="logic_compare" id="P/_eH0.sjGumz^3Il8V+"><field name="OP">LTE</field> <value name="A"><block type="get_value" id="hH+I6U.[W8/,qUaa={{v"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.xxx.1.ILLUMINATION</field></block></value> <value name="B"><block type="math_number" id="Or~@[onoTLaR4~/:GHS^"><field name="NUM">200</field></block></value></block></value></block></value> <statement name="DO0"><block type="comment" id="V1/St/{Wn6%gX}Y%ZK|d"><field name="COMMENT">TV System Schlafzimmer an</field> <next><block type="control" id="qhG-#3MZHeD|C6QD.2F)"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Schlafzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="@U*rl~}x9=oZMypEZMDC"><field name="TEXT">{"on":true,"level":100,"r":254,"g":133,"b":28,"transitiontime":30}</field></block></value></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="AQDENL.L~quzxlLwV0=1"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="s#v4Z9`o;5m5?3p:6QCh"><field name="ATTR">val</field> <field name="OID">harmony.0.Schlafzimmer.activities.currentStatus</field></block></value> <value name="B"><block type="math_number" id="V`a)a7TxIWO5Gn:Sm8zk"><field name="NUM">0</field></block></value></block></value> <statement name="DO1"><block type="comment" id="Mp]5tgqQPS%@9~~v9K);"><field name="COMMENT">TV System Schlafzimmer aus</field> <next><block type="control" id="a^U}1m82x}`{gDPNIeC#"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Schlafzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="LNg9F|{*%O!S^EbvOM|A"><field name="TEXT">{"on":false,"transitiontime":100}</field></block></value></block></next></block></statement></block></statement></block></xml>`
[/u]
-
Hier das Blockly für die Harmony "Kino" Schaltung. Ich habe im Harmony HUB mehrere activities angelegt, die sind dann auch über den Harmony Adapter verfügbar.
Hier ein Ausschnitt vom Blockly:
In diesem Blockly überprüfe ich über den Alexa2 Adapter welcher Echo angesprochen wurde und wo dann geschaltet werden darf, so kann ich Schlafzimmer und Wohnzimmer unterscheiden. Also der Echo in der Küche und im Wohnzimmer darf im Wohnzimmer schalten. Der Echo im Flur und im Schlafzimmer darf im Schlafzimmer schalten. So kann ich auch den gleichen Datenpunkt benutzen.In dem Blockly werden Datenpunkte als Button erstellt, die Du nennen kannst wie Du willst.
Ich habe bewußt nicht aussprechbare SmartNamen für Alexa genommen, weil ich diese Datenpunkte in Routinen in der Alexa App nutze und nur zum triggern brauche. Im Iot oder Cloud Adapter muss aus diesen Datenpunkten nur noch ein Switch gemacht werden.
Danach in der Alexa App noch die neu hinzu gefügten Geräte suchen und zwei Routinen anlegen, eine zum einschalten und eine zum ausschalten.Z.B. so…
Der Blockly Export ist zu lang und hier als Datei angehängt.
Sollte ich was vergessen haben werde ich es ergänzen….
Solltest Du was nicht verstehen, frag einfach nach...
-
Hier nochmal so richtig was:
Gruß
Rainer
-
Hier nochmal so richtig was:
filename="Kino_Blockly.png" index="0">~~Gruß
Rainer ` schon nett was man sich so alles bauen kann.[emoji106][emoji3]