NEWS
Neuer Adapter: iobroker.alexa2
-
Alte Version ist keine sinnvolle Option.
Es hat sich glaube zwischen 0.2 und 0.3 der Name von history.#trigger nach History.#trigger geändert.
Weiterhin wird jetzt strenger geprüft was in die datenpunkte reingeschrieben wird. Der Datentype muss stimmen. Da gibts debug im log.
Bitte alexa2 Instanz loglevel auf debug. Dann bitte aus node red heraus ändern und log senden an der Änderung ein bissl.
Bitte log nicht aus admin kopieren sondern von der Platte.
Gesendet vom Handy …
-
Hallo,
Ich habe mal eine Anwessenheit über das Handy mit Sprachausgabe über Alexa und dem neuen Adappter Alex2 gemacht.
on({id: 'ping.0.raspberry.192_168_178_38', change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
// Alexa Lauter
setState("alexa2.0.Echo-Devices.G090LF0965230DAL.Player.volume"/volume/, 70);
// Alexa Handy ist da
setState("alexa2.0.Echo-Devices.G090LF0965230DAL.Commands.speak"/speak/, (String('Hallo, das Handy') + String(getState("ping.0.raspberry.192_168_178_38").val ? 'ist jetzt im WLan Netz' : 'ist nicht mehr im WLan Netz')));
// Alexa wieder Leiser
setStateDelayed("alexa2.0.Echo-Devices.G090LF0965230DAL.Player.volume"/volume/, 30, 10000, false);
});
Sorry war etwas zu schneel mit dem drücken
Gruß Fuenkchen
-
Hallo,
Ich habe mal eine Anwessenheit über das Handy mit Sprachausgabe über Alexa und dem neuen Adappter Alex2 gemacht.
on({id: 'ping.0.raspberry.192_168_178_38', change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
// Alexa Lauter
setState("alexa2.0.Echo-Devices.G090LF0965230DAL.Player.volume"/volume/, 70);
// Alexa Handy ist da
setState("alexa2.0.Echo-Devices.G090LF0965230DAL.Commands.speak"/speak/, (String('Hallo, das Handy') + String(getState("ping.0.raspberry.192_168_178_38").val ? 'ist jetzt im WLan Netz' : 'ist nicht mehr im WLan Netz')));
// Alexa wieder Leiser
setStateDelayed("alexa2.0.Echo-Devices.G090LF0965230DAL.Player.volume"/volume/, 30, 10000, false);
});
Sorry war etwas zu schneel mit dem drücken
Gruß Fuenkchen `
das kingt nach ner coolen idee..
habe überlegt, dass wenn jemand nach hause kommt, und sich dann im wlan netz verbindet, alexa in der diele "guten abend xyz" wiedergibt..
leider habe ich noch keine idee, wie ich das ganze etwas intuitiver umsetzen kann, sodass nicht bei jedem verbindungsabbruch, wenn man schon zu hause ist, alexa wieder anfängt "guten abend xyz" zu sagen….
-
das kingt nach ner coolen idee..
habe überlegt, dass wenn jemand nach hause kommt, und sich dann im wlan netz verbindet, alexa in der diele "guten abend xyz" wiedergibt..
leider habe ich noch keine idee, wie ich das ganze etwas intuitiver umsetzen kann, sodass nicht bei jedem verbindungsabbruch, wenn man schon zu hause ist, alexa wieder anfängt "guten abend xyz" zu sagen…. `
Hab's mit Geofency Anwesenheit (da kann man das Telefon auch mal zu Hause in Flugmodus schalten) gelöst und in Verbindung mit Hue Licht / Bewegungsmelder im Flur. Bei Ankunft im Homebereich passiert erstmal nix, sobald ich die Wohnung betrete plappert Alexa die Begrüßung.
Hab gerade keinen Zugriff, kann aber das Blockly zur Verfügung stellen.
-
Dazu habe ich folgendes noch gemacht per Bluetooth. Oder per geofence was bei mir leidet nicht hin hauen will.
Mfg Maggi
Gesendet von meinem SM-G955F mit Tapatalk
-
das kingt nach ner coolen idee..
habe überlegt, dass wenn jemand nach hause kommt, und sich dann im wlan netz verbindet, alexa in der diele "guten abend xyz" wiedergibt..
leider habe ich noch keine idee, wie ich das ganze etwas intuitiver umsetzen kann, sodass nicht bei jedem verbindungsabbruch, wenn man schon zu hause ist, alexa wieder anfängt "guten abend xyz" zu sagen…. `
Hab's mit Geofency Anwesenheit (da kann man das Telefon auch mal zu Hause in Flugmodus schalten) gelöst und in Verbindung mit Hue Licht / Bewegungsmelder im Flur. Bei Ankunft im Homebereich passiert erstmal nix, sobald ich die Wohnung betrete plappert Alexa die Begrüßung.
Hab gerade keinen Zugriff, kann aber das Blockly zur Verfügung stellen. `
das wäre mega, wenn du das machen könntest
-
Dazu habe ich folgendes noch gemacht per Bluetooth. Oder per geofence was bei mir leidet nicht hin hauen will.
Mfg Maggi
Gesendet von meinem SM-G955F mit Tapatalk `
ich versuche es mal mit geofencing.. was ich noch nicht eingerichtet habe bei mir, notfalls würde ich es über bluetooth testen
thx
-
Hier das Blocklyscript:
Wenn mein Flurlicht (geschaltet via Hue Bewegungsmelder) angeht und ich nach Geofency Abwesenheit wieder anwesend bin begrüßt mich Alexa mit der Temperatur dem CO2 Wert der Netatmo Wetterstation.
Hab das mit der Ansage erfolgt Funktion hier irgendwo im Forum übernommen.
Ich glaube das man das noch etwas umbauen kann, die extra Ansageschleife braucht's eigentlich nicht.
var Meldungstext; /** * Beschreibe diese Funktion … */ function Ansage(Meldungstext) { setStateDelayed("alexa2.0.Echo-Devices.G090LV086765004S.Commands.speak"/*speak*/, Meldungstext, 5000, false); } on({id: "hue.0.Philips_hue.Flur.on"/*Philips_hue.Flur.on*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hue.0.Philips_hue.Flur.on").val == true && getState("javascript.0.AnsageErfolgt").val == true) { Ansage(['Hallo ! willkommen zu Hause!','Es sind',getState("netatmo.0.zu-Hause.Wetterstation.Temperature.Temperature").val,'Grad in der Wohnung und der Zehohzweiwert beträgt',getState("netatmo.0.zu-Hause.Wetterstation.CO2.CO2").val].join('')); setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false); } }); createState("AnsageErfolgt", function () { }); on({id: "geofency.0.Handy_[priv_].entry"/*entry*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("geofency.0.Handy_[priv_].entry").val == false) { setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false); } else if (getState("geofency.0.Handy_[priv_].entry").val == true) { setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, true); } });
-
Hier das Blocklyscript:
Bildschirmfoto 2018-08-01 um 16.47.16.png
Wenn mein Flurlicht (geschaltet via Hue Bewegungsmelder) angeht und ich nach Geofency Abwesenheit wieder anwesend bin begrüßt mich Alexa mit der Temperatur dem CO2 Wert der Netatmo Wetterstation.
Hab das mit der Ansage erfolgt Funktion hier irgendwo im Forum übernommen.
Ich glaube das man das noch etwas umbauen kann, die extra Ansageschleife braucht's eigentlich nicht.
var Meldungstext; /** * Beschreibe diese Funktion … */ function Ansage(Meldungstext) { setStateDelayed("alexa2.0.Echo-Devices.G090LV086765004S.Commands.speak"/*speak*/, Meldungstext, 5000, false); } on({id: "hue.0.Philips_hue.Flur.on"/*Philips_hue.Flur.on*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hue.0.Philips_hue.Flur.on").val == true && getState("javascript.0.AnsageErfolgt").val == true) { Ansage(['Hallo ! willkommen zu Hause!','Es sind',getState("netatmo.0.zu-Hause.Wetterstation.Temperature.Temperature").val,'Grad in der Wohnung und der Zehohzweiwert beträgt',getState("netatmo.0.zu-Hause.Wetterstation.CO2.CO2").val].join('')); setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false); } }); createState("AnsageErfolgt", function () { }); on({id: "geofency.0.Handy_[priv_].entry"/*entry*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("geofency.0.Handy_[priv_].entry").val == false) { setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, false); } else if (getState("geofency.0.Handy_[priv_].entry").val == true) { setState("javascript.0.AnsageErfolgt"/*AnsageErfolgt*/, true); } }); ```` `
super danke, ich werde es später mal testen.
gibt es auch die möglichkeit das blocky zu exportieren, damit ich das importieren und nur die werte ersetzen muss?
-
super danke, ich werde es später mal testen.
gibt es auch die möglichkeit das blocky zu exportieren, damit ich das importieren und nur die werte ersetzen muss? `
Klar. Machst einfach ein neues Script und nutzt den kleinen Pfeil nach oben (Blöcke importieren) über dem Script zum importieren des Codes aus meinem Beitrag.
-
super danke, ich werde es später mal testen.
gibt es auch die möglichkeit das blocky zu exportieren, damit ich das importieren und nur die werte ersetzen muss? `
Klar. Machst einfach ein neues Script und nutzt den kleinen Pfeil nach oben (Blöcke importieren) über dem Script zum importieren des Codes aus meinem Beitrag. `
hm..
das einzige, was ich dann angezeigt bekomme ist folgendes:
das ist doch der code für das blockly script, was in deiner grafik weiter oben angezeigt wird, oder?
oder ist das ein java script?
-
Nö . Das ist Java
-
-
Ja, da hast du Recht.
Das scheint tatsächlich nur der Teil mit der Textmeldung zu sein. Der ganze Rest fehlt :?:
Edit: Quatsch. Ist alles da.
Du kannst Blockly als Java exportieren. Dann kommt sowas dabei raus.
-
Ja, da hast du Recht.
Das scheint tatsächlich nur der Teil mit der Textmeldung zu sein. Der ganze Rest fehlt :?:
Edit: Quatsch. Ist alles da.
Du kannst Blockly als Java exportieren. Dann kommt sowas dabei raus. `
ok.. verstanden.. und wie bekomme ich das ganze rückwärts wieder als blockly angezeigt?
-
Das geht leider nicht.
Dazu fehlen in dem Script die Bildinformationen.
Allerdings kann ich dir einen kleinen Trick verraten:
lege ein leeres Blockly script an und wähle dort einfach einen Befehl "steure XXXX mit XX".
in dem Befehl wählst du jetzt deinen Sensor aus und schaltest rechts oben auf "zeige Code".
Jetzt siehst du den Befehl in Javascript und kannst dir die genaue Sensorbezeichnung per Copy und Paste direkt in das andere Script kopieren. Immer die genauen Passagen vergleichen und passend ausschneiden.
-
Hier das Script nochmal als Export. Sollte nun iimportierbar sein…
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="RUoTzvo?H17}CcoV|M]y" x="-262" y="-137"><field name="NAME">AnsageErfolgt</field> <next><block type="on" id="|[-@.==-%lkD3p#NA/|D"><field name="OID">hue.0.Philips_hue.Flur.on</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="@218=IkE/qsKmRu{pA[)"><value name="IF0"><block type="logic_operation" id="h;:?sO;C*QR++sFvwlmj"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="bEb2TgS_Vzfgrm4@YL,K"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="K.gTsCV12F:_5Ncs6-+#"><field name="ATTR">val</field> <field name="OID">hue.0.Philips_hue.Flur.on</field></block></value> <value name="B"><block type="logic_boolean" id="M2k`x?^@ELd;?/_Yx!O?"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="G{)dWgjJ#+._~Hgk8mSQ"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="7=/x-BQ.v3Xa7@cb#N72"><field name="ATTR">val</field> <field name="OID">javascript.0.AnsageErfolgt</field></block></value> <value name="B"><block type="logic_boolean" id=".k]H{IFel`:;,S)b)d%z"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="?WB3cxnc1VW;,;wpT7.m"><mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LV036445004S.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="text_join" id="(6p7BX#~~2P}xj7Wn1@;"><mutation items="5"></mutation> <value name="ADD0"><block type="text" id="M76-)zYehBG]!LdyeY5q"><field name="TEXT">Hallo! willkommen zu Hause!</field></block></value> <value name="ADD1"><block type="text" id="E|w.AEkyy_)gieFW[B1@"><field name="TEXT">Es sind</field></block></value> <value name="ADD2"><block type="get_value" id="+23FeR%/`)Vy3Ni[(7za"><field name="ATTR">val</field> <field name="OID">netatmo.0.zu-Hause.Wetterstation.Temperature.Temperature</field></block></value> <value name="ADD3"><block type="text" id="7-:u)+Rn,a.REn{7XAl."><field name="TEXT">Grad in der Wohnung und der Zehohzweiwert beträgt</field></block></value> <value name="ADD4"><block type="get_value" id="ss#R)QpEW`@hPOuqB`[%"><field name="ATTR">val</field> <field name="OID">netatmo.0.zu-Hause.Wetterstation.CO2.CO2</field></block></value></block></value> <next><block type="control" id=":+sw;3]O*:2=m;}oY-`%"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.AnsageErfolgt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="V:ezxxg{L.az[68LgO]E"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement> <next><block type="on" id="5%2sw2vN~IUt?:~nLn56"><field name="OID">geofency.0.Handy_[priv_].entry</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="2.o(9=pF;72dQLlZd{Z}"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_compare" id="n-3QfDqel51,DR:78:lE"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="[@ZAwx3Q~-5cnVrQn2e}"><field name="ATTR">val</field> <field name="OID">geofency.0.Handy_[priv_].entry</field></block></value> <value name="B"><block type="logic_boolean" id="/LqU`_{.-!+4G?=ARrER"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="+Kxc%`:x3XPxhj30^E:e"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.AnsageErfolgt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="Klxp/+JSwFl*I#}Muk^Q"><field name="BOOL">FALSE</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="C!EKDYHnHg)X@@cAeOT{"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="pd4|+~n%5WOdi_QxvPsU"><field name="ATTR">val</field> <field name="OID">geofency.0.Handy_[priv_].entry</field></block></value> <value name="B"><block type="logic_boolean" id="ZZkwi~iV+!bc0KV]7A)i"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO1"><block type="control" id="EoUSPk1}^Oly6`[a[k^%"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.AnsageErfolgt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="]PIxRNdgc/#6E`|nuw^B"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></xml>
-
Alte Version ist keine sinnvolle Option.
Es hat sich glaube zwischen 0.2 und 0.3 der Name von history.#trigger nach History.#trigger geändert.
Weiterhin wird jetzt strenger geprüft was in die datenpunkte reingeschrieben wird. Der Datentype muss stimmen. Da gibts debug im log.
Bitte alexa2 Instanz loglevel auf debug. Dann bitte aus node red heraus ändern und log senden an der Änderung ein bissl.
Bitte log nicht aus admin kopieren sondern von der Platte.
Gesendet vom Handy … `
Danke für die schnelle Antwort, und die Hinweise.
Name war klar.
Ich hab mir die Log-Datei mal angeschaut, und es lag tatsächlich an einem falschen Datentyp.
Jetzt funktioniert es wieder.
Danke!!!
-
Hier das Script nochmal als Export. Sollte nun iimportierbar sein… `
super, danke fürs hochladen.
ich überlege gerade, ob ich anstatt mit dem geofencing das ganze mit dem tr-064 adapter umsetze.
dort gibt es zu jedem device die beiden werte lastactive und lastinactive.
so spare ich mir die installation eines weiteren adapters.
müsste jetzt nur noch überlegen, wie die abfrage auszusehen hat. :roll: :?
edit:
ok,.. vielleicht habe ich mich doch zu früh gefreut?
dachte die beiden werte würden anzeigen, wann das geräte das letzte mal erreichbar (lastactive) und das letzte mal bevor das gerät nicht mehr erreichbar war (lastinactive) anzeigen wüürde….
-
Sehr schöne Arbeit, vielen dank dafür !
ich würde mir wünschen, (falls möglich) einen Datenpunkt der mit true oder false den jeweiligen Aktivzustand eines Device anzeigt.
Also wenn ich "Alexa" sage und der Statusring am Gerät leuchtet, das der Datenpunkt auf true wechselt und wider zurück
Ein nutzen wäre z.b. das kurzfristige Stumm schalten z.b. des Fernsehers oder Verstärkers zum besseren Verständnis des gesprochenen