NEWS
Google Home/Assistant
-
So, ich versuche mal Schritt für Schritt:
a. "new applet"
b. if " google assistant"
c. "Say a phrase with a text ingredient"
d.
e. then "webhooks" -> make a web request
url:
body: über add ingredient hinzufügenAb jetzt sollte der gesprochene Text hier ershceinen:
Summary:
"ok google, schlate fernseher ein" -> "ok, fernseher ein" und im State steht "fernseher ein"
ab da nach Wahl Blockly oder Javascript.
bis denne
Mr.Lee
-
Weiter mit der Auswertung: (P.S.: ich bin ein lausiger Programmierer…mag also nicht die effizienteste Version sein!)
Wichtig:
-
da ich nie weiß ob Google gerade klein oder großschreibt erstmal alle nach klein
-
ich benutze als einsprung immer nur den "sicheren" Teil des Wortes, im Beispiel "deko" für "Dekolicht" die Deko-Lampen"….
-
dann folgt die abfrage ob im string "ein"/"an" gesagt wurde, wenn nicht dann halt aus (meine denke ist lieber bei unsicherheit ausschalten, aber das kann jeder für sich entscheiden :-))
-
jedes zu steuernde Objekt hat halt einen eigenen Block....copy/paste macht das ganze ziemlich fix da ja nur der zu steuernde Kanal angepasst werden muß
Generell bitte das die Möglichkeit ein anderes Sprachkommando zu verwenden als der Kanalname, erfahrung bei mir zeigt das ich keine Befehle "auswendig" lernen möchte sondern hat mal "fernseher an", mal "fernsehen ein" mal irgendwas anderes sage...aber fern kommt immer drin vor und halt nirgendwo anders.
Schön ist das man mit einem weiteren script zum beispiel auch kodi steuern kann ohne schalte sagen zu müssen
"ok google, kodi pause"
-
Triggerwort bei ifttt ist kodi
-
scrip beginnt mit falls "kodi"...
sowiet meine Bastellösung...
Fragen immer gerne, hoffe es hilft erstmal
Mr.Lee
-
-
@Mr. Lee: das funktioniert in der Tat sehr gut. Das erkennen es Satzes funktioniert sehr gut, es muss nicht der exakte Satz gesagt werden.
Jetzt wäre es interessant auf Zahlen genau zu reagieren, z.B. beim Dimmen einer Lampe oder Höhe des Rollos.
Meine Lösung wäre für 100, 90, 80….0% jeweils ein neues Falls anzulegen. Aber das geht sicher anders
-
Hatte auch schon überlegt einen weiteren ifttt anzulegen mit setze und übertragung eines Wertes.
"ok Google, setze Kaminzimmer Licht auf 30%"
Mach ich mal wenn ich nen Moment Zeit habe…
Bis denne
Christian
Gesendet von meinem SM-G930F mit Tapatalk
-
Hatte auch schon überlegt einen weiteren ifttt anzulegen mit setze und übertragung eines Wertes.
"ok Google, setze Kaminzimmer Licht auf 30%"
Mach ich mal wenn ich nen Moment Zeit habe…
Bis denne
Christian
Gesendet von meinem SM-G930F mit Tapatalk `
Muss man dafür einen weiteren ifttt anlegen? Ich dachte nur ein weiteres Script bzw. das vorhandene evtl. nur erweitern.Wenn ich sage "ok Google, schalte Kaminzimmer Licht auf 30%" habe ich den Eintrag unter Objekte cloud-Adapter "Kaminzimmer Licht auf 30 %".
-
Stimmt…ich möchte aber sagen:
Setze Licht...
Fahre Markise auf x %
stelle Heizung auf 20 Grad
Und möchte halt auch die richtige antwort haben. Ausserdem machts mir das Parsen (finde die zahl ) leichter.
Habs gerade mal für Markisen und dimmer gemacht...Heizung kommt gleich.
1. zur Unterscheidung habe ich einen custom service im cloud definiert (muß nicht, sonst halt im blockly nen "falls setze" aussenrum einbauen)
2. ifttt "setze $ auf # %" an custom service
3 in blockly text übernehmen und letzten 3 zeichen in ne Zahl umwandeln und in ne variable
4. falls "Kamin" dann kaminzimmerllicht.level=variable
5. falls "markise" dann markise.level=variable
nächster schritt, nen weiteren ifttt für "stelle $ auf # Grad" für die Heizung...
Also nen Adapter braucht man eigentlich nicht mehr...so ist viel flexibler
bis denne
Mr.Lee
-
Stimmt…ich möchte aber sagen:
Setze Licht...
Fahre Markise auf x %
stelle Heizung auf 20 Grad
Und möchte halt auch die richtige antwort haben. Ausserdem machts mir das Parsen (finde die zahl ) leichter.
Habs gerade mal für Markisen und dimmer gemacht...Heizung kommt gleich.
1. zur Unterscheidung habe ich einen custom service im cloud definiert (muß nicht, sonst halt im blockly nen "falls setze" aussenrum einbauen)
2. ifttt "setze $ auf # %" an custom service
3 in blockly text übernehmen und letzten 3 zeichen in ne Zahl umwandeln und in ne variable
4. falls "Kamin" dann kaminzimmerllicht.level=variable
5. falls "markise" dann markise.level=variable
nächster schritt, nen weiteren ifttt für "stelle $ auf # Grad" für die Heizung...
Also nen Adapter braucht man eigentlich nicht mehr...so ist viel flexibler
bis denne
Mr.Lee `
Ja, stimmt. Drei iffft für trigger worte setze, fahre, stelle wären nicht verkehrt.Ich habe etwas hinbekommen, das funktioniert, aber Warnungen ausgibt. Die %-Angabe muss immer am Ende erscheinen. Mit deinem Parser kriegste das bestimmt schöner hin:
Edit: Warnung habe ich wegbekommen. Einfach Konvertierung nach Zahl zwischenschieben:
-
Moin!
Ich fordere für den "setzen"-skill ein format mit # %…dasheißt er reagiert nur wenn man am ende 30% sagt.
Die zahl generiere ich daher etwas einfacher (letzten 3 Zeichen nach zahl).
Ansonsten...the same here
Hab gerade alle Heizungen eingebunden über Heizung / Temperatur.....
Man kann sich echt an den kram gewöhnen...kein Vergleich zu Alexa
-
body: über add ingredient hinzufügen 4.PNG
![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... &mode=view">http://forum.iobroker.net/download/file.php?id=17133&mode=view</link_text>" />` ~~Genau das geht bei mir nicht.
Hast Du einen Pro Account?~~
-
body: über add ingredient hinzufügen 4.PNG
![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... &mode=view">http://forum.iobroker.net/download/file.php?id=17133&mode=view</link_text>" />` ~~05,.PNGGenau das geht bei mir nicht.
Hast Du einen Pro Account?~~ ` ~~Ja, aber bist noch in den IFTTT Einstellungen.
Du musst say a phrase with a text ingredient' auswählen~~
1146_screenshot_20171124-064453.jpg -
Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so...
-
In meinen Augen ist das Thema IFTTT immer nur eine Übergangslösung.
Man will ja später einfach nur sagen können "schalte Deckenlicht ein" oder "Mir ist Kalt" und Google heizt nur den aktuellen Raum hoch. Der Mini weiss, in welchem Raum er ist und welche Aktoren ihm zugeordnet sind. Zudem wird da in Zukunft sicherlich noch einiges mehr gehen, dass man direkt in der Google Assistant App abbilden kann.
Für den Übergang ist die hier diskutiere Lösung aber echt nicht verkehrt.
-
sehe ich genau so. wenn man schaut wie sich alexa in 1,5 jahren entwickelt hat… das wird bei google nicht anders sein. tolles team hier!
-
Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so... `
Moin!
Das habe ich nicht.
Bei mir springt er ausschließlich bei den Triggerwörtern (schalte, setze …) in iffft...und das sogar nur wenn es exakt dem Muster entspricht.
Wie lautet Dein Format des Triggers?
bis denne
Mr.Lee
-
In meinen Augen ist das Thema IFTTT immer nur eine Übergangslösung. `
Moin!
ja und nein.
Natürlich ist nen extra DIenst nur eine Übergangslösung.
Technisch ist die Alexa-Anbindung auch nix anderes, ausser das der skill von iobroker das Triggerwort " schalte" abfängt statt ifttt.
Die Flexibilität die Du hier ansprichst würde ich mir auch wünschen…ABER: bei Alexa gibt es Sie ebenfalls definitiv nicht...
Also ist die aktuelle Lösung zumindest ebenbürtig, wenn nicht gar flexibler da man trigger und Namen selber in der Hand hat.
Eine Einbindung die sich tatsächlich auf eine KI bei Google stützt wird hoffentlich natürlich die zukunft sein.
"Hey google, man ist das kalt, ich glaube ich geh noch ins Büro" -> Heizung Büro, Wohnzimmer aus und Licht im Büro an :-)))
-
ich schalte Kodi per IFTTT und alles andere funktioniert auch (Wetter, News, Music) ohne IFTTT.
-
Habe gerade festgestellt, dass der GH nur noch auf das ifttt applet reagiert, also egal was ich jetzt sage, "wie ist das Wetter", "Spiele Radio", "Stopp"… er reagiert nicht, sondern antwortet nur mit der Antwort wie im Applet eingestellt. So kann ich Lieder nur über spotify handy app abspielen. Geht natürlich gar nicht so... `
Moin!
Das habe ich nicht.
Bei mir springt er ausschließlich bei den Triggerwörtern (schalte, setze …) in iffft...und das sogar nur wenn es exakt dem Muster entspricht.
Wie lautet Dein Format des Triggers?
bis denne
Mr.Lee `
Ja, klar… sollte nur bei den Triggerworten laufen.Vielleicht ungünstig bei mir.?.. habe drei triggerworte in einem applet...
- If You say "schalte $", then make a web request
-- Say a phrase with a text ingredient
- What do you want to say?
schalte $
- What's another way to say it? (optional)
stelle $
- And another way? (optional)
setze $
Edit: habe die beiden Triggerworte "stelle" und "setze" herausgenommen, jetzt funktioniert der google home auch wieder.
-
Technisch ist die Alexa-Anbindung auch nix anderes, ausser das der skill von iobroker das Triggerwort " schalte" abfängt statt ifttt. `
Deshalb habe ich u.a. kein Alexa Mir gefällt das Google System von Anfang an besser (zudem bin ich sehr Google / Android belastet) und bin auch NICHT im Amazon Ökosystem integriert. 8-)
Man muss Alexa zugute halten, dass Sie aktuell die bessere Konnektivität mitbringt. Aber das war damals bei den ersten HTCs nicht anders. Ich wurde nur belächelt, wie man solch ein RandOS unterstützen könne… :mrgreen:
-
Jetzt funktioniert es soweit, dass ich von ifttt Daten zurück in IOBroker bekomme.
Danke lobomau.
Weiter mit der Auswertung: (P.S.: ich bin ein lausiger Programmierer…mag also nicht die effizienteste Version sein!)
6.PNG
sowiet meine Bastellösung...
Fragen immer gerne, hoffe es hilft erstmal
Mr.Lee `
MrLee, Würdest Du deine Skripte auch als Blockly Export bereitstellen bitte?
Dann muss man nicht alles neu machen.
Ja, stimmt. Drei iffft für trigger worte setze, fahre, stelle wären nicht verkehrt.
Ich habe etwas hinbekommen, das funktioniert, aber Warnungen ausgibt. Die %-Angabe muss immer am Ende erscheinen. Mit deinem Parser kriegste das bestimmt schöner hin:
Edit: Warnung habe ich wegbekommen. Einfach Konvertierung nach Zahl zwischenschieben:
Unbenannt3.JPG `
Lobomau, Gleiche Bitte. Würdest Du die Skripte auch als Blocky bereitstellen?Danke
-
Lobomau, Gleiche Bitte. Würdest Du die Skripte auch als Blocky bereitstellen?
Danke `
Kein Problem. Das folgende Script funktioniert für STATES mit wahr/unwahr als auch für LEVEL mit 0 - 100%. Bei den Geräten mit LEVEL muss die %-Angabe am Ende des Satzes stehen, was der normale Fall sein sollte: "Stelle Licht Theke auf 80%".! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="EO-]]HP9{atW:1/lSdpj" x="13" y="13"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="ds6CqNLiq,1L,_j8L+I:"><field name="oid">cloud.0.services.ifttt</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id=",d;a(,W7XZ`pzPQlWVtS"><field name="VAR">text</field> <value name="VALUE"><block type="text_changeCase" id="e7NkCOozlYeHjF7|nwrP"><field name="CASE">LOWERCASE</field> <value name="TEXT"><shadow type="text" id="d@K(K8`4`8wn-Dr;f{Xm"><field name="TEXT">abc</field></shadow> <block type="convert_tostring" id=")XU.rq/+2Os^GQE@1K]g"><value name="VALUE"><block type="get_value" id="}{@^rm-GCBfc,:A3=cL."><field name="ATTR">val</field> <field name="OID">cloud.0.services.ifttt</field></block></value></block></value></block></value> <next><block type="debug" id="xdJF8BW9hIYvAoSg=|u~"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow> <block type="variables_get" id="|DS5`0Vn]-ac_NG9u1SG"><field name="VAR">text</field></block></value> <next><block type="variables_set" id="[/`84elvb6c,nBmxY,0U"><field name="VAR">zahl</field> <value name="VALUE"><block type="convert_tonumber" id="HQgJ^%;n.7JS;Gh^TS@P"><value name="VALUE"><block type="text_join" id="Hx9j7#b7dq]gmJ.r=RSn"><mutation items="2"></mutation> <value name="ADD0"><block type="text_charAt" id="zUMRr#bMw].X}b{(^~D4"><mutation at="true"></mutation> <field name="WHERE">FROM_END</field> <value name="VALUE"><block type="variables_get" id="d%?bd=@ml5feNA(kS3f("><field name="VAR">text</field></block></value> <value name="AT"><block type="math_number" id="gCfCKV+LsIWT}}Mk}H(h"><field name="NUM">4</field></block></value></block></value> <value name="ADD1"><block type="text_charAt" id="wFt6O_..c2er{KCX8+bY"><mutation at="true"></mutation> <field name="WHERE">FROM_END</field> <value name="VALUE"><block type="variables_get" id="@,yTLlOEmvoL!sYDdaZG"><field name="VAR">text</field></block></value> <value name="AT"><block type="math_number" id="-*^O]TK:/K0{Oa/oQ#vI"><field name="NUM">3</field></block></value></block></value></block></value></block></value> <next><block type="debug" id="K~bH*H;vN3x473BnK:/3"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="Kire]]738QXYV/2ez9!="><field name="TEXT">test</field></shadow> <block type="variables_get" id="6~N|sGt}l[h:{GzmZ:Gs"><field name="VAR">zahl</field></block></value> <next><block type="controls_if" id="E}a!X{%CX{8~z!H)TOcm"><value name="IF0"><block type="logic_operation" id="K-GxOU/Iw`GTp;Co.g(5" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="}RTo2U3V=^=#,)hIHgG}"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="1U@JW)[zh*2sRglj8#?U"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="gghJh|e[+__H=3i6;*TH"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="bdgm[S`4d-%iR?ZY%3bu"><field name="TEXT">küchenlicht</field></shadow></value></block></value> <value name="B"><block type="math_number" id="jhLmvcW4Q5}%N/#PP]Io"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id=";%3gW8JsXF%;fjPV*@%1"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="#Mj?]te`^{RPZ4EGtqyn"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="Kw]:hZ@e[O~p@XhaS+7Y"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="LIAD2W/xt;/C1SA8CN#y"><field name="TEXT">licht küche</field></shadow></value></block></value> <value name="B"><block type="math_number" id="2lM^JJK)Zzo8KjQ|eK69"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="controls_if" id="%!sL%p#jl~2QslaBStmd"><mutation else="1"></mutation> <value name="IF0"><block type="logic_operation" id="`xJ`:*q@z_tx6JKOh#6L" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="Cq`aiqwcbGM%W=w_?v43"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id=";.%)#L,DMVk-w@K}z99v"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="]:+f%==%7{_pu!5AZ5##"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="J[zDwxD8Ga|Kkw8z5;UH"><field name="TEXT">an</field></shadow></value></block></value> <value name="B"><block type="math_number" id="_ppQyfIR`6@y07aD/0Uw"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id=";@@lQ_p9IMyBeA/{DEE;"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="K@d:t06t=3Wjtr#.J[;v"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="lv#9hwdjs81.,G@ASf62"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="V//nngsjcm}Q:wMe)ibn"><field name="TEXT">ein</field></shadow></value></block></value> <value name="B"><block type="math_number" id="{IWGANE5]wt751`lS+I@"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="?5f|;e[Zl;(5D~PgoNFL"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.KEQ0198416.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="R7D=J;4`W=r8oFm?-I8U"><field name="BOOL">TRUE</field></block></value></block></statement> <statement name="ELSE"><block type="control" id="}W.nMB{6?xcpZsq:W4(S"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.KEQ0198416.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="_z-MLpaup(_PKd/g2#V8"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> <next><block type="controls_if" id="!5WwA6R.+M}]E]:T4b7c"><value name="IF0"><block type="logic_operation" id="~t4q/O/#X]6S{sXj0{R]" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="R3ObvYJtk?L8xyJ`Ol%j"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="k0fGQ{8rUsb.{=8,(:_h"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="uLxacXmd`Q^wW.GwMtT1"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="%w5uf:]eA@0W7F3[/F[5"><field name="TEXT">flur erdgeschoss</field></shadow></value></block></value> <value name="B"><block type="math_number" id="Z%B[WH=SC57[-LLpaj+{"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id="~Ab@5fvo7nHA#A2iPS5S"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="T*HLLbx3,L|9Opp`=v[T"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="GJ2WuheAND_DZ8reBxCb"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="q{cbk#)~HjaifhR1pOp["><field name="TEXT">erdgeschoss flur</field></shadow></value></block></value> <value name="B"><block type="math_number" id="q-lI},4UJ94uJ_)D3VTz"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="controls_if" id="=@iIzbc6=4hwfE-#E:V*"><mutation else="1"></mutation> <value name="IF0"><block type="logic_operation" id="fW.!G;ZV5PsWjoJ`b8Aq" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="*dDF_nk64dz_fiE7`]YF"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="zcuf`Rm[#=*Ki`}C@RWy"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="*wRxTZ0,vQ_l#_,TYYIt"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="0#mHG^99%}84;riFDrE9"><field name="TEXT">an</field></shadow></value></block></value> <value name="B"><block type="math_number" id="0]4(q),_*M;Al:]W:dQn"><field name="NUM">0</field></block></value></block></value> <value name="B"><block type="logic_compare" id="q~]@lQ5`6n?:PbDzqI)*"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="d*WJ.U7/6_?;}t!!%XMd"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="~}u0dk(]1OM|O[iIrLuT"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="|okOhLL=rRrp-YI7{/^:"><field name="TEXT">ein</field></shadow></value></block></value> <value name="B"><block type="math_number" id="w?(LSTO?k7XZe;:KTciU"><field name="NUM">0</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="C*^Pkf6Xp7;e-%2=9PZH"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.000xxxxxxx.4.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="Z!Ry{%1-s8?ei=a8Wbdc"><field name="BOOL">TRUE</field></block></value></block></statement> <statement name="ELSE"><block type="control" id="SUBcmZk]n9IuX8ao9!c!"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.000xxxxxx.4.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="AEj@2[0D^!fryA-z97A:"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> <next><block type="controls_if" id="-u5;VP5*Q9%s(QHTUYu*"><value name="IF0"><block type="logic_compare" id="cA-yczj*q1@J-G7FmO!D"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="b-vYb`)UutQ6/[3IPlVK"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="XB:v)Km.B*Q,*);=s#n#"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="b9[~JDOjRF[|T*Avjg/8"><field name="TEXT">licht fernseher</field></shadow></value></block></value> <value name="B"><block type="math_number" id="kMyt_2))=W3eS:ZoV6~n"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="P{p:-gRfJH.fo*d)ifRP"><mutation delay_input="false"></mutation> <field name="OID">hue.0.Philips_hue.Fernseher.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="5@:7+PJF7=ZKKNA:]DFY"><field name="VAR">zahl</field></block></value></block></statement> <next><block type="controls_if" id="Pw1d|:+:-3H9|fS?U`Y3"><value name="IF0"><block type="logic_compare" id="?^j1/nA]pTO^A?kZZ%5]"><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="1)Hk^%KeLG@aFr;IlknM"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="g/~3*hDz34`![!L#{e1h"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="1H5*x0_++QKGasY5g[%4"><field name="TEXT">theke</field></shadow></value></block></value> <value name="B"><block type="math_number" id="G5=vksP3?h8l|F_CJL=W"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="J_[Y4W#kji5jnI|4kqNS"><mutation delay_input="false"></mutation> <field name="OID">hue.0.Philips_hue.Küchentheke.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="rQ;5TpDEyW+]x]y-d,Y*"><field name="VAR">zahl</field></block></value></block></statement> <next><block type="controls_if" id="(wgZL-|oVid[*,S4p.GN"><value name="IF0"><block type="logic_compare" id="B[64N(t:I/Z6-bhr=e9="><field name="OP">GT</field> <value name="A"><block type="text_indexOf" id="i8@WEl)W(:?Q%)[u0KSX"><field name="END">FIRST</field> <value name="VALUE"><block type="variables_get" id="%ts|q4FyJm/5R%0sBBSZ"><field name="VAR">text</field></block></value> <value name="FIND"><shadow type="text" id="ERhMxwEHp|Cild7HmeKi"><field name="TEXT">jalousie garten</field></shadow></value></block></value> <value name="B"><block type="math_number" id="xgu/|crX9r:.FC0Qn:@w"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="oV5B.l~JJR!Vlh5q#A4V"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.KEQxxxxx.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="6)%Tcv(C;22jQTw)QC.}"><field name="VAR">zahl</field></block></value> <next><block type="control" id="UeHHllcGc[?xHHGOfBe8"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.JEQxxxxx.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="0Q-dJaUm^;xo^2l4=24+"><field name="VAR">zahl</field></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml>