NEWS
Alexa liest Temperatur aus ioBroker Objekt - geht das?
-
Ja, das ist sehr einfach möglich!
Schau hier nach.
Mir hat dort DSLRaser sehr mit einem Blockly geholfen.PS: so schaut mein Blockly aus!
-
hast Du den IoT Adapter in Benutzung um die Objekte über Alexa anzusprechen?
Falls ja, dann benötigst Du eigentlich kein Programm, sondern Du erstellst im IoT-Adapter ein Smart-Gerät vom Typ THERMOSTAT und verweist darin auf den Datenpunkt mit der Temperatur.
Wichtig ist, dass der Datenpunkt vom Typ "Zahl" sein muss und als Einheit °Chier als Beispiel ein Ausschnitt des RAW Bereiches meines HomeMatic Sensors
"common": { "name": "Temperatur-Außen.TEMPERATURE", "type": "number", "unit": "°C", "role": "value.temperature", "def": 0, "min": -40, "max": 80, "read": true, "write": false, "smartName": { "de": "Außenbereich", "smartType": "THERMOSTAT" },
Das Gerät heisst "Außenbereich"
Mein Aufruf lautet dann entsprechend: "Alexa, wie ist die Temperatur im Außenbereich?" -
Ja, geht über beide Wege. Hatte ich hier auch mal so geschrieben.
Bei mir heißt die Frage an Alexa:"Alexa, wie ist die Temperatur im Garten"
Wie @BBTown schon geschrieben hat, sollte das Gerät, oder auch über Blockly mit Routine in der Amazon App, nicht einfach nur die Frage an Alexa nach der Aussentemperatur heissen/stellen, da Du sonst sehr wahrscheinlich allgemeine Wetterdaten von Alexa angesagt bekommst, und nicht die Daten Deines Sensors.
Bei Blockly:
Vielleicht noch als Hinweis das hier beachten. -
so sieht das Smartgerät im IoT Adapter dann aus:
Der Smartname (erste Spalte) ist der Rufname in Alexa (hier "Außenbereich")
Da das Smartgerät als "THERMOSTAT" definiert wurde, funktioniert die Fragestellung:
"Alexa, wie ist die Temperatur im Außenbereich?"Das ganze funktioniert entsprechend auch für Heizkörperthermostate.
"Alexa, wie ist die Temperatur im Schlafzimmer?" -
@BBTown
Ja, wie schon geschrieben gehen beide Varianten.Als Anmerkung zur Blockly Variante, wenn man also iot Adapter/Alexa2 Adapter(Datenpunkt ssml) nutzt, ist eine individuelle Frage/Antwort möglich, oder auch andere Stimmen usw..
Ich hatte beispielsweise mal drinn, das mir Zufallsgeneriert mal Alexa, mal Hans oder Vicki, oder auch zur "Belustigung" mal Conchita die Antwort ausgibt bzw. mir die Temperatur ansagt. -
@dslraser Kannst du bitte deine Blockly Beschreibung noch einmal zusammenfassen?
Dieser Artikel ist schon sehr unübersichtlich. https://forum.iobroker.net/topic/17512/temperatur-mit-alexa-abfragen/18
Du würdest sicher vielen helfen. -
-
@dslraser said in Alexa liest Temperatur aus ioBroker Objekt - geht das?:
Meinst Du dir Ansage über ssml/Alexa2 Adapter ?
Genau.
Ich möchte es dann, wenn ich es verstanden habe auch für den Netatmo Regensensor anwenden. Alexa, regnet es jetzt? -
@BBTown
Hi
Wenn ich das so mache sagt mir Alexa das das nicht unterstützt wird.
Edit
Heute geht es. Nichts geändert. Komisch aber läuft jetzt ja -
@bergjet
ich habe aktuell viel zu tun, ich weiß nicht genau wann ich das schaffe.Hier schon mal Teil 1 . Das ist das Blockly in dem ich mir Datenpunkte für die Stimmen anlege
(Die Pfade sind an meine Struktur angepasst) und die Stimmen dann per Alexa umschalten kann.
Wer eine andere Ordnerstruktur haben möchte, muss das hier anpassen:
Da </> drauf klickenUnd hier die zu erstellende Ordnerstuktur anpassen:
Die Datenpunkte für den iot/cloud Adapter werden nach dem ersten Blockly Start erstellt. Bitte einmal
in iot/cloud Adapter nachsehen ob sie da sind. Danach einmal in der Amazon App neue Geräte suchen lassen, dann sollten Alexa, Hans, Vicki und Conchita als Schalter gefunden werden. Jetzt sollte der Sprachbefehl: Alexa, schalte Hans an, oder auch Alexa, schalte Vicki an usw. schon funktionieren.
Ob umgeschaltet wird kann man in den Datenpunkten beobachten.
Hier:
Diese Datenpunkte verwende ich dann in jedem weiterem Blockly wo ich Stimmen umschalten möchte. Das wird dann Teil 2.
-
Ich möchte gerne mein Temperaturfühler am Heizkörper über Alexa,wie ist die Temperatur im Wohnzimmer abfragen. Leider verweigert mir der iot Adapter den Datenpunkt auf zu nehmen,wird angeblich nicht unterstütz. Könnt ihr mir helfen wo mein Fehler liegt.
-
@Bluelightcrew
versuche den SmartNamen direkt in den RAW zu schreiben."smartName": { "de": "Temperatur im Wohnzimmer", "smartType": "THERMOSTAT" }
Du machst hinter "write" : false noch ein Komma und fügst dann den Code von oben (mit Deinem gewünschten SmartNamen" ) darunter ein.
Dann schau in iot ob das SmartGerät da ist.
Danach eine Geräte suche in der Alexa App, oder den Sprachbefehl, Alexa, suche neue Geräte.(manchmal musste ich auch mehrfach suchen. Voraussetzung ist aber das das Gerät im iot ist.In diesem Beispiel heist dann die Frage: Alexa, wie ist die Temperatur im Wohnzimmer ?
-
@dslraser
Funktioniert leider auch nicht,iot weigert sich weiter das auf zu nehmen,warum auch immer -
@Bluelightcrew
setze mal write auf true (nur um zu sehen ob es dann eingefügt wird) -
@dslraser
Ja dann wird es eingefügt,aber ich kann mit Alexa nicht die Temperatur abfragen.Alexa sagt dann.... unterstützt das nicht -
@Bluelightcrew zeige bitte mal den vollständigen RAW des Datenpunktes
-
@Bluelightcrew
Hast Du dann in der Alexa App auch erstmal neue Geräte gesucht/gefunden und einen Moment gewartet und dann die Abfrage gestartet ?
Und zeig mal Bitte den RAW, so wie es @BBTown auch schon geschrieben hat. -
@dslraser
@BBTown
Ja hab ich alles gemacht
Hier inhalt der RAW:{ "from": "system.adapter.zwave.0", "ts": 1558296071147, "user": "system.user.admin", "common": { "name": "Temperature", "type": "number", "role": "value.temperature", "read": true, "write": true, "smartName": { "de": "Temperatur im Wohnzimmer", "smartType": "THERMOSTAT" } }, "native": { "value_id": "11-49-1-1", "type": "decimal", "genre": "user", "label": "Temperature", "units": "C", "help": "", "node_id": 11, "class_id": 49, "instance": 1, "index": 1, "min": 0, "max": 0, "read_only": true, "write_only": false, "is_polled": false }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "zwave.0.NODE11.SENSOR_MULTILEVEL.Temperature_1", "type": "state" }
-
-
oder Du tippst auf das + und schreibst da unit rein und fügst dann da die Maßeinheit ein. (°C)