gibt es eine einfache Möglichkeit, alles was Alexa versteht (nachdem ich Alexa gesagt habe), in eine Variable zu schreiben und so einen Monitor im Webfront zu haben ?
Würde da gerne ein paar tests machen, ohne die app auf zu haben.
Davor habe ich mich bislang immer gedrückt. Ich finde die Einrichtung des „Bauwerks“ von Dave so herrlich einfach, dass ich auch gerne auf seine ‚angedrohten‘ Erweiterungen warte
Da ja aber anscheinend auch alles problemlos parallel läuft könnte ich ja doch mal etwas „üben“ mit einem Custom Skill.
Ich sehe das nach wie vor immer noch als nettes „Spielzeug“ und nutze es überwiegend als Schreibtischradio
ich hab mich auch davor gedrückt, muß aber sagen, das die Anleitung ganz oben in diesem Thread wirklich SEHR gut gemacht ist.
Und wenn ich das schaffe, schafft es jeder
Der Hauptgrund für mich war, das ich Werte von IPS abfragen wollte, das klappt auch schon super.
Einzig und alleine die Formulierung „Alexa, frage IPS nach der Temperatur im Pool“ würde ich mir eher so wüschen :
„Alexa, wie ist die Temperatur im Pool“
Aber einen Skill muß man eben leider immer namentlich aufrufen.
Moin Sascha,
ich habe mich ja nicht gedrückt, weil ich Angst hatte, es nicht hin zu bekommen
Im Moment schiebt sich aber gerade mal eine Baustelle etwas, weil die anderen Gewerke noch nicht so weit sind.
Die Gelegenheit wäre also günstig
Variablenwerte abzufragen und anzusagen hat auch bei mir einen gewissen ‚Spieltrieb‘ - solange ich ihr zur Abfrage nicht erst sonst was erzählen muss, soll sie doch sabbeln
Danke für die Info, ich beschäftige mich ja mehr Custom Skills, mit SmartHomeSkills kenne ich mich nicht so aus, da tobst Du Dich ja schon aus ;). Daher mal ne Frage bei Custom Skills kann ich ja die Device ID des Echo / Dots abgreifen und weis daher welcher Dot etwas geschickt hat, ist dies inzwischen bei SmartHome Skills ebenfalls möglich?
Wenn es dem Esel zu wohl wird macht er ein Update :rolleyes:. Ich bin auf Win 4.3 mit dem Kernel vom 22.8.17 und es hatte eigentlich alles funktioniert - bis ich heute ein Modul-Update gemacht habe. Wenn ich nun die IQL4SmartHome-Instanz öffne kommen im Modulfenster nur noch Fehlermeldungen:
Undefined index: VariablesType in D:\IP-Symcon\modules\IQL4Symcon\IQL4AmazonEcho\module.php on line 755
Im IPS-Log sieht das dann so aus:
[06-Sep-2017 10:18:09 Europe/Berlin] PHP Notice: Undefined index: VariablesType in D:\IP-Symcon\modules\IQL4Symcon\IQL4AmazonEcho\module.php on line 755
Stoppe ich IPS und tausche den Modulordner gegen den Stand von gestern aus und starte den Dienst wieder funktioniert alles einwandfrei.
Das Problem tritt auch auf wenn ich die IQL4SmartHome-Instanz lösche und komplett mit Import der Konfiguration usw. neu anlege. Verzichte ich auf den Import läßt sich das Modulfenster öffnen.
bitte nicht den Beta branch nutzen, der ist zur zeit nicht lauffähig, da hab ich was mit paresy getestet…
mit dem Master Branch sollte alles einwandfrei funktionieren…
ich versuche gerade mit dem Custom Skill zu unterscheiden, ob ich einen Aktor ein, oder ausschalten will.
Nur irgendwie wird mein $zustand noch ignoriert, obwohl wenn ich ganz oben die Bedingung von $zustand != „“ auf $zustand == „ein“ setze, ich die bedingung erfülle…
aber unten werden meine if abfrage nicht erkannt und alexa wird unverschämt siehe „else“
Habt ihr da eine idee ? Ich baue da schon den ganzen Tag rum
Lieben Dank
Sascha
<?
function Execute(Request $request)
{
if($request->IsLaunchRequest())
{
$text = 'Dies war der Launch Intent von Aktoren. Du kannst mit mir Aktoren schalten';
}
$room = strtolower($request->slots->Zimmer);
$aktoren = strtolower($request->slots->aktoren);
$zustand = strtolower($request->slots->zustand);
if ($room != "" && $aktoren != "" && $zustand != "")
{
// Set Device
// your command
switch ($room)
{
case 'arbeitszimmer':
switch ($aktoren)
{
case 'computer':
if ($zustand == "an" or $zustand == "ein")
{
$text = "computer an im Arbeitszimmer erkannt";
}
if ($zustand == "aus" or $zustand == "ab")
{
$text = "computer aus im Arbeitszimmer erkannt";
}
else
{
$text = "geht wohl noch nicht, du depp";
}
break;
case 'tisch':
$text = "tisch Arbeitszimmer erkannt";
break;
}
break;
default:
// The subject slot was invalid
// Ask the user for the correct object type
return AskResponse::CreatePlainText(
'Diesen Raum kenne ich nicht. Zu welchem Raum wolltest Du Informationen haben?'
)->SetRepromptPlainText(
'Wie bitte?'
);
}
// Response
//$text = "Ich habe im ".$room." den ".$aktoren." geschaltet";
}
else
{
$text = "Ich konnte den Raum ".$room." oder den Aktor ".$aktoren." leider nicht verstehen.";
}
return TellResponse::CreatePlainText($text);
}
Ich würde das ja eher in den anderen Thread packen hier geht es ja primär um den SmartHomeSkill ;).
Was steht denn im Debug dort siehst Du ja erst mal was von Alexa überhaupt geschickt wird?
erst einmal: Vielen herzlichen Dank für das Modul, ist der Wahnsinn, wie einfach es geht.
Allerdings habe ich ein kleines Problem mit den Scripten. Du hast in Deiner Doku ja glücklicherweise das Schalten einer Homematic Device als Beispiel genannt.
ohne Probleme. Wenn ich das Script oben richtig verstanden habe, ersetzt es doch den State-Wert „$_IPS[‚VALUE‘]“ mit dem gesprochenen „An“ oder „Aus“, richtig? Oder muss ich das irgendwo noch definieren?
Im Log zeigt er keine komischen Fehler an und Alexa sagt immer nur „Okay“, obwohl „Status emulieren“ ausgeschaltet ist.
Ja der Code ist falsch deswegen wirst du beschimpft ;).
Du führst mehrere if hintereinander aus und am Schluss ein else. Das Du beschimpft wirst ist logisch, da geprüft wird ob ein vorhanden ist. Die erste Bedingung greift anschließend prüfst du aber nochmals ob die Bedingung
$zustand == "aus" or $zustand == "ab"
zutrifft, das ist nicht der Fall, da ja ein ein übergeben wird. Und weil das nicht der Fall ist, wird dann die else Schleife ausgeführt.
Die Lösung ist relativ simpel. Kein if verwenden das geht schief sondern ein elseif also
case 'computer':
if ($zustand == "an" or $zustand == "ein")
{
$text = "computer an im Arbeitszimmer erkannt";
}
elseif ($zustand == "aus" or $zustand == "ab")
{
$text = "computer aus im Arbeitszimmer erkannt";
}
else
{
$text = "geht wohl noch nicht, du depp";
}
dann sollte das Beschimpfe ein Ende haben und Du die richtige Antwort bekommen.
manchmal ist Technik einem Wunder gleich zusetzen. Habe genau das gleiche Script ein zweites mal erstellt und siehe da, es läuft. Hatte beim ersten Versuch mit Copy & Paste aus Deiner Doku gearbeitet und nur die Instanzen angepasst. Könnte es daran gelegen haben?
Da ich das natürlich vor dem Update nicht gelesen habe geht bei mir mit Alexa im Moment nichts mehr. Kommt demnächst eine neue Beta/Testing-Version für den Raspberry wo das wieder geht? Oder gibt es eine Möglichkeit wieder von der Testing-Version auf die Stable zu wechseln auf dem RPI? Wenn ja wie?
Notiz an mich Nächstes Mal das Backup VORHER machen und nicht hinterher