NEWS
Alexa frage stellen lassen
-
Dann versuche ich das mal etwas genauer zu erklären 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
-
@padrino da gibts auf youtube ne Serie von Videos, wie man einen Skill erstellt, war mir allerdings zu kompliziert
-
@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?
-
@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? -
@ahnungsbefreit Wo hast Du das denn gefunden? Wenn dann muss es noch ins readme vom iot Adapter
-
@padrino neee das IST iot!!
-
@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? -
@padrino In dem Fall dann ja ... kläre gerade ob das auf iot soll oder nicht
-
@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?
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
-
@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?
-
@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!