Amazon Echo Remote Control

Moin,
hauptsache die IDs passen auch. Routinen bisher nicht von IPS ausführen lasse konnte ich es nicht testen.

Ralf

passt alles…sind halt Aktoren dahinter welche von IPS nicht angesprochen werden können :wink: aber halt von Alexa :wink:

Versteh ich jetzt was nicht?
Die ID Nummern ändern sich ja.
Ist das nicht das Problem?

Cheers Seppm

Doch, aber der Name bleibt gleich - und so lässt sich die geänderte ID ja wieder auswerten.

Danke, Ralf. Ich habe mal wieder was „zum spielen“.
Bislang habe ich das auch nur in der Alexa-App genutzt, die Routine löst i.d.R. eine Szene/Skript aus, die dann „sonstwas“ tut. Bei mir sind aber auch alle Geräte im Symcon erreichbar.

Grüße, Uwe

1 „Gefällt mir“

ja das Passt schon, er meinte mit der Auswertung das die ID welche angezeigt sind auch die sind welche alexa nutzt

ja Uwe, wenn man jetzt noch das soweit automatisieren kann das egal welche ID sich verändert immer die richtige angesprochen wird…ein Traum :smiling_face_with_three_hearts:
Klar kann man auch die Routine per „Namen aufrufen“ jedoch funktioniert das nicht zur vollsten Zufriedenheit bei mir, deswegen nutze ich die eindeutigen ID’s

Bei mir wirft das Skript den folgenden Fehler:

Warning: count(): Parameter must be an array or an object that implements Countable in /var/lib/symcon/scripts/34127.ips.php on line 5

@HarmonyFan : Magst du noch mal ein paar Tastenanschläge machen, Ralf? Du bist ganz klar besser in PHP - ich bin ja „nur“ Elektriker :blush:

Grüße, Uwe

Moin alsk1
ECHOREMOTE_GetAllAutomations
wird bei dir wohl nichts zurück liefern. Schreib mal direkt dahinter
var_dump($automations);
return;
normal sollte jetzt eine Liste aller Routinen kommen und ich vermute bei dir kommt nichts. Keine Echo-Instanz angegeben?

Ralf

Moin Uwe,
ich habe obiges Script noch etwas verändert so das ein Array erzeugt und in der Variablen „Alexa Routinen Feld“ abgelegt wird. Diesen String kann man für folgende kleine Sachen benutzen:

<?php
echo SearchID("was läuft");
return;

function SearchID(string $Routine){
    $feld = json_decode(GetValue(47880 /* oben erwaehnte Variable */), true);
    if (isset($feld[$Routine])) return $feld[$Routine];
    return -1;
}
?>

Die Funktion SearchID liefert die ID wenn gefunden sonst -1. In der 2. Zeile kannst Du es mit deinen Routinen testen. Es muss der Name der Routine sein und nicht der Text den Du vielleicht sagst um die Routine zu starten.

Ralf