Hi, ich möchte mich hier gerne mal dranhängen. Denn quasi genau das möchte ich auch machen. Bin schon eine ganze Weile mit ioBroker am Start und habe auch schon viel umgesetzt. Aber eben Alexa einfach etwas fragen zu können und eine Antwort zu bekommen ....
Bei mir im Sinne von:
Alexa, wie ist der Status des Pools
Ich lese aus dem ALEXA2 History die Anfrage mit. Trigger, Ausgabe und alles ist kein Akt.
ABER Alexa antwortet erstmal das sie keine Ahnung hat wie der Status des Pools ist oder das sie das Gerät nicht kennt. DAS würde ich gerne unterbinden. Und am liebsten ohne etliche Skills die genau auf den Wortlaut x hören.
Der Versuch mit einem Skill der auf "Alexa, Status" hört und einfach nur als Antwort gibt: "Sekunde, ich schaue nach" klappt. Fragt man aber nach "Alexa, Status Pool" klappt es schon nicht mehr.
Vielleicht als Anregung
on({id: 'alexa2.0.History.summary', change: "ne"}, function (f) {
var $$Device = getState('alexa2.0.History.name').val;
var $$Sammeltext = "";
// Status des Pools
if((f.state.val).match("status pool")) {
var $$TPool = myRound(getState('0_userdata.0.MyControllers.Pooltechnik.Values.T1').val,1);
$$Sammeltext += " Die Wassertemperatur beträgt " + $$TPool + " Grad. "
if(getState('0_userdata.0.MyControllers.Pooltechnik.Values.K1').val) {
var $$PPool = myRound(getState('shelly.0.SHPLG-S#6A5E9C#1.Relay0.Power').val,0);
$$Sammeltext += " Die Filteranlage ist in Betrieb, aktueller Energieverbrauch: " + $$PPool + " Watt. ";
} else {
$$Sammeltext += " Die Filteranlage ist aus. ";
}
if(getState('0_userdata.0.MyControllers.Pooltechnik.Values.K2').val) {
$$Sammeltext += " Die Poolbeleuchtung ist eingeschaltet. ";
} else {
$$Sammeltext += " Die Poolbeleuchtung ist aus. ";
}
Sub_AlexaTalk($$Device, $$Sammeltext,0,0);
// Status der Katzenkappe
} else if ((f.state.val).match('status katzenklappe')) {
if(getState('0_userdata.0.Junctions.Katzenklappe.Switches.offen').val) {
Sub_AlexaTalk($$Device, 'Die Katzenklappe ist offen',0,0);
} else {
Sub_AlexaTalk($$Device, 'Die Katzenklappe ist geschlossen',0,0);
}
}
});
myRound ist eine eigene Funktion zum Runden
Sub_AlexaTalk ist eine Unterfunktion von meiner Log-Funktion, mit der ich Echos geziehl und mit eigenen Parametern (Delay, Lautstärke, Lautstärke nach Tageszeit, ....) ansprechen kann.