Metainformationen zur Seite

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
plugins:alexa2lox:start [2022/09/10 15:30] Michael Schlenstedtplugins:alexa2lox:start [2024/01/23 19:01] (aktuell) Christian Fenzl
Zeile 1: Zeile 1:
-====== Alexa2Lox  ======+====== Alexa2Lox ======
  
-Version History...+++++ Version History... |
  
 **Versionen vor 4.0** **Versionen vor 4.0**
Zeile 19: Zeile 19:
   * Added quoting for SSML syntax   * Added quoting for SSML syntax
  
 +**Version 4.2.0**
  
 +  * Update for LoxBerry 3.0 compatibility (MQTT features)
 +  * This release requires at least: LoxBerry 2.0+MQTT Gateway 2.0, or LoxBerry 3.0
  
-\\+**Version 4.3.0**
  
 +  * Update for Refresh Token Auth Mode
  
 +**Version 4.4.0**
  
-----+  * German umlauts are not replaced by ae, ue, oe anymore (Alexa now can pronounce the umlauts) 
 +  * TTS: A single 0 as text is now dropped (as Loxone in some situations may send 0) 
 + 
 +++++ 
 + 
 +====== Tutorial / Überblick ====== 
 + 
 +Hinweis: Die im Video gezeigte Authentifizierungsmethode über 2-Faktor-Verifizierung funktioniert nicht mehr und wurde durch die **Refresh-Token-Methode** ersetzt. 
 + 
 +{{youtube>gExI83EsXgQ}}
  
 ====== Über Version 4.x ====== ====== Über Version 4.x ======
Zeile 36: Zeile 50:
  
   * Die Aufrufssyntax ist **NICHT kompatibel** zu allen Vorgängerversionen kleiner V4.0.   * Die Aufrufssyntax ist **NICHT kompatibel** zu allen Vorgängerversionen kleiner V4.0.
-  * Das Plugin installiert sich als neben Alexa2Lox V2.x/V3.x als neues Plugin - das alte Plugin bleibt installiert und kann weiter verwendet werden, bis man auf diese Version umgestellt hat. +  * Das Plugin installiert sich neben Alexa2Lox V2.x/V3.x als neues Plugin - das alte Plugin bleibt installiert und kann weiter verwendet werden, bis man auf diese Version umgestellt hat. 
-  * Das Plugin testen wir grundsätzlich nur mit der aktuellsten LoxBerry-Version (LoxBerry V2.x). Aktuell sind aber keine Features enthalten, die ausschließlich mit LB2.0 funktionieren würden. Es sollte daher mit LoxBerry V1.4.3 ebenso funktionieren. Versionen unter LB 1.4.3 sollten aber nicht eingesetzt werden.+  * Das Plugin testen wir grundsätzlich nur mit der aktuellsten LoxBerry-Version (LoxBerry V3.x). Aktuell sind aber keine Features enthalten, die ausschließlich mit LB3.0 funktionieren würden. Es sollte daher mit LoxBerry V1.4.3 oder LoxBerry V2.2.2 ebenso funktionieren. Versionen unter LB 1.4.3 sollten aber nicht eingesetzt werden.
  
 ===== Download ===== ===== Download =====
  
-[[https://www.loxforum.com/forum/projektforen/loxberry/plugins/90968-alexa-lox|R]]epository: https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox+[[https://www.loxforum.com/forum/projektforen/loxberry/plugins/90968-alexa-lox|R]]epository: [[https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox]]
  
-Master-Download: https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/archive/master.zip+Master-Download: [[https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/archive/master.zip]]
  
 ===== Allgemeines ===== ===== Allgemeines =====
  
- +Dieses Plugin ermöglicht **__NICHT__**, den Loxone Miniserver per Spracheingabe zu steuern. Dieses Plugin ermöglicht: Steuerung von Alexa per Miniserver (Musiksteuerung, Playlisten, Routinen aufrufen), Sprachausgabe via Alexa, Listen von Alexa am Miniserver anzeigen usw.
-Dieses Plugin ermöglicht __NICHT__, den Loxone Miniserver per Spracheingabe zu steuern. Dieses Plugin ermöglicht: Steuerung von Alexa per Miniserver (Musiksteuerung, Playlisten, Routinen aufrufen), Sprachausgabe via Alexa, Listen von Alexa am Miniserver anzeigen usw. +
- +
- +
- +
-\\ +
  
   * Sämtliche Datenübertragungen von Alexa an Loxone erfolgen ausschließlich per MQTT. Es muss auf diesem Loxberry das [[plugins:mqtt_gateway:start|MQTT Gateway]] installiert sein. (Profitipp: Dort kann auch ein externer Broker angegeben sein.)   * Sämtliche Datenübertragungen von Alexa an Loxone erfolgen ausschließlich per MQTT. Es muss auf diesem Loxberry das [[plugins:mqtt_gateway:start|MQTT Gateway]] installiert sein. (Profitipp: Dort kann auch ein externer Broker angegeben sein.)
   * Der Abruf von Informationen wird immer per Virtuellem Ausgang in Loxone getriggert. Das Plugin sendet //von sich aus// (z.B. auf Zeitbasis) keine Daten.   * Der Abruf von Informationen wird immer per Virtuellem Ausgang in Loxone getriggert. Das Plugin sendet //von sich aus// (z.B. auf Zeitbasis) keine Daten.
-  * Wie üblich unterdrückt das MQTT Gateway die Übertragung von Daten, die sich nicht geändert haben. Damit Daten an Loxone übermittelt werden, muss sich etwas ändern.+  * Wie üblich unterdrückt das MQTT Gateway die Übertragung von Daten, die sich nicht geändert haben. Damit Daten an Loxone übermittelt werden, muss sich bei den Werten etwas ändern.
  
 ===== Installation ===== ===== Installation =====
  
-  - Installation des [[https://www.loxwiki.eu/display/LOXBERRY/MQTT+Gateway|Plugin MQTT Gateway]]. Sollte dieses bereits auf dem Loxberry installiert sein, kann dieser Punkt übersprungen werden.+  - Installation des [[https://www.loxwiki.eu/display/LOXBERRY/MQTT+Gateway|Plugin MQTT Gateway]]. Sollte dieses bereits auf dem Loxberry installiert sein oder nutzt ihr LoxBerry V3.0, kann dieser Punkt übersprungen werden.
   - Installation des Plugins über die Plugin Verwaltung.   - Installation des Plugins über die Plugin Verwaltung.
-  - **LB 1.x:** Nach der Installation von Alexa2Lox muss im MQTT Gateway Plugin auf "Restart" gedrückt werden, damit die neue Subscription und die Conversions übernommen werden.\\ +  - **LB 1.x:** Nach der Installation von Alexa2Lox muss im MQTT Gateway Plugin auf "Restart" gedrückt werden, damit die neue Subscription und die Conversions übernommen werden. 
-**LB 2.x:** Das MQTT Gateway erhält von LoxBerry 2.x automatisch die Information über die Plugin-Installation, deswegen werden Subscription und Conversions automatisch übernommen.+  **LB 2.x/3.x:** Das MQTT Gateway erhält von LoxBerry 2.x automatisch die Information über die Plugin-Installation, deswegen werden Subscription und Conversions automatisch übernommen.
  
 ===== Konfiguration ===== ===== Konfiguration =====
Zeile 70: Zeile 78:
 ==== Amazon Zugangsdaten  ==== ==== Amazon Zugangsdaten  ====
  
-====  ====+**Refresh Token Methode**
  
-**Zwei-Schritt-Verifizierung** oder **Benutzer+Passwort**:+Mittels der Refresh Token Methode wird ein Token erzeugt, der Alexa2Lox ermöglcht, sich bei Amazon mit deinem Amazon-Account anzumelden.
  
-Amazon fordert regelmäßig eine Neu-Authentifizierung an. +Eine Anleitungwie Du diesen Token erzeugen musst, findest Du hier: [[plugins:alexa2lox:alexa2lox_refresh_token_erzeugen]]
- +
-Wird nur //Benutzer+Passwort// verwendetfordert Amazon dabei sogenannte Captcha's (Bilder mit Zeichen, die man eingeben muss) an. Das Plugin kann diese nicht lösen, und funktioniert nach einer derartigen Anfrage nicht mehr.  +
- +
-Wird //Zwei-Schritt-Verifizierung// bei Amazon eingestellt, wird statt eines Captcha's von Amazon ein Einmal-Code angefordert. Diesen Einmal-Code kann auch das Plugin berechnen und gibt diesen automatisch mit. Damit ist die Funktion des Plugins immer gewährleistet. Die Zwei-Schritt-Verifizierung kann allerdings nur für den gesamten Amazon-Account eingerichtet werden. Deswegen muss bei Amazon zusätzlich die Handy-Nummer hinterlegt werden. Während das Plugin den Einmal-Code dann automatisch eingibt, musst du ab und zu den Einmal-Code auf der Amazon-Webseite eingebenden dir Amazon per SMS sendet. +
- +
-**Amazon E-Mail-Adresse:** Dein Amazon-Benutzeraccount +
- +
-**Amazon Passwort:** Dein Amazon-Kennwort +
- +
-Wenn 2-Schritt-Verifizierung gewählt ist, musst du zusätzlich den **Amazon Token** angeben. Bitte folge dieser Anleitung: [[plugins:alexa2lox:alexa2lox_zwei_schritt_verifizierung_einrichten|Alexa2Lox - Zwei-Schritt-Verifizierung einrichten]].+
  
 **Listen-Trennzeichen**: Das Plugin erstellt für verschiedene Listen (To-Do-Liste, Einkaufsliste usw.) aus den einzelnen Einträgen einen zusammengefassten Text, um ihn in der Loxone-Visualisierung in einem Block darzustellen. Als Trennzeichen wird das hier konfigurierte Zeichen verwendet. Du kannst alles verwenden, hier ein paar Beispiele (kannst du mit Copy/Paste übernehmen): | • - – ? ? ? ? ? ◊  ? ? ? ?? Du musst selbst probieren, wie das dann in Loxone aussieht. Das Trennzeichen kann auch eine Trenn-Zeichenkette sein! (z.B. ??) **Listen-Trennzeichen**: Das Plugin erstellt für verschiedene Listen (To-Do-Liste, Einkaufsliste usw.) aus den einzelnen Einträgen einen zusammengefassten Text, um ihn in der Loxone-Visualisierung in einem Block darzustellen. Als Trennzeichen wird das hier konfigurierte Zeichen verwendet. Du kannst alles verwenden, hier ein paar Beispiele (kannst du mit Copy/Paste übernehmen): | • - – ? ? ? ? ? ◊  ? ? ? ?? Du musst selbst probieren, wie das dann in Loxone aussieht. Das Trennzeichen kann auch eine Trenn-Zeichenkette sein! (z.B. ??)
  
 **Speichern** nicht vergessen! **Speichern** nicht vergessen!
- 
-======  ====== 
  
 ==== Überprüfen der Konfiguration ==== ==== Überprüfen der Konfiguration ====
  
-Nach dem speichern der Einstellungen werden von dem Amazon Konto die verfügbaren Alexa Geräte geladen. Diese werden im Bereich "Gefundene Geräte" angezeigt. Dies sollte in etwa so aussehen:+Nach dem Speichern der Einstellungen werden von deinem Amazon-Konto die verfügbaren Alexa Geräte geladen. Diese werden im Bereich "Gefundene Geräte" angezeigt. Dies sollte in etwa so aussehen:
  
-{{plugins:alexa2lox:1246070362.png?h=150}}+{{plugins:alexa2lox:1246070362.png?600}}
  
 Sollten keine Geräte angezeigt werden, bitte wie folgt vorgehen: Sollten keine Geräte angezeigt werden, bitte wie folgt vorgehen:
  
   - Die Seite des Plugins im Browser neu laden.   - Die Seite des Plugins im Browser neu laden.
-  - Überprüfen der Amazon Zugangsdaten +  - Überprüfen der Amazon Zugangsdaten - Schaut ins Logfile, ob es dort Hinweise gibt!
   - Überprüfen, ob die Geräte im Amazon Konto aufgelistet sind.    - Überprüfen, ob die Geräte im Amazon Konto aufgelistet sind. 
-    - Alexa Webinterface öffnen+    - Alexa App öffnen
     - Unter Einstellungen → Geräte prüfen, ob das gesuchte Gerät in der Liste steht. Wenn nicht, den Anweisungen zum hinzufügen von Geräten auf der Amazon Seite folgen.     - Unter Einstellungen → Geräte prüfen, ob das gesuchte Gerät in der Liste steht. Wenn nicht, den Anweisungen zum hinzufügen von Geräten auf der Amazon Seite folgen.
   - Die Seite des Plugins im Browser neu laden.   - Die Seite des Plugins im Browser neu laden.
- 
-**Die Konfiguration des Plugins ist abgeschlossen. Es kann nun verwendet werden.** 
  
 ===== Beschreibung der Bereiche des Plugins ===== ===== Beschreibung der Bereiche des Plugins =====
Zeile 113: Zeile 107:
 ==== Bereich "Amazon Alexa" ==== ==== Bereich "Amazon Alexa" ====
  
-**Alexa Webinterface öffnen**: Öffnet die Alexa-Seite im Webbrowser. +**Alexa Remote Control aktualisieren**: Das Plugin basiert zum Großteil auf Erkenntnisse und Funktionen des [[https://blog.loetzimmer.de/2021/09/alexa-remote-control-shell-script.html|"Lötzimmer Alexa"-Scripts]], das von Alexander Noack gepflegt wird. Das Plugin zeigt an, welche Version gerade auf deinem LoxBerry installiert ist, außerdem kannst du auf den letzten Stand aktualisieren. Beachte: Bei Entwicklungen/Korrekturen in Beta-Version (z.B. 0.15b) ändert sich nicht zwangsläufig die Versionsnummer, obwohl ein neuer Stand installiert wurde.
- +
-**Alexa Remote Control aktualisieren**: Das Plugin basiert zum Großteil auf Erkenntnisse und Funktionen des [[https://blog.loetzimmer.de/2017/10/amazon-alexa-hort-auf-die-shell-echo.html|"Lötzimmer Alexa"-Scripts]], das von Alexander Noack gepflegt wird. Das Plugin zeigt an, welche Version gerade auf deinem LoxBerry installiert ist, außerdem kannst du auf den letzten Stand aktualisieren. Beachte: Bei Entwicklungen/Korrekturen in Beta-Version (z.B. 0.15b) ändert sich nicht zwangsläufig die Versionsnummer, obwohl ein neuer Stand installiert wurde.+
  
 ==== Amazon Zugangsdaten  ==== ==== Amazon Zugangsdaten  ====
  
-Dieser Bereich ist bereits unter [[https://loxwiki.atlassian.net/wiki/pages/resumedraft.action?draftId=1246069002#AmazonZugangsdaten|Konfiguration]] beschrieben.+Dieser Bereich ist bereits unter [[#Konfiguration|Konfiguration]] beschrieben.
  
 ==== Bereich "Gefundene Geräte" ==== ==== Bereich "Gefundene Geräte" ====
Zeile 139: Zeile 131:
 ==== Virtueller Ausgang ==== ==== Virtueller Ausgang ====
  
-Adresse: http:%%//%%<user>:<pass>@loxberry+Adresse: **''http:%%//%%<user>:<pass>@loxberry''**
  
-<user> und <pass> sind die Anmeldedaten bei LoxBerry. Solltest du den LoxBerry umbenannt haben, oder lieber die IP-Adresse verwenden, musst du den Hostnamen ''%%loxberry%%'' entsprechend anpassen.+''<user>'' und ''<pass>'' sind die Anmeldedaten bei LoxBerry. Solltest du den LoxBerry umbenannt haben, oder lieber die IP-Adresse verwenden, musst du den Hostnamen ''%%loxberry%%'' entsprechend anpassen.
  
 ==== Datenabruf-Funktionen (Kommando-Referenz) Virtueller Ausgang Befehl (VQ) ==== ==== Datenabruf-Funktionen (Kommando-Referenz) Virtueller Ausgang Befehl (VQ) ====
  
-Allgemeiner Aufruf: ''%%/admin/plugins/alexa2lox/alexa.php?parameter1&parameter2=value&parameter3%%'' usw.+Allgemeiner Aufruf: **''%%/admin/plugins/alexa2lox/alexa.php?parameter1&parameter2=value&parameter3%%''** usw.
  
 Parameter können als Übergabe eines Wertes dienen (''%%parameter2=value%%''), oder als Schalter ohne zusätzlichem Wert (''%%parameter1%%''). Die Reihenfolge der Parameter ist beliebig, außer bei ''%%original%%'' (siehe unten). Parameter können als Übergabe eines Wertes dienen (''%%parameter2=value%%''), oder als Schalter ohne zusätzlichem Wert (''%%parameter1%%''). Die Reihenfolge der Parameter ist beliebig, außer bei ''%%original%%'' (siehe unten).
Zeile 151: Zeile 143:
 Die Parameter werden in einer Kette abgearbeitet. Das heißt, wird als Parameter übergeben ''%%todolist&shoppinglist%%'', werden beide Funktionen ausgeführt.  Die Parameter werden in einer Kette abgearbeitet. Das heißt, wird als Parameter übergeben ''%%todolist&shoppinglist%%'', werden beide Funktionen ausgeführt. 
  
-|Parameter            |Kurze Version|Wert               |Beschreibung                                                                                                          | +Parameter  Kurze Version Wert  Beschreibung  ^ 
-|''%%device%%''       |''%%d%%''    |''%%<Alexaname>%%''|Der Name des Geräts. Der Name ist //nicht// case-sensitive, und es können Leerzeichen verwendet werden.               +| ''%%device%%''  | ''%%d%%''  | ''%%<Alexaname>%%'' | Der Name des Geräts. Der Name ist //nicht// case-sensitive, und es können Leerzeichen verwendet werden.  
-|''%%playerstate%%''  |''%%ps%%''                     |Abfrage des Status des Devices (''%%<device>%%'' erforderlich)                                                        +| ''%%playerstate%%''  | ''%%ps%%''    | Abfrage des Status des Devices (''%%<device>%%'' erforderlich)  
-|''%%notifications%%''|''%%nl%%''                     |NICHT FERTIG Abfrage anstehender Benachrichtigungen, auch Command wird sich vermutlich noch ändern                    +| ''%%notifications%%'' | ''%%nl%%''    | NICHT FERTIG Abfrage anstehender Benachrichtigungen, auch Command wird sich vermutlich noch ändern  
-|''%%shoppinglist%%'' |''%%sl%%''                     |Abfrage der Einkaufsliste                                                                                             +| ''%%shoppinglist%%'' | ''%%sl%%''    | Abfrage der Einkaufsliste  
-|''%%todolist%%''     |''%%tl%%''   |                   |Abfrage der To-Do Liste                                                                                               +| ''%%todolist%%''  | ''%%tl%%''    | Abfrage der To-Do Liste  
-|''%%execute%%''      |''%%e%%''    |''%%<command>%%''                                                                                                                      +| ''%%execute%%''  | ''%%e%%''  | ''%%<command>%%''   
-|''%%print%%''                                      |Druckt irgendwas (weiß ich noch nicht, muss Peter dokumentieren  )| +| ''%%print%%''      | Druckt irgendwas (weiß ich noch nicht, muss Peter dokumentieren  ) | 
-|''%%original%%''     |''%%o%%''                      |Dieser Parameter übergibt alle nachfolgenden Parameter direkt an das Lötzimmer Originalscript alexa_remote_control.sh |+| ''%%original%%''  | ''%%o%%''    | Dieser Parameter übergibt alle nachfolgenden Parameter direkt an das Lötzimmer Originalscript alexa_remote_control.sh |
  
- +==== Beispiele ====
-=== Beispiele ===+
  
 === Player-Status eines Geräts abrufen === === Player-Status eines Geräts abrufen ===
Zeile 168: Zeile 159:
 Befehl bei EIN: ''%%/admin/plugins/alexa2lox/alexa.php?device=Büro&playerstate%%'' Befehl bei EIN: ''%%/admin/plugins/alexa2lox/alexa.php?device=Büro&playerstate%%''
  
-Kurzversion:''%%/admin/plugins/alexa2lox/alexa.php?d=Büro&ps%%''+Kurzversion: ''%%/admin/plugins/alexa2lox/alexa.php?d=Büro&ps%%''
  
 === Benachrichtigungen abrufen === === Benachrichtigungen abrufen ===
Zeile 182: Zeile 173:
 Befehl bei EIN: ''%%/admin/plugins/alexa2lox/alexa.php?todolist%%'' Befehl bei EIN: ''%%/admin/plugins/alexa2lox/alexa.php?todolist%%''
  
-==== Steuerung von Alexa (execute) Virtueller Ausgang Befehl (VQ) ====+==== Steuerung von Alexa (execute) Virtueller Ausgang Befehl (VQ) ====
  
-Mit dem Parameter ''%%execute%%'' (bzw. Kurzversion ''%%e%%'') können Befehle an Alexa übergeben werden. Die möglichen Befehle sind äquivalent zu jenen vom Lötzimmer-Script (konkret wird in der Routine das Original-Script alexa_remote_control.sh aufgerufen). Werden also im Originalscript neue Befehle aufgenommen, funktionieren diese auch automatisch mit dem ''%%execute%%''-Kommando.+Mit dem Parameter ''%%execute%%'' (bzw. Kurzversion ''%%e%%'') können Befehle an Alexa übergeben werden. Die möglichen Befehle sind äquivalent zu jenen vom [[https://blog.loetzimmer.de/2021/09/alexa-remote-control-shell-script.html|Lötzimmer-Script]] (konkret wird in der Routine das Original-Script alexa_remote_control.sh aufgerufen). Werden also im Originalscript neue Befehle aufgenommen, funktionieren diese auch automatisch mit dem ''%%execute%%''-Kommando.
  
 Die ''%%execute%%''-Routine von Alexa2Lox ruft nach dem Aufruf zusätzlich den aktuellen ''%%playerstate%%'' ab. Die ''%%execute%%''-Routine von Alexa2Lox ruft nach dem Aufruf zusätzlich den aktuellen ''%%playerstate%%'' ab.
  
-=== Auszug der Befehle von alexa_remote_control.sh (V0.15b) ===+=== Auszug der Befehle von alexa_remote_control.sh (Stand V0.20d) ===
  
 ''%%pause | play | next | prev | fwd | rwd | shuffle | repeat | vol:<0-100>%%'' ''%%pause | play | next | prev | fwd | rwd | shuffle | repeat | vol:<0-100>%%''
  
-''%% weather | traffic | flashbriefing | goodmorning | singasong | tellstory | speak:'<text>' | automation:'<routine name>'%%''+''%%weather | traffic | flashbriefing | goodmorning | singasong | tellstory | speak:'<text/ssml>' | automation:'<routine name>' | sound:<soundeffect_name> | textcommand:'<anything you would otherwise say to Alexa>' | playmusic:<channel> e.g. TUNEIN, AMAZON_MUSIC>:'<music name>'%%'' 
 + 
 +Hier findet ihr den aktuellsten Stand: [[https://github.com/thorsten-gehrig/alexa-remote-control]]
  
 === Beispiele === === Beispiele ===
Zeile 208: Zeile 201:
 ==== Virtueller Ausgang Befehl ==== ==== Virtueller Ausgang Befehl ====
  
-Befehl bei EIN: ''%%/admin/plugins/alexa2lox/tts.php?device=%%''**''%%<Gerätename>%%''**''%%&text=%%''**''%%<Mein Text>%%''**''%%&vol=%%''**''%%<1...100>%%''**+Befehl bei EIN: **''%%/admin/plugins/alexa2lox/tts.php?device=<Gerätename>&text=<Mein Text>&vol=<1...100>%%''**
  
-Kurze Variante: ''%%/admin/plugins/alexa2lox/tts.php?d=%%''**''%%<Gerätename>%%''**''%%&t=%%''**''%%<Mein Text>%%''**''%%&vol=%%''**''%%<1...100>%%''**+Kurze Variante: **''%%/admin/plugins/alexa2lox/tts.php?d=<Gerätename>&t=<Mein Text>&vol=<1...100>%%''**
  
 Die Reihenfolge der Parameter ist beliebig. Die Reihenfolge der Parameter ist beliebig.
  
-|Parameter                                                                                |Kurze Version                                                                                                                                                                                                                                                                                                                                                                               | +Parameter  Kurze Version ^ Beschreibung ^ 
-|''%%device=%%''**''%%<Gerätename1>,<Gerätename2>,...%%''**\\ \\ **''%%device=ALL%%''\\ **|''%%d=%%''**''%%<Gerätename>,...%%''**\\ \\ **''%%d=ALL%%''**|Der Name des Echo. Groß/Kleinschreibung egal, Leerzeichen im Namen sind erlaubt. Der Parameter **''%%device%%''** erlaubt auch die Angabe mehrerer Geräte mit Komma getrennt: ''%%device=%%''**''%%wohnzimmer,büro%%''**\\ \\ **''%%ALL%%''**''%% %%''ist das Schlüsselwort, um die Sprachausgabe bei allen Geräten auszuführen.| +| ''device=<Gerätename1>,<Gerätename2>,...''\\ ''device=ALL'' | ''d=<Gerätename>,...''\\ ''d=ALL'' | Der Name des Echo. Groß/Kleinschreibung egal, Leerzeichen im Namen sind erlaubt. Der Parameter ''device'' erlaubt auch die Angabe mehrerer Geräte mit Komma getrennt: ''device=wohnzimmer,büro''\\ ''ALL'' ist das Schlüsselwort, um die Sprachausgabe bei allen Geräten auszuführen. | 
-|''%%text=%%''**''%%<Mein Text>%%''**                                                     |''%%t=%%''**''%%<Mein Text>%%''**                            |Der Text, der gesprochen werden soll. Leerzeichen, Sonderzeichen usw. können ganz gewöhnlich geschrieben werden.                                                                                                                                                                                                                +| ''text=<Mein Text>'' | ''t=<Mein Text>'' | Der Text, der gesprochen werden soll. Leerzeichen, Sonderzeichen usw. können ganz gewöhnlich geschrieben werden. | 
-|''%%vol=%%''**''%%<1...100>%%''**                                                                                                                    |//optional.// Die Lautstärke der Sprachausgabe.                                                                                                                                                                                                                                                                                 | +| ''vol=<1...100>''  | //Optional//Die Lautstärke der Sprachausgabe. |
  
 Bei der Angabe mehrerer Geräte oder ALL wird versucht, die Sprachausgabe gleichzeitig auszuführen. Es ist deswegen aber keinesfalls syncron, sondern um ca. eine halbe Sekunde versetzt.  Bei der Angabe mehrerer Geräte oder ALL wird versucht, die Sprachausgabe gleichzeitig auszuführen. Es ist deswegen aber keinesfalls syncron, sondern um ca. eine halbe Sekunde versetzt. 
  
-Text- und Zeichenersetzung+**Text- und Zeichenersetzung**
  
 Es werden automatisch folgende Zeichenketten umgewandelt, damit sie richtig ausgesprochen werden: Es werden automatisch folgende Zeichenketten umgewandelt, damit sie richtig ausgesprochen werden:
Zeile 235: Zeile 227:
 Der Text der Sprachausgabe und die Zeit wird auch per MQTT übertragen (um sie beispielsweise in der Loxone-Visualisierung anzuzeigen): Der Text der Sprachausgabe und die Zeit wird auch per MQTT übertragen (um sie beispielsweise in der Loxone-Visualisierung anzuzeigen):
  
-alexa2lox/<Gerätename>/lastTTStext ... Der ausgegebene Text+''alexa2lox/<Gerätename>/lastTTStext'' ... Der ausgegebene Text
  
-alexa2lox/<Gerätename>/lastTTStime ... Die Ausgabezeit im "menschenlesbaren" Zeitformat.+''alexa2lox/<Gerätename>/lastTTStime'' ... Die Ausgabezeit im "menschenlesbaren" Zeitformat.
  
-alexa2lox/<Gerätename>/lastTTSloxtime ... Die Ausgabezeit im Loxone Zeitformat.+''alexa2lox/<Gerätename>/lastTTSloxtime'' ... Die Ausgabezeit im Loxone Zeitformat.
  
 **Hinweise**: **Hinweise**:
Zeile 246: Zeile 238:
   * Aufgrund des Amazon-Cloud-Aufrufs kann die Sprachausgabe nicht gequeued werden, weil es von Amazon keine Rückmeldung gibt, wann der Text tatsächlich fertig gesprochen wurde. Werden daher mehrere Texte zeitgleich gesendet, "würgen" sie sich gegenseitig ab (der zuletzt gesendete Text wird dabei fertig gesprochen).   * Aufgrund des Amazon-Cloud-Aufrufs kann die Sprachausgabe nicht gequeued werden, weil es von Amazon keine Rückmeldung gibt, wann der Text tatsächlich fertig gesprochen wurde. Werden daher mehrere Texte zeitgleich gesendet, "würgen" sie sich gegenseitig ab (der zuletzt gesendete Text wird dabei fertig gesprochen).
   * Es gibt Filter, welche Geräte bei der Sprachausgabe übersprungen werden. Wenn dein Gerät nicht ansprechbar ist, melde dich im LoxForum.   * Es gibt Filter, welche Geräte bei der Sprachausgabe übersprungen werden. Wenn dein Gerät nicht ansprechbar ist, melde dich im LoxForum.
 +
  
 ==== Originalscript alexa_remote_control.sh (Lötzimmer) einsetzen ==== ==== Originalscript alexa_remote_control.sh (Lötzimmer) einsetzen ====
  
-Das Alexa2Lox Plugin kann deine Befehle, die du via alexa.php sendest, direkt an das Originalscript übergeben. Damit sind alle Routinen von Alexa2Lox abgeschalten, es wird jedoch die im Plugin konfigurierte Authentifizierung verwendet. Die Ausgabe des Originalscripts erfolgt nur im Response, d.h. es wird auch nichts per MQTT übertragen.+Das Alexa2Lox Plugin kann deine Befehle, die du via alexa.php sendest, direkt an das Originalscript übergeben. Damit sind alle Routinen von Alexa2Lox abgeschaltet, es wird jedoch die im Plugin konfigurierte Authentifizierung verwendet. Die Ausgabe des Originalscripts erfolgt nur im Response, d.h. es wird auch nichts per MQTT übertragen.
  
-Befehl bei EIN: ''%%/admin/plugins/alexa2lox/alexa.php?%%''''%%original%%''''%%&%%''''%%<Parameter an alexa_remote_control>%%''''%%&%%''''%%<Parameter an alexa_remote_control>%%''''%%&...%%''+Befehl bei EIN: ''%%/admin/plugins/alexa2lox/alexa.php?original&<Parameter an alexa_remote_control>&<Parameter an alexa_remote_control>&...%%''
  
-Kurzversion: ''%%/admin/plugins/alexa2lox/alexa.php?%%''''%%o%%''''%%&%%''''%%<Parameter an alexa_remote_control>%%''''%%&%%''''%%<Parameter an alexa_remote_control>%%''''%%&...%%''+Kurzversion: ''%%/admin/plugins/alexa2lox/alexa.php?o&<Parameter an alexa_remote_control>&<Parameter an alexa_remote_control>&...%%''
  
 Wenn der erste Parameter original (bzw. die Kurzform o) ist, werden alle weiteren Parameter 1:1 übergeben an alexa_remote_control.sh. //Es müssen dabei dann auch die Options-Striche mit übergeben werden!// Wenn der erste Parameter original (bzw. die Kurzform o) ist, werden alle weiteren Parameter 1:1 übergeben an alexa_remote_control.sh. //Es müssen dabei dann auch die Options-Striche mit übergeben werden!//
Zeile 259: Zeile 252:
 ==== Beispiel ==== ==== Beispiel ====
  
-''%%alexa.php?%%''''%%original%%''''%%&%%''''%%-d=Wohnzimmer%%''''%%&%%''''%%-e=weather%%''+''%%alexa.php?original&-d=Wohnzimmer&-e=weather%%''
  
 In der Ausgabe des Aufrufs wird angezeigt, wie das Original-Script aufgerufen wird. In der Ausgabe des Aufrufs wird angezeigt, wie das Original-Script aufgerufen wird.
Zeile 273: Zeile 266:
 ===== Feedback ===== ===== Feedback =====
  
-Bitte im oben angegebenen Thread Feedback geben, oder als Issue bei GitHub: https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/issues+Bitte im oben angegebenen Thread Feedback geben, oder als Issue bei GitHub: [[https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/issues]]
  
 Das Plugin ist noch BETA - aktiv getestet haben Peter, Christian, Mario und Jörg - und es gibt vielleicht dort und da noch Sonderfälle, die wir nicht ausreichend getestet haben, z.B. Das Plugin ist noch BETA - aktiv getestet haben Peter, Christian, Mario und Jörg - und es gibt vielleicht dort und da noch Sonderfälle, die wir nicht ausreichend getestet haben, z.B.
Zeile 283: Zeile 276:
  
 Wenn euch bei diesen Sachen, oder bei irgendeiner anderen Funktion etwas auffällt, dann bitte melden. Bitte so viele Infos wie möglich mitgeben (Screenshots!). Wenn euch bei diesen Sachen, oder bei irgendeiner anderen Funktion etwas auffällt, dann bitte melden. Bitte so viele Infos wie möglich mitgeben (Screenshots!).
- 
-\\ 
- 
- 
  
  
 ---- struct data ---- ---- struct data ----
-pluginuebersicht.author : Peter Bazala, Christian Fenzl+pluginuebersicht.author : Peter Bazala, Christian Fenzl, Michael Schlenstedt
 pluginuebersicht.logo : :plugins:alexa2lox:1205240056.png pluginuebersicht.logo : :plugins:alexa2lox:1205240056.png
 pluginuebersicht.status : UNSTABLE pluginuebersicht.status : UNSTABLE
-pluginuebersicht.version : 4.1.0+pluginuebersicht.version : 4.4.0
 pluginuebersicht.min_lb_version : 1.4.3 pluginuebersicht.min_lb_version : 1.4.3
-pluginuebersicht.url_release :  +pluginuebersicht.url_release : https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/archive/4.2.0.zip 
-pluginuebersicht.url_prerelease : https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/archive/refs/tags/4.1.0.zip+pluginuebersicht.url_prerelease : https://github.com/christianTF/LoxBerry-Plugin-Alexa2Lox/archive/4.4.0.zip
 pluginuebersicht.description : Steuerung und Sprachausgabe von Amazon Echo Geräten pluginuebersicht.description : Steuerung und Sprachausgabe von Amazon Echo Geräten
 pluginuebersicht.languages : DE pluginuebersicht.languages : DE