Einmalkennwort?
Vielleicht ist dein Amazon Zugang ja gesperrt.
Melde dich doch mal im Browser bei Amazon an, im zu checken ob dein Zugang überhaupt noch aktiv ist.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Alexa Text to Speech
Einklappen
X
-
Ich habs installiert und das mit dem MFA-Login auch alles eingerichtet. Dennoch werden keine Geräte angezeigt. Muss man da noch was machen, nachdem die Einrichtung komplett ist?
Bzw. es kommt weiterhin eine SMS, die mir ein Einmalkennwort verschickt.Zuletzt geändert von Cannon; 21.07.2022, 23:55.
Einen Kommentar schreiben:
-
Nein, es geht nur um die Versionsnummer.
Nur in der neuesten Version gibt es die Möglichkeit sich per MFA anzumelden.
https://github.com/Andrek01/alexarc4shng
- Likes 1
Einen Kommentar schreiben:
-
Hab das gleiche Problem, aber die Antwort verwirrt mich gerade etwas.
Wir sprechen vom 'AlexaRc4shNG' - Plugin (alias 'Alexa-Text-To-Speech') ? Auf dem Github von AndreK finde ich nur das Alexa4PayloadV3 Plugin.
Heisst das, das 'AlexaRc4shNG' - Plugin ist tot und wurde durch das 'Alexa4PayloadV3' Plugin ersetzt ? 😵
Einen Kommentar schreiben:
-
In der aktuellen PluginVersion von SmarthomeNG ist nicht die aktuelle Version des Plugins. Also nicht die Version 1.0.3
Hier erstmal die Version von Andres Git nehmen!
Dann mit der MFA Variante einloggen.
Im WebIf gibt es da einen Anlauf zum Einloggen.
Vorher noch die Readme durchgucken für den Eintrag In der Plugin.yaml
Einen Kommentar schreiben:
-
Ich habe das eingerichtet, es funktionierte für ein paar Tage auch, aber nun kommt jedes Mal eine SMS, bzgl. eines Anmeldeversuches. Wenn ich den genehmige, dann ist das aber wahrscheinlich schon zu spät und der Login schlägt fehlt. Zumindest scheint das aus der Ergebnisliste so aussiehen:
check CSRF- Step 5 - got no CSRF
Gibt es dafür eine Lösung. Und vor allem, da ich bei jedem Login-Versuch eine SMS kriege ist ja auch nervig.
Einen Kommentar schreiben:
-
der state des plugins in der plugin.yaml ist noch auf develop. müsste doch inzwischen ready sein?
Einen Kommentar schreiben:
-
Hi,
ich habe mal versucht Textkommandos an eine Lautsprechergruppe zu senden. Ich bekomme als response zwar 200 zurück, es passiert aber nichts.
Dabei habe ich auch noch mal das TuneIn-Kommando auf die Gruppe geschickt, das hatte erstaunlicherweise funktioniert. Also funktioniert Multiroom-Audio für TuneIn wohl doch :-)
Was funktionieren könnte wäre eine synchrone Nachricht via "Announcement" - hier mal der Payload für ein Announcement an mehrere Geräte.
Einfach mehrere Geräte unter "target" hinzufügen.
(Hier kann mal auch SSML verwenden - "type" von "text" auf "ssml" ändern und den Text in <speak> </speak> packen)
url ist hier : /api/behaviors/preview
Gruss AndreCode:{ "behaviorId": "PREVIEW", "sequenceJson": { "@type": "com.amazon.alexa.behaviors.model.Sequence", "startNode": { "operationPayload": { "customerId": "<deviceOwnerCustomerId>", "content": [ { "display": { "title": "smartHomeNG", "body": "<mValue>" }, "speak": { "type": "text", "value": "<mValue>" }, "locale": "de-DE" } ], "expireAfter": "PT5S", "target": { "customerId": "<deviceOwnerCustomerId>", "devices": [ { "deviceSerialNumber": "<serialNumber>", "deviceTypeId": "<deviceType>" }, { "deviceSerialNumber": "YYYYYYYYYYYYY", "deviceTypeId": "XXXXXXXXXXXXXX" } ] } }, "type": "AlexaAnnouncement", "@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode" } }, "status": "ENABLED" }
Einen Kommentar schreiben:
-
Hi @AndreK,
Danke für die Infos, ich werde mal beides so testen.
Zu deiner Frage: In der Alexa App (iOS bei mir) erstelle ich eine Lautsprecher Gruppe. Beispiel Screenshot hier drunter z.B. 'Erdgeschoss'.
Dann sage ich "Alexa, spiele Eldoradio im Erdgeschoss" woraus Alexa antwortet "Eldoradio auf TuneIn. Es läuft auf der Erdgeschoss Gruppe"
Das ist dann perfekt synchron. Keine Ahnung ob auch andere Befehle an eine Gruppe gesendet werden können.
Das wäre aber sinnvoll z.B. für das "Doorbell" CmdLet, oder Text2Speech wie z.B. "Die Waschmaschiene ist fertig" oder "Alarmanlage scharf gestellt".
PNG image.png
Einen Kommentar schreiben:
-
Hi aldaris ,
wieso das Plugin bei Step 6 einen Fehler geschmissen hat kann ich mir im Moment nicht erklären. Es müsste aber zu diesem Zeitpunkt ein Eintrag in
"/usr/local/smarthome/var/log/smarthome-warnings.log" gegeben haben. Kannst du hier bitte mal nachschauen was dort eingetragen wurde, besten Dank
Gruss
Andre
Einen Kommentar schreiben:
-
Hallo Foxi352 ,
man kann ein neues Commandlet mit mehreren Anweisungen für mehrere Geräte erstellen. Das Kommando wird dann mit einem POST an die Cloud gesendet.
Diese sendet die Nachrichten dann an alle Geräte. Wirklich synchron ist das bei mir nicht, liegt aber eventuell daran das es einmal ein Show ein einmal ein Dot ist.
Beispiel für so einen Payload commandlet : ( die sequenceId spielt keine Rolle, man muss dann jeweils manuell die serial, customerId und deviceTyp eintragen)
Der Payload kann um weitere Geräte erweitert werden.
Die URL lautet : /api/behaviors/preview
Vielleicht kannst Du das mal testen.Code:{ "behaviorId": "PREVIEW", "status": "ENABLED", "sequenceJson": { "@type": "com.amazon.alexa.behaviors.model.Sequence", "sequenceId": "amzn1.alexa.sequence.8d9b40ab-91a7-46c1-8d42-1cd53408874f", "startNode": { "@type": "com.amazon.alexa.behaviors.model.SerialNode", "name": null, "nodesToExecute": [ { "@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode", "type": "Alexa.Speak", "operationPayload": { "textToSpeak": "<mValue>", "locale": "de-DE", "customerId": "<deviceOwnerCustomerId>", "deviceSerialNumber": "<serialNumber>", "deviceType": "<deviceType>" } }, { "@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode", "type": "Alexa.Speak", "operationPayload": { "textToSpeak": "<mValue>", "locale": "de-DE", "customerId": "XXXXXXXXXXXXXXX", "deviceSerialNumber": "YYYYYYYYYYYYYYYYYY", "deviceType": "ZZZZZZZZZZZZZZZZ" } } ] } } }
Btw - we startest Du die TuneIn-Sender auf mehreren Geäten ?
Das starten via Plugin von TuneIn-Sendern würde auch wieder funktionieren. Es gibt aber zwei Besonderheiten :
- Die Anfrage muss als PUT gesendet werden - das haben wir bis jetzt nicht gebraucht und ist im Plugin nicht verfügbar
- Der Payload muss doppelt base64-encodiert sein - das haben wir bis jetzt auch nicht gebraucht und ist im Plugin nicht verfügbar.
Man kann die TuneIn-Sender aus einer Logik starten
Viele GrüsseCode:import requests import json import base64 deviceSerial = "XXXXXXXXXXXXXXX" deviceType = "YYYYYYYYYYYYY" myStationID = "s96141" payload = '["music/tuneIn/stationId","'+myStationID+'"]|{"previousPageId":"TuneIn_SEARCH"}' firstbase64 = base64.b64encode(payload.encode('utf-8')) secondbase64 = base64.b64encode(firstbase64) myUrl = '/api/entertainment/v1/player/queue?deviceSerialNumber={}&deviceType={}'.format(deviceSerial,deviceType) myHeader = { "Host": "alexa.amazon.de", "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:65.0) Gecko/20100101 Firefox/65.0", "Connection": "keep-alive", "Content-Type": "application/json; charset=UTF-8", "Accept-Language": "en-US,en;q=0.5", "Referer": "https://alexa.amazon.de/spa/index.html", "Origin":"https://alexa.amazon.de", "DNT": "1" } mySession = requests.Session() mySession.cookies.update(sh.AlexaRc4shNG.cookie) myPayload='{"contentToken":"music:'+secondbase64.decode()+'"}' response= mySession.put('https://'+sh.AlexaRc4shNG.host + myUrl,headers=myHeader,data=myPayload,allow_redirects=True)
Andre
Einen Kommentar schreiben:


Einen Kommentar schreiben: