NEWS
Alexa frage stellen lassen
-
Dann versuche ich das mal etwas genauer zu erklären :D Bin nur nicht so der Erklärbär ;)
In meinem ersten Testfall wollte ich wenn ich meinen LED Streifen im Wohnzimmer anmache und das Licht noch an ist Alexa fragen lassen ob das Licht ausgeschaltet werden soll.
In meinem Skript das an der LED einen Farbwechsel erzeugt habe ich beim starten folgendes Eingebaut:
if(getState('alexa2.0.Smart-Home-Devices.xxxxx.powerState'/*powerState*/).val) { setState('alexa2.0.Echo-Devices.xxxxx.Commands.textCommand'/*textCommand*/, "Starte Skill RonnyFarbwechsel"); }Dies startet meinen Skill RonnyFarbwechsel. Diesen Skill habe ich wie bereits geschrieben in voiceflow (voiceflow.com) erstellt. Man kann natürlich auch einen eigenen Coden ;)
Das ganze sieht dann so aus:

Wenn der Skill startet kommt die Frage "Möchtest du Lampe ausschalten?" Bei Ja wird eine Get Request an die Simple API geschickt.
In dem Get Request sieht der Link dann so aus: http://eureDDNSAdresse:8087/set/Ronny.0.LampeAus?user=xxx&pass=xxx&value=true
Dazu muss allerdings die SimpleAPI von Außen erreichbar sein, also man braucht ne feste IP/DDNS Adresse unter der man erreichbar ist und Port 8087 von der SimpleAPI muss offen sein.(Dazu kann ich folgendes Video empfehlen: https://www.youtube.com/watch?v=A5PpgocM3Tc ist zwar recht lange und der beste Erklärbär ist er auch nicht aber hat mir geholfen)Wichtig ist hier noch das voiceFlow mit dem selben Amazon Account verknüpft wird wie die Alexas zuhause. Dann kann man direkt auf den Skill zugreifen ohne das man diesen Veröffentlichen muss.
In ioBroker kann ich dann wieder auf ne Änderung am Wert Ronny.0.LampeAus warten.
on({id: 'Ronny.0.LampeAus'/*LampeAus*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (value) { setState('alexa2.0.Smart-Home-Devices.xxxxx.powerState'/*powerState*/, false); setState('Ronny.0.LampeAus'/*LampeAus*/, false); } });Ich hoffe das hilft.
Grüße
Ronny
@ronny-gerndt eine Info: die ioBroker pro Cloud hat inzwischen auch simple api mit drin. Damit kann man einfache Dinge darüber machen ohne ein eigenes simple-api zu exposen. Vllt ne bessere Option?!
-
@ronny-gerndt eine Info: die ioBroker pro Cloud hat inzwischen auch simple api mit drin. Damit kann man einfache Dinge darüber machen ohne ein eigenes simple-api zu exposen. Vllt ne bessere Option?!
@apollon77 said in Alexa frage stellen lassen:
eine Info: die ioBroker pro Cloud hat inzwischen auch simple api mit drin. Damit kann man einfache Dinge darüber machen ohne ein eigenes simple-api zu exposen. Vllt ne bessere Option?!
gibts dafür genauere Details?
-
@apollon77 said in Alexa frage stellen lassen:
eine Info: die ioBroker pro Cloud hat inzwischen auch simple api mit drin. Damit kann man einfache Dinge darüber machen ohne ein eigenes simple-api zu exposen. Vllt ne bessere Option?!
gibts dafür genauere Details?
@homecineplexx Habe mal gegoogelt.
You can use following commands (only pro): • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/get/stateID - to read state value => {"val":103.516,"ack":true,"ts":1604132484682,"q":0,"from":"system.adapter.admin.0","lc":1604132469672,"result":"OK"} • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/getPlainValue/stateID - to read state value => 103.641 • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/set/stateID?value=1 - to set state value => {"result":"OK"} Don't forget to add simpleApi to allowed services in the configuration.Hat das jemand schon mal benutzt? Stimmt die Syntax noch so?
-
@homecineplexx Habe mal gegoogelt.
You can use following commands (only pro): • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/get/stateID - to read state value => {"val":103.516,"ack":true,"ts":1604132484682,"q":0,"from":"system.adapter.admin.0","lc":1604132469672,"result":"OK"} • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/getPlainValue/stateID - to read state value => 103.641 • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/set/stateID?value=1 - to set state value => {"result":"OK"} Don't forget to add simpleApi to allowed services in the configuration.Hat das jemand schon mal benutzt? Stimmt die Syntax noch so?
@apollon77
Sorry, wenn ich das nicht blicke. :(
Wird Cloud nicht eigentlich von IOT ersetzt?
Und IOT kann das nicht? 🤔😊 -
@homecineplexx Habe mal gegoogelt.
You can use following commands (only pro): • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/get/stateID - to read state value => {"val":103.516,"ack":true,"ts":1604132484682,"q":0,"from":"system.adapter.admin.0","lc":1604132469672,"result":"OK"} • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/getPlainValue/stateID - to read state value => 103.641 • [GET]https://iobroker.pro/service/simpleApi/<user-app-key>/set/stateID?value=1 - to set state value => {"result":"OK"} Don't forget to add simpleApi to allowed services in the configuration.Hat das jemand schon mal benutzt? Stimmt die Syntax noch so?
@ahnungsbefreit Wo hast Du das denn gefunden? Wenn dann muss es noch ins readme vom iot Adapter :-)
-
@apollon77
Sorry, wenn ich das nicht blicke. :(
Wird Cloud nicht eigentlich von IOT ersetzt?
Und IOT kann das nicht? 🤔😊 -
@ahnungsbefreit Wo hast Du das denn gefunden? Wenn dann muss es noch ins readme vom iot Adapter :-)
@apollon77 Siehe oben verlinkte Seite: https://www.npmjs.com/package/iobroker.cloud
-
@apollon77 Siehe oben verlinkte Seite: https://www.npmjs.com/package/iobroker.cloud
@ahnungsbefreit Danke ... Hm .. habe geschaut ... und ja es ist in cliud drin aber noch nicht in iot ... checke
-
@apollon77 sagte in Alexa frage stellen lassen:
@padrino neee das IST iot!!
Oh. =)
Geht aber nur mit Fernzugriff Lizenz? -
@apollon77 sagte in Alexa frage stellen lassen:
@padrino neee das IST iot!!
Oh. =)
Geht aber nur mit Fernzugriff Lizenz? -
@apollon77 Wäre schon gut, wenn das funktioniert.
-
@apollon77 Wäre schon gut, wenn das funktioniert.
@apollon77 Ich stelle mich auch sofort als Tester zur Verfügung :-)
-
Also doch besser bei der eigenen Freigabe bleiben? :D
Sonst muss ich mir das Cloud/iot anschauen. Bin noch Recht neu auf dem Gebiet -
Also doch besser bei der eigenen Freigabe bleiben? :D
Sonst muss ich mir das Cloud/iot anschauen. Bin noch Recht neu auf dem Gebiet@ronny-gerndt warte erst mal ab, was der Rat der Weisen zum Thema "Simple API via iot" sagt
-
@ronny-gerndt warte erst mal ab, was der Rat der Weisen zum Thema "Simple API via iot" sagt
@ahnungsbefreit Jo deswegen ja erstmal bei meiner Lösung bleiben und dann mal schauen. :)
-
@ahnungsbefreit Jo deswegen ja erstmal bei meiner Lösung bleiben und dann mal schauen. :)
@ronny-gerndt Der Vorteil ist ja bei voiceflow, dass Alexa bei einer Frage auf die Antwort wartet. Wie soll man das per Simple API via IOT hinbekommen?
-
@ronny-gerndt Der Vorteil ist ja bei voiceflow, dass Alexa bei einer Frage auf die Antwort wartet. Wie soll man das per Simple API via IOT hinbekommen?
@mcu Ich denke mal es ging @apollon77 eher darum das man über cloud/iot direkt die SimpleApi ansprechen kann und nicht im eigenen Router was freigeben muss. Zugriff auf die SimpleApi braucht man in jedem fall.
-
@mcu Ich denke mal es ging @apollon77 eher darum das man über cloud/iot direkt die SimpleApi ansprechen kann und nicht im eigenen Router was freigeben muss. Zugriff auf die SimpleApi braucht man in jedem fall.
@ronny-gerndt genau!
-
Vielleicht verstehe ich es ja auch falsch, aber man muss mit dem Skill ja nicht unbedingt einen Datenpunkt verändern. Wenn man auf
alexa2.0.History.answerTexttriggert, kann man ja auf die gesprochene Ausgabe von Alexa reagieren.@ronny-gerndt sagte in Alexa frage stellen lassen:
In meinem ersten Testfall wollte ich wenn ich meinen LED Streifen im Wohnzimmer anmache und das Licht noch an ist Alexa fragen lassen ob das Licht ausgeschaltet werden soll.
Da könnte man dann zum Schluss Alexa z.B. sagen lassen: "Gut, ich schalte das Licht aus". Wenn das im Trigger aufscheint, schaltet man per Blockly das Licht aus.
-
@mcu Ich denke mal es ging @apollon77 eher darum das man über cloud/iot direkt die SimpleApi ansprechen kann und nicht im eigenen Router was freigeben muss. Zugriff auf die SimpleApi braucht man in jedem fall.
@ronny-gerndt
Auch wenn Du kein "Erklärbär" bist...Haste Tipps zu VoiceFlow?
Irgendwie blick ich das nicht so.
Da ist ja sogar schon ein "ask for name" Beispiel drin, und damit kann man ja "tippend testen", aber wie bekomme ich sowas unter/zu meinem Alexa Skills? :thinking_face: