NEWS
Hue Lampe Blinken lassen
-
@skokarl sagte in Hue Lampe Blinken lassen:
hue.0 2019-05-26 13:15:45.678 error SyntaxError: Unexpected token , in JSON at position 19
gerade nochmal etwas ausprobiert, genau dieser Fehler kommt, wenn der Command Befehl nicht stimmt.
Ich hatte eben z.B. bei"alert":"lselect"
vergessen die " " zu setzen, also ich hatte es so
"alert":lselect
dann kommt genau so ein Fehler wie bei Dir.
bei mir kamSyntaxError: Unexpected token l in JSON at position 21
-
@skokarl Unter "System" gibt es einen Blockly zur Debug-Ausgabe. Füge es 2x in dein Code rein.
So wie hier:
-
@dslraser sagte in Hue Lampe Blinken lassen:
@skokarl
ich habe jetzt mal den hier installiert, der läuft auch.
https://github.com/jens-maus/ioBroker.hue.gitDas ist die Version 1.2.3 von @jens-maus
wie kommst du auf 1.2.3 ?
-
Hi, ich hänge mich einfach mal dran.
Ich habe das script genutzt um waschmaschine fertig zu signalisieren, aber leider habe ich zwei punkte, ersten ich weiß nicht wie ich die alarmfarbe anpassen kann. und zum zweiten, ändert der das licht nach dem alarm nicht wieder auf den ursprungswert zurück, sondern lässt die lampen auf rot leuchten.
wieso weshalb warum weiß ich aber leider nicht.Muss ich selbst iwelche datenpunkte erstellen ?
-
Daniel, hier bist Du gut aufgehoben, habs auch nie hingekriegt
-
@Daniel-Schwarz
Halloein paar Punkte vorweg:
- Dein Screenshot ist sehr schwer zu erkennen - das Bild ist klein und die Schrift kaum lesbar.
- Du Triggerst auf "aktualisiert", das ist m.M. nach zu oft - triggern auf "geändert" ist da besser.
- Du hast einen Timeout mit 100 ms zum Setzen der Alarm-Farbe. Warum ? Du kannst die Farbe doch problemlos auch direkt setzen
- Der vollständige wert von "Alarmfarbe" ist in deinem Bild nicht erkennbar
- Du hast an verschiedenen Stellen Befehle mit Verzögerung ausgeführt. Bei all diesen sollte zur Sicherheit noch der "löschen falls läuft" haken gesetzt werden - schutz dagegen das der Befehl doppelt kommt.
- vor dem "ausführen vorher2" sollte noch ein "anhalten timeout vorher2", um auch da eine doppelte Ausführung zu verhindern.
Nun zu den Fragen:
- um die Farbe zu ändern musst du im String für die Alarm-Farbe den "hue" Wert anpassen.
- Des weiteren würde ich versuchen , den Befehl zum Rücksitzen des Alarms doppelt zu senden, das 2. mal mit 100 ms verzögerung - für den Fall das die Hue Bridge beim abschalten des Alarm die Farb-Anweisung nicht umsetzt.
-
@Asgothian
Ja sorry, hatte den Screenshot aufm Laptop gemacht.
anbei vom PC...Der vollständige wert alarmfarbe ist dieser ... {"level":100, "hue":0, "sat":254, "alert":"lselect", "transitiontime":0}
Geändert habe ich bislang noch nichts, wie gesagt, es läuft soweit.
Nur das Rücksetzen der Farbe, geht leider iwie gar nicht.
Ich habe zB warmweiß eingestellt, dann kommt der alarm und es blinkt rot, danach bleibt das Licht an und zwar in Rosa, als würden sich beide werte vermischen oder so. -
Da gibt es bestimmt bessere Experten als mich, ich würde jetzt aber vermuten das ein Textbaustein zum Setzen der Farbe nicht der richtige Baustein ist .
Ich würde die einzelnen Datenpunkte nehmen und einen Mathe Baustein für den Wert . -
@haselchen sagte in Hue Lampe Blinken lassen:
ich würde jetzt aber vermuten das ein Textbaustein zum Setzen der Farbe nicht der richtige Baustein ist
das ist schon richtig, weil er den command DP von HUE verwendet.
-
Okay. Da bist du mehr drin als ich .
Ich hätte das mit dem Mathe Baustein probiert . Schlimmer kanns dadurch nicht werden -
@Daniel-Schwarz sagte in Hue Lampe Blinken lassen:
Nur das Rücksetzen der Farbe, geht leider iwie gar nicht.
Ich habe zB warmweiß eingestellt, dann kommt der alarm und es blinkt rot, danach bleibt das Licht an und zwar in Rosa, als würden sich beide werte vermischen oder so.Ich habe mal bissel damit "rumgespielt". Ich verwende den HUE Adapter 2.0
In diesem Blockly verwende ich einen ganzen Raum mit mehreren Lampen. Bei mir macht es einen Unterschied ob das Licht an oder aus war. (also vor dem Alarm)
Ich habe es jetzt bei mir mal so probiert, das wenn das Licht an war, soll die aktuelle Farbe in die Variable geschrieben werden. Diese Farbe wird nach dem Alarm wieder hergestellt und das Licht bleibt an.
Wenn das Licht aus war, nehme ich eine "Wunschfarbe", die nach dem Alarm langsam eingeschaltet wird und dann langsam aus geht. Die Debugbausteine kannst Du deaktivieren oder löschen, wenn es bei Dir funktionieren sollte, da habe ich beim schalten nur das Log beobachtet.
Ich habe mir einen Button zum testen eingebaut, den findest Du hier:
Du kannst auch zu Alexa (falls Alexa vorhanden---Das Smartgerät sollte in iot auftauchen, bitte nachsehen ob vorhanden---dann nach einer Gerätesuche sagen) "Alexa: Alarm an". Bei mir blinkt es dann in der Alarmfarbe.
-
@dslraser okay, vielen Dank.
Ich werde es mir ansehen sobald ich Zeit habe dafür!! -
@dslraser OKAY; also ich habe jetzt mal dein script geladen, aber ich weiß jetzt leider nicht wo ich meine angelegten datenpunkte aus meinem alten script einfügen soll. also die werte der Waschmaschine...oder muss ich dieses dann noch zusätzlich mit einfügen ?
-
@Daniel-Schwarz
mein Blockly war nur ein Test (ohne Waschmaschine)
Ich habe es mit dem HUE Adapter und der "alten" HUE Datenpunktestruktur gemacht.
Jetzt habe ich inzwischen auf die neue Struktur umgestellt, aber ich habe das Blockly damit noch nicht probiert.Edit: ich habe es gerade ausprobiert, bei mir funktioniert das Blockly.
HUE Adapter 2.2.3 -
@dslraser Okay ich habe jetzt auf Hue 2.0 geupdatet.
Und die IDs an meine Umgebung angepasst.
ich weiß nur nicht ob ich noch etwas erstellen muss oder nicht.
Ich habe habe als trigger mal einen andere lampe gesetzt, wenn die an oder aus geht, geht der alarm los.Aber er stellt nicht das licht auf den ursprungswert zurück. und ich verstehe nicht weshalb.
Im Blockly Log zeigt er mir auch warnungen...
-
@Daniel-Schwarz
zumindest für einige Warnungen sorgstt Du selber
-
Wenn Du auf den aktuellen HUE Adapter geupdatest hast und die neue Struktur haben möchtest, dann mußt Du einmal alle HUE Objekte löschen und neu erstellen lassen (sonst werden intern einige Objekte nicht angepasst). Wenn Du das nicht gemacht hast erkennt der Adapter automatisch das es schon ein "altes" System gab und übernimmt dieses.
Bei Dir sieht es nach der alten Struktur aus, weil da noch Bridge_Ofenloch davor steht. Aber Achtung, wenn Du auf die neue Struktur umsteigst, mußt Du alle Scripte/Blocklys in denen Du HUE Objekte verwendest anpassen.In diesem Blockly-Beispiel wird ein Button mit erstellt, den habe ich nur rein gemacht um das Script zu testen, kann auch über Alexa bedient werden. Alexa, Alarm an.
Den Button findest Du hier:
Wenn das Blockly auf Deine HUE angepasst ist, drückst Du einfach mal auf diesen Knopf.Die Debug Bausteine hatte ich nur drinn um zu sehen wie das Blockly arbeitet. Ich habe die Bausteine in diesem Blockly raus genommen.
Importiere mal dieses Blockly und ändere nur die HUE Datenpunkte auf Deinen Raum/Lampe ab. Den Trigger lasse mal erstmal so. (zum testen) In Dein Waschmaschinenscript kannst Du es später immer noch integrieren.Das Blockly sieht bei mir so aus
-
@dslraser
Hey, ich habe die gute Objekte gelöscht und neu eingelesen, dann den blockly angepasst. Dann meinen Teil vom Maschinen Script eingefügt. Jetzt spinnt es leider iwie nur noch Rum. Es hört nicht auf zu blinken. Und aus iwelchen Gründen blinkt es dann ab und zu in allen Farben weiter. Ich weiss nicht wieso .
Da ich gerade mit Handy unterwegs bin kann ich kein Screenshot machen, sondern nur Code einfügen.<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="xL{FzofqhyJnPQq`w`6A">Wohnzimmer_vorherige_Farbe</variable> <variable type="" id="S|;`41z#2)fy^=rNAo~q">Licht_war_aus</variable> <variable type="undefined" id="Alarm2">Alarm2</variable> <variable type="undefined" id="Alarm">Alarm</variable> <variable type="" id="Kc{,!;GakGUAz,3b2Fmi">Wunschfarbe</variable> <variable type="" id="#-mXz|12s@TMb{7:o;u`">Alarmfarbe</variable> <variable type="undefined" id="vorher2">vorher2</variable> <variable type="undefined" id="vorher">vorher</variable> </variables> <block type="procedures_defcustomnoreturn" id="I+e/N#$M^b`D{#u$)~$T" x="-1438" y="13"> <mutation statements="false"></mutation> <field name="NAME">datenpunkt_erstellen2</field> <field name="SCRIPT">Ly9EYXRlbnB1bmt0IEFsYXJtIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiQWxhcm0uQWxhcm0iLCJmYWxzZSIsIHsKICAgIG5hbWU6ICdBbGFybScsIAogICAgcm9sZTogJ2J1dHRvbicsCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKICAgICJzbWFydE5hbWUiOiB7CiAgICAiZGUiOiAiQWxhcm0iLAogICAgInNtYXJ0VHlwZSI6ICJTV0lUQ0giCn0KfSk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id="c,g[HTH[tEJgtq+!zq%f" x="-1437" y="62"> <mutation name="datenpunkt_erstellen"></mutation> <next> <block type="on_ext" id="Vo`FMNN2mHkJjhF{I.[j"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="%xxj4E%PU7PafF^k5d+b"> <field name="oid">hs100.0.Waschmashine_Tamara_läuft</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="FR%SquF~XXwEeLq3o/)q"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="tlCb^Dz~Z3a-}h2{KhA!"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="U0tdLA0o=ESh$yPj_+Y1"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="M3#UW{Th57SwAO5P2=MG"> <field name="ATTR">val</field> <field name="OID">hs100.0.Waschmashine_Tamara_läuft</field> </block> </value> <value name="B"> <block type="math_number" id="vz;sn3{_LM^YK[b/j5I/"> <field name="NUM">1.9</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="/R0Tqe3|POzGaWcNzre?"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="sVoh?_rQS5SvYh+$`yFQ"> <field name="ATTR">val</field> <field name="OID">hs100.0.Waschmashine_Tamara_läuft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="tq|jD=S`X#Ev#e4l#_=Z"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="M,78bT}.Nstd?5:ZpntK"> <mutation delay_input="false"></mutation> <field name="OID">hs100.0.Waschmashine_Tamara_läuft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_89g,Z=kmxt5B{7|lPS6"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="7#UJ(GN|u$M^m,~]fvG^"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G090U509910604SS.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="text" id="nO6s`=b0o^-wt841^/4o"> <field name="TEXT">Guten Tag meine lieben, die Waschmaschine wurde gestartet</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="*VQF(=~zoc7(.Z}L:?h^"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="~vUPX45;Tt`a|Vam.HGP"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="HsXI9b#,p!xU$v!M{W4p"> <field name="ATTR">val</field> <field name="OID">hs100.0.Waschmashine_Tamara_läuft</field> </block> </value> <value name="B"> <block type="math_number" id="e~=#wy@$e[VT[jKEWnap"> <field name="NUM">1.8</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="B/DS|2VcdWNeG,i$?Y5G"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6%.,s4{),RS{G%wG,sSK"> <field name="ATTR">val</field> <field name="OID">hs100.0.Waschmashine_Tamara_läuft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Nk//5VVfEQ$~H@h,GVI/"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="BKVc-~=[_hs^mUV1x~ux"> <mutation delay_input="false"></mutation> <field name="OID">hs100.0.Waschmashine_Tamara_läuft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="3E[EzZj0r/nETaHpJzDV"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="p]%ODgTZHSx%_/cs6|8L"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G090U509910604SS.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">20</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="text_join" id="ItP14ZQ^MLf(jKPBFp|r"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="A=H#^|2g%$/g4P~lOGg4"> <field name="TEXT">Halli, Hallo, ich bin es, die Waschmaschine, ich bin sowas von fertig! ;-)</field> </block> </value> <value name="ADD1"> <block type="text" id="7@z]F[}KVL(`V$K5x`KT"> <field name="TEXT">Zu deiner Information, du hast heute</field> </block> </value> <value name="ADD2"> <block type="get_value" id="PA5LJ8SDv`z%+}4-p0Ll"> <field name="ATTR">val</field> <field name="OID">hs100.0.192_168_1_64.totalNow</field> </block> </value> <value name="ADD3"> <block type="text" id="d_+N/aZP7w%W(%n99%Rd"> <field name="TEXT">KWh, beim Waschen verbraucht.</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="%{!fu~cKHj,DdYxuZXhg"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="%4//~X5fv,7l~yfi|Hbs"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="02~#n=z42/$L`PA;CE-g"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="6hgj~I#sW4h`XO0{-V2S"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="P1Yn7WNw,qvn8m/![-I%"> <field name="VAR" id="xL{FzofqhyJnPQq`w`6A" variabletype="">Wohnzimmer_vorherige_Farbe</field> <value name="VALUE"> <block type="text_join" id="uEPQ?E~`DdwwK^(k$v9#"> <mutation items="13"></mutation> <value name="ADD0"> <block type="text" id="hGqJx6v8^^8gFM2^}@$7"> <field name="TEXT">{"on":</field> </block> </value> <value name="ADD1"> <block type="get_value" id="jED@:)fyA!kSGW:~!k/!"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.on</field> </block> </value> <value name="ADD2"> <block type="text" id="P:)b{t)A`zRARhpTbbkA"> <field name="TEXT">,"level":</field> </block> </value> <value name="ADD3"> <block type="get_value" id="=8wMMuY0^Hog4n.iYy[8"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.level</field> </block> </value> <value name="ADD4"> <block type="text" id="))Z=k4CePG$Q/OL1UHTI"> <field name="TEXT">,"hue":</field> </block> </value> <value name="ADD5"> <block type="get_value" id="V)da3+yp3_vnBWvLY^@q"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.hue</field> </block> </value> <value name="ADD6"> <block type="text" id="a,6Gvz4pRU]E~1[R9ubc"> <field name="TEXT">,"b":</field> </block> </value> <value name="ADD7"> <block type="get_value" id=",3_OzwM/%^SY?-$s~LuZ"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.b</field> </block> </value> <value name="ADD8"> <block type="text" id="KaXFaH_I$8x,;t;.ky;$"> <field name="TEXT">,"g":</field> </block> </value> <value name="ADD9"> <block type="get_value" id="dU+P7$?YlP3ZxKap#@X}"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.g</field> </block> </value> <value name="ADD10"> <block type="text" id="XyCI!Dz=)%xy*bE1)kbf"> <field name="TEXT">,"r":</field> </block> </value> <value name="ADD11"> <block type="get_value" id="rtjV3jp;-f=tXc-QGH#e"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.r</field> </block> </value> <value name="ADD12"> <block type="text" id="qZ#JS*J7KPq;ZFEo$LOl"> <field name="TEXT">,"alert":"none","transitiontime":100}</field> </block> </value> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="{9pXJo{;Q)lkpECd?oXK"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="XKt6sg~%;|u4eCVWmgUa"> <field name="ATTR">val</field> <field name="OID">hue.0.Wohnzimmer.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="T.Y_3#;r|5R09l$S:^P/"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="]0ZH!4V]RyQTdgP:*qwV"> <field name="VAR" id="S|;`41z#2)fy^=rNAo~q" variabletype="">Licht_war_aus</field> <value name="VALUE"> <block type="logic_boolean" id="MEwUm(_h!w1YsI1%[C~="> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="hi[A)`y(qoUC5x=2w(vb"> <field name="VAR" id="Kc{,!;GakGUAz,3b2Fmi" variabletype="">Wunschfarbe</field> <value name="VALUE"> <block type="text" id="T$zVXYn$wH+Q9yy1;S^S"> <field name="TEXT">{"on":true,"level":100,"hue":26,"b":8,"g":138,"r":254,"alert":"none","transitiontime":100}</field> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="alK(Ab820lw-SK-2sak|"> <field name="NAME">Alarm2</field> <field name="DELAY">100</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="variables_set" id="Vf+LUwz!KHKGie@/3H$O"> <field name="VAR" id="#-mXz|12s@TMb{7:o;u`" variabletype="">Alarmfarbe</field> <value name="VALUE"> <block type="text" id="pc0!,JKd:10{16}(sN}N"> <field name="TEXT">{"level":100, "hue":0,"alert":"lselect", "transitiontime":0}</field> </block> </value> <next> <block type="control" id=".o?n;[1))x!@pRuAncH{"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="s/@-cX/Ji{yHH@/9*WxE"> <field name="VAR" id="#-mXz|12s@TMb{7:o;u`" variabletype="">Alarmfarbe</field> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="n9qFe]_5d/-knMi])Tit"> <field name="NAME">vorher2</field> <field name="DELAY">15</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="7*)tn~G-ueS~CY|eR]B8"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="93I4]J7[]3}h2.mv`#|j"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="$Ni(]Vy=G(4wQ!2Vv;eN"> <field name="VAR" id="S|;`41z#2)fy^=rNAo~q" variabletype="">Licht_war_aus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="O{qwZ1++kI.r$PUFM)WH"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="W#,GkK;?^u~06KqBMTd`"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="h|9b9YLdN574UY(!Xn*w"> <field name="VAR" id="xL{FzofqhyJnPQq`w`6A" variabletype="">Wohnzimmer_vorherige_Farbe</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="0low5vOLzXR#2c)^9`CN"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="+BR)o):+9T.!eRb|_tXs"> <field name="VAR" id="Kc{,!;GakGUAz,3b2Fmi" variabletype="">Wunschfarbe</field> </block> </value> <next> <block type="control" id="hdaAt?4m9jB=Pj-Jd(Vi"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=":3R/#t0MTwY%|*ZAj0DE"> <field name="TEXT">{"on":false,"transitiontime":100}</field> </block> </value> </block> </next> </block> </statement> <next> <block type="variables_set" id="k^4FN_KnbBmH/D,WKRK,"> <field name="VAR" id="S|;`41z#2)fy^=rNAo~q" variabletype="">Licht_war_aus</field> <value name="VALUE"> <block type="logic_boolean" id="ARUW]YfCeIX_s1I$9g[x"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> <block type="procedures_defcustomnoreturn" id="dcO]*lKG*1K;DhKj-%`f" x="13" y="13"> <mutation statements="false"></mutation> <field name="NAME">datenpunkt_erstellen</field> <field name="SCRIPT">Ly9EYXRlbnB1bmt0IEFsYXJtIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiQWxhcm0uQWxhcm0iLCJmYWxzZSIsIHsKICAgIG5hbWU6ICdBbGFybScsIAogICAgcm9sZTogJ2J1dHRvbicsCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogdHJ1ZSwKICAgICJzbWFydE5hbWUiOiB7CiAgICAiZGUiOiAiQWxhcm0iLAogICAgInNtYXJ0VHlwZSI6ICJTV0lUQ0giCn0KfSk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_callcustomnoreturn" id="Wrv]^,+eAUZyWmaD=d5u" x="13" y="63"> <mutation name="datenpunkt_erstellen"></mutation> <next> <block type="on_ext" id="xhm14(HW4VoRvObmxFfQ"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="6{C-o)p.q~,jZQ)O,CsP"> <field name="oid">hs100.0.192_168_1_63.power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="ftB`Cl6cxu`B{RU{FTQm"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="}A|D9zK[RvsatF3t207-"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="ZKHiHIV;rYPRn(a,^chX"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id=":kY_+I6B]29G!!Mz2-]#"> <field name="ATTR">val</field> <field name="OID">hs100.0.192_168_1_63.power</field> </block> </value> <value name="B"> <block type="math_number" id="|k;F$jK|W.bs[D,wUC}5"> <field name="NUM">1.6</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="NBEs$P3%HC]-%|OoLAN_"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="IPZ@V}3xfJADI7YqktH"> <field name="ATTR">val</field> <field name="OID">hs100.0.Waschmaschine_Sibylle_läuft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="EidA92E?flHTK8Q+I4"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="0?=A65jlQdW|w,[];@"> <mutation delay_input="false"></mutation> <field name="OID">hs100.0.Waschmaschine_Sibylle_läuft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="/a!HgmdF.^EB2xq7y;S1"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="EfmaiW1eoFma/%;tx/uN"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G090U509910604SS.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="text" id="7~NfsWx!4$Axj+5yW;5"> <field name="TEXT">Guten Tag meine lieben, die Waschmaschine wurde gestartet</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="hr-gsMEPM%q-NFnrii^a"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="yjfRIE_PDs%FEPtMWf#l"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="kN%Iy1mht+ua8v#+IKy*"> <field name="ATTR">val</field> <field name="OID">hs100.0.192_168_1_63.power</field> </block> </value> <value name="B"> <block type="math_number" id="jMA/e%Pyb9J8Y{wRFl*N"> <field name="NUM">1.2</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="{j@yrT3dQzuUj|7N(1.O"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="UCSz[z*556|oVd-!eh%V"> <field name="ATTR">val</field> <field name="OID">hs100.0.Waschmaschine_Sibylle_läuft</field> </block> </value> <value name="B"> <block type="logic_boolean" id="?m,?02hXT0%B%PIy~?h:"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="d@I:Qh,1V#fRsSbcl6gg"> <mutation delay_input="false"></mutation> <field name="OID">hs100.0.Waschmaschine_Sibylle_läuft</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="=VFU/ydj[Fm~(%88LVMX"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="GwM0IrbMj(VE?$_04hV9"> <mutation delay_input="true"></mutation> <field name="OID">alexa2.1.Echo-Devices.G090U509910604SS.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">20</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="text_join" id="3?*H|JGs27V@6~~~8F)-"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="EK,Z#@PTAApgQq:}.ub$"> <field name="TEXT">Halli, Hallo, ich bin es, die Waschmaschine, ich bin sowas von fertig! ;-)</field> </block> </value> <value name="ADD1"> <block type="text" id="o|olcNOtO7Bki7,Dkm6H"> <field name="TEXT">Zu deiner Information, du hast heute</field> </block> </value> <value name="ADD2"> <block type="get_value" id="[lI(`pb]l:,mcIceod$v"> <field name="ATTR">val</field> <field name="OID">hs100.0.192_168_1_63.totalNow</field> </block> </value> <value name="ADD3"> <block type="text" id="Ot+b^8x;4V@0IgYOeK/d"> <field name="TEXT">KWh, beim Waschen verbraucht.</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="x7EaBGDENGkS0TK$B(w%"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="30g!.(l0Yz5tvvKT9zzb"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="wb-!ZwL$5tlE[u#]q7U:"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="%%$B?OA0N]qeoVVRKc(V"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="vFGzS*?e-L}yh=0?jQ$u"> <field name="VAR" id="xL{FzofqhyJnPQq`w`6A" variabletype="">Wohnzimmer_vorherige_Farbe</field> <value name="VALUE"> <block type="text_join" id="6T#,e*QX)JI}=$[}@@F4"> <mutation items="13"></mutation> <value name="ADD0"> <block type="text" id="BLAPc(kX=qJDT5@b^B,i"> <field name="TEXT">{"on":</field> </block> </value> <value name="ADD1"> <block type="get_value" id="zf_4g.5VYBb*TM:80NpY"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.on</field> </block> </value> <value name="ADD2"> <block type="text" id="*(kgm^2[yijPGj1JLSh%"> <field name="TEXT">,"level":</field> </block> </value> <value name="ADD3"> <block type="get_value" id="-=SLN~~ws!mz+u6O^rwP"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.level</field> </block> </value> <value name="ADD4"> <block type="text" id="p^_FJZ$u2Q+kd3m^J?v5"> <field name="TEXT">,"hue":</field> </block> </value> <value name="ADD5"> <block type="get_value" id="p/lV)o`b5s#-k;6*j9;^"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.hue</field> </block> </value> <value name="ADD6"> <block type="text" id=":wM^jaL+TpCBosd39zm_"> <field name="TEXT">,"b":</field> </block> </value> <value name="ADD7"> <block type="get_value" id="#CgM4;GS)VGck+!?{(XD"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.b</field> </block> </value> <value name="ADD8"> <block type="text" id="[jD.nSA{1|7w;x[wkOa!"> <field name="TEXT">,"g":</field> </block> </value> <value name="ADD9"> <block type="get_value" id="W?7eP{m%W~[vUBaRH2Y!"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.g</field> </block> </value> <value name="ADD10"> <block type="text" id="I#~*w5O1nYlindL01c2l"> <field name="TEXT">,"r":</field> </block> </value> <value name="ADD11"> <block type="get_value" id="SE{4.Z9{i2u4W/XMASk-"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.r</field> </block> </value> <value name="ADD12"> <block type="text" id="!@2BF{`%TzO(.p=cM}5p"> <field name="TEXT">,"alert":"none","transitiontime":100}</field> </block> </value> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="ELtc!J@;3R4[]1_pQ;nv"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Kjp[CE2yTnQ[PUT*V(V4"> <field name="ATTR">val</field> <field name="OID">hue.1.Wohnzimmer.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="yy%kQ3pmbYTzv1y@XBLc"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="1{#BvcF-KWA0gzdT]tV4"> <field name="VAR" id="S|;`41z#2)fy^=rNAo~q" variabletype="">Licht_war_aus</field> <value name="VALUE"> <block type="logic_boolean" id=")9NmF]!UU%20UG$X|4#9"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="k*Vmi0*!8U,dBa=_YE!O"> <field name="VAR" id="Kc{,!;GakGUAz,3b2Fmi" variabletype="">Wunschfarbe</field> <value name="VALUE"> <block type="text" id="[#3;`R6-8_xy7A6Mj-=}"> <field name="TEXT">{"on":true,"level":100,"hue":26,"b":8,"g":138,"r":254,"alert":"none","transitiontime":100}</field> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="t5z9IGhAM2U||A=l?oE+"> <field name="NAME">Alarm</field> <field name="DELAY">100</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="variables_set" id="eV2nz=S+o0Qh#knfX(VX"> <field name="VAR" id="#-mXz|12s@TMb{7:o;u`" variabletype="">Alarmfarbe</field> <value name="VALUE"> <block type="text" id="6=Nsu~FIZ]GOWy9RW!a~"> <field name="TEXT">{"level":100, "hue":0,"alert":"lselect", "transitiontime":0}</field> </block> </value> <next> <block type="control" id="Lr:]7?$$Digass0*HoR["> <mutation delay_input="false"></mutation> <field name="OID">hue.1.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="=]YL~Rr~V00O,oe*2!)R"> <field name="VAR" id="#-mXz|12s@TMb{7:o;u`" variabletype="">Alarmfarbe</field> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="Ft#CxWl=aL97Eq/1At(."> <field name="NAME">vorher</field> <field name="DELAY">15</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="S]ZcTCCaff{|N8s3lG,b"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="uw*LFp.7s+wAcB}w_9;u"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="bJ7WHnuwLBnUP7xEp}K8"> <field name="VAR" id="S|;`41z#2)fy^=rNAo~q" variabletype="">Licht_war_aus</field> </block> </value> <value name="B"> <block type="logic_boolean" id="m`;umRIZO%.tdGH$8;.)"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="H-EBF0vG#rLz{@[/;^V0"> <mutation delay_input="false"></mutation> <field name="OID">hue.1.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="~8~Jn?G+5I5`YE`8w#Qr"> <field name="VAR" id="xL{FzofqhyJnPQq`w`6A" variabletype="">Wohnzimmer_vorherige_Farbe</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="lit.[J:;U2L[@{-{bf`("> <mutation delay_input="false"></mutation> <field name="OID">hue.1.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="AhY{UEx!(:@VRu]a`x2j"> <field name="VAR" id="Kc{,!;GakGUAz,3b2Fmi" variabletype="">Wunschfarbe</field> </block> </value> <next> <block type="control" id="@v0.X3AAGc*U8Udhqu[M"> <mutation delay_input="false"></mutation> <field name="OID">hue.1.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="K~17t7:-PAkJ4{{TZMY}"> <field name="TEXT">{"on":false,"transitiontime":100}</field> </block> </value> </block> </next> </block> </statement> <next> <block type="variables_set" id="3c;Mfm,.pYC$g%7{P}ez"> <field name="VAR" id="S|;`41z#2)fy^=rNAo~q" variabletype="">Licht_war_aus</field> <value name="VALUE"> <block type="logic_boolean" id="hQ1J)7f.t$79)ORQc9#g"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
warum ist das alles zweimal drinn ? (die Funktion Datenpunkt erstellen ist auch zweimal drinn, soll aber den gleichen Datenpunkt erstellen ?)
Warum testest Du das nicht mal so wie ich es Dir geschrieben habe, erstmal ohne das Waschmaschienen Zeug ?
Ich habe erstmal einiges deaktiviert in Deinem Blockly (es ist nichts gelöscht(ausser die doppelte Funktion), nur deaktiviert)
Da bei mir die Lampen genau so heißen (Wohnzimmer) habe ich das Blockly so wie im Anhang ausprobiert. Es funktionierte sofort wie es soll)
Importiere das mal wieder so wie im Anhang. Dann startest Du es einmal. Die anderen "Alarm Scripte" mach mal aus zum testen. Anschließend schaust Du mal in iot oder cloud, je nach dem was Du hast und schaust ob Du das Smartgerät Alarm findest. Dann sagst Du einmal zu Alexa, suche neue Geräte . Danach sagst Du Alexa, Alarm an.
Wenn Du nicht über Alexa testen möchtest, kannst Du auch den Button unter javascript.0.Eigene_Datenpunkte.06HUE.HUEAlarm drücken (die Stelle ist jetzt woanders, weil ich meine Struktur so habe)
-
Ich hatte das getestet gehabt so wie du es zuvor geschrieben hast.
Habe den AlarmButton genommen, da ging alles.
Dann habe ich halt mein Waschmaschinen part hinzugenommen. und schon eskaliert es. wobei der Waschimen teil des scriptes vorher auch einwandfrei lief, es soll ja lediglich der alarm bzw das blinken dazu kommen.
Weshalb alles zweimal drin ist kann ich dir sagen.
Zwei Etagen, Zwei Haushalte, und zwei Waschmaschinen und zwei Echos.Laut meiner Cheffin war es wohl so , das als die Maschine heute angestellt worden ist, der Alarm los ging und dann nach rot auch noch in anderen farben geblinkt hat.
Musste mich dann von Unterwegs einloggen und das Script stoppen, da die hier sonst druchdrehen .....hehehehe.
Anbei auch nochmal der fehlende Screenshot.
Ich befürchte, oder glaube das der Fehler ist, dass die zwei "sonst falls" Trigger iwie getrennt werden müssen oder so ?! aber das ist nur ne vermutung.
Denn es soll ja auch nicht bei Waschmaschine läuft "true" Blinken sondern erst wenn "False". Aber da das ja auch der dauer AUS wert ist, würde es quasi in ne Loop gehen, so meine Theorie.EDIT: wie geht das mit dem BLOCKLY Export Button hier ?