NEWS
Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code
-
Hallo,
erstmal vielen Dank für deine Arbeit. Habe aufgrund des Skriptes in diesem Post auch mal die Sprachsteuerung ohne Raumnamen ausprobiert. Ich nutze (noch kein 2FA), das machte keine Probleme.
Im anderen Skript ("Licht an" http://forum.iobroker.net/viewtopic.php?f=37&t=9115) musste ich die Variable csrf noch nachträglich definieren. Habe da immer den Fehler bekommen, sie sei nicht bekannt.
!
// setzt die Options für den https Request function setOptions(path,method) { var options = { host: 'layla.amazon.de', path: path, method: method, timeout:10000, headers: { 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', 'Content-Type': 'text/plain', 'csrf' : getState("javascript.2.Alexa.logon.csrf"/*Alexa LogOn CSRF*/).val,//csrf, 'Cookie' : cookie } }; return options; } !
Ausserdem wär es schön, wenn man ALLE Einstellungen im oberen Bereich der Skripte erledigen könnte.
Der Pfad zu den anzulegenden Objekten könnte oben zentral festgelegt werden (ich nutze javascript.2.Alexa.xxxxx)
Neben der Mapping Tabelle kann man auch den Namen des Smart Gerätes (idAlexaTrigger) gleich in createState() festlegen
! ````
// Wenn gewünscht, Name und Beschreibung (desc) für den Datenpunkt anpassen.
createState(idAlexaTrigger, 0, forecreation, {
name: 'Trigger für Alexa',
desc: 'Trigger mit Level für Alexa',
type: 'number',
unit: '',
role: 'value',
smartName: {
de: 'Sonos Party',
en: 'Sonos Party'
}
});Es läuft jetzt fehlerfrei, hat mich aber ganz schön Gehirnschmalz gekostet :-D Werde meine Mapping Tabelle nachher ausweiten und dann den WAF-Test machen :) Gruß Pix
-
Hallo zusammen,
erstmal einen ganz herzlichen Dank für das Script !!!
Jetzt aber mal eine blöde Frage:
Ich erhalte seit heute ca. 12:30 Uhr einen "Login-Error".
Kann es sein, dass Amazon die Login-Seite irgendwie geändert hat, oder muss ich das Problem bei mir Lokal suchen ?
Schon mal danke für die Antwort !!!
Gruss
gBonfire
-
@pix:Im anderen Skript ("Licht an" http://forum.iobroker.net/viewtopic.php?f=37&t=9115) musste ich die Variable csrf noch nachträglich definieren. Habe da immer den Fehler bekommen, sie sei nicht bekannt. `
Das war leider ein Fehler beim Übertragen hier ins Forum. Die CSRF wird für das LichtAn-Script nicht benötigt. Ist jetzt in dem anderen Thread korrigiert.
@pix:Ausserdem wär es schön, wenn man ALLE Einstellungen im oberen Bereich der Skripte erledigen könnte.
Der Pfad zu den anzulegenden Objekten könnte oben zentral festgelegt werden (ich nutze javascript.2.Alexa.xxxxx) `
Ich weiß nicht genau, was Du meinst. Alle Einstellungen sind im oberen Bereich zu machen, unter Punkt 1-3 (siehe Kommentare). Dort legst Du auch zentral den Pfad zum Objekt an (siehe Punkt 3, welcher Optional ist). Erklär bitte genauer, was Dein Problem ist.
@pix:Neben der Mapping Tabelle kann man auch den Namen des Smart Gerätes (idAlexaTrigger) gleich in createState() festlegen
!
// Wenn gewünscht, Name und Beschreibung (desc) für den Datenpunkt anpassen. createState(idAlexaTrigger, 0, forecreation, { name: 'Trigger für Alexa', desc: 'Trigger mit Level für Alexa', type: 'number', unit: '', role: 'value', smartName: { de: 'Sonos Party', en: 'Sonos Party' } });
`Bin mir nicht sicher, was das bringt, an den Trigger ein SmartGerät zu hängen. Der Sinn des Scriptes ist es doch gerade situationsbedingt verschiedene Geräte anzusprechen. Das musst Du genauer erklären, was Du damit bezwecken kannst.
-
Hallo zusammen,
erstmal einen ganz herzlichen Dank für das Script !!!
Jetzt aber mal eine blöde Frage:
Ich erhalte seit heute ca. 12:30 Uhr einen "Login-Error".
Kann es sein, dass Amazon die Login-Seite irgendwie geändert hat, oder muss ich das Problem bei mir Lokal suchen ?
Schon mal danke für die Antwort !!!
Gruss
gBonfire `
Habe das Script gerade nochmal laufen lassen, bei mir funktioniert der Login.
-
Folgende Anmerkungen/Wünsche hätte ich noch zu Deine Skript:
- Beim ersten Start des Skripts erhält man eine Fehlermeldung, da main() früher ausgeführt wird, als die Datenpunkte mit angelegt wurden. (passiert wg. der Asynchronität von Javascript unabhängig davon, wie die Reihenfolge der Kommados im Skript ist.
ab dem zweiten Start sind die Datenpunkte dann immer da. Einfachste Variante das zu umgehen ist main() verzögert auszuführen: ```` setTimeout(main, 1000); // startet main() ````
-
Link im Skript zu Deinem ersten Post hier, in dem Du das gepflegte Skript ablegst.
Ich muss mir das angewöhnen. Hätte fast mein Skript aus April nicht mehr gefunden
.
-
Einen Datenpunkt (true/false), wenn der Cookie abgelaufen ist.
Man kann diesen dann in VIS visualisieren oder z.B. eine Nachricht per Telegram schicken, damit der Anwender informiert ist.
Andere Skripte können darauf reagieren und die Arbeit "pausieren".
…und noch einmal. Daumen hoch! `
Danke für Deine Anmerkungen. In der neusten Version sind alle drei Punkte eingebaut.
Außerdem habe ich noch eingebaut, dass die Instanznummern automatisch gelesen werden. Hatte bisher fest javascript.0.xxx. Sollte jetzt also für einige, die nicht 0 als Instanz haben, funktionieren.
-
@pix:Im anderen Skript ("Licht an" http://forum.iobroker.net/viewtopic.php?f=37&t=9115) musste ich die Variable csrf noch nachträglich definieren. Habe da immer den Fehler bekommen, sie sei nicht bekannt. `
Das war leider ein Fehler beim Übertragen hier ins Forum. Die CSRF wird für das LichtAn-Script nicht benötigt. Ist jetzt in dem anderen Thread korrigiert.
@pix:Ausserdem wär es schön, wenn man ALLE Einstellungen im oberen Bereich der Skripte erledigen könnte.
Der Pfad zu den anzulegenden Objekten könnte oben zentral festgelegt werden (ich nutze javascript.2.Alexa.xxxxx) `
Ich weiß nicht genau, was Du meinst. Alle Einstellungen sind im oberen Bereich zu machen, unter Punkt 1-3 (siehe Kommentare). Dort legst Du auch zentral den Pfad zum Objekt an (siehe Punkt 3, welcher Optional ist). Erklär bitte genauer, was Dein Problem ist.
@pix:Neben der Mapping Tabelle kann man auch den Namen des Smart Gerätes (idAlexaTrigger) gleich in createState() festlegen
!
// Wenn gewünscht, Name und Beschreibung (desc) für den Datenpunkt anpassen. createState(idAlexaTrigger, 0, forecreation, { name: 'Trigger für Alexa', desc: 'Trigger mit Level für Alexa', type: 'number', unit: '', role: 'value', smartName: { de: 'Sonos Party', en: 'Sonos Party' } });
`Bin mir nicht sicher, was das bringt, an den Trigger ein SmartGerät zu hängen. Der Sinn des Scriptes ist es doch gerade situationsbedingt verschiedene Geräte anzusprechen. Das musst Du genauer erklären, was Du damit bezwecken kannst. `
Hallo,
ich fange mal mit dem letzten Punkt an:
Dieser Parameter in createState erzeugt in den Cloud-Adapter Einstellungen ein Gerät mit diesem Smartname. Der heißt bei mir "Licht" (nicht wie im Skriptbeispiele "Sonos Party") und bringt ja erst das Trigger-Wort für die Aktion. Sage ich im Wohnzimmer "Alexa, Licht an", schaltet sich im Wohnzimmer das Licht an. Sag ich das gleiche zum Echo Dot in der Küche, schaltet sich eben da das Licht an.
Punkt 2 ist nicht so wild. Es ist aber schön, wenn man direkt oben seine Pfade, Instanzen und/oder Usernamen, Passwörter, etc in Variablen festlegen kann. Ganz oben unter dem einleitenden Kommentar.
Zu 1: Bei mir gab es Fehler ohne die CSRF Definition. Unabhängig davon, ob sie benötigt wird oder nicht, meckert der Compiler.
Ich bin sehr zufrieden mit deinem Skript, vielen Dank! Ich habe in die Mapping Tabelle Homematic-DImmer und Homematic-Schalter gepackt und beide schalten sauber ein/aus. Eine Option, um das Logging etwas zu reduzieren, wäre auch noch gut.
Werde demnächst noch ein Skript für die Rollläden bauen.
Sieht so aus, als müsste ich nun die anderen Räume auch noch mit Echos ausstatten
Gruß
Pix
-
Außerdem habe ich noch eingebaut, dass die Instanznummern automatisch gelesen werden. Hatte bisher fest javascript.0.xxx. Sollte jetzt also für einige, die nicht 0 als Instanz haben, funktionieren. `
Und ich habe mir direkt die neue Version kopiert und produktiv im Einsatz. Klasse.
Ich erlaube mir mal kurz den Punkt mit den Pfad und Datenpunktnamen von Pix aufzugreifen.
Aus alter Gewohnheit, habe ich den Datenpunkt mit der ID idAlexaLogonCookieValid beim ersten Start gar nicht angepasst und er wurde dann in einen Pfad angelegt, wo ich ihn nicht hin haben wollte (hatte den Datenpunkt gar nciht gesehen).
In den meisten Skripten findet man oben die Anpassung für die IDs und zu den createStates muss man gar nciht mehr scrollen.
Ungefähr in der Form:
var pfad = "Alexa" +"."; var idAlexaLogonCookie = pfad + 'cookie'; var idAlexaLogonCSRF = pfad + 'csrf'; var idAlexaLogonCookieValid = pfad + 'cookievalid';
Da gibt es kein richtig und kein falsch. Bei mir ist es Gewohnheit, da ich immer schaue, dass die Datenpunktnamen alle untereinander zur Definition stehen.
Ich bin jedenfalls schwer begeistert, was DU da gezaubert hast und bin gespannt, was da noch kommt
-
@pix:Dieser Parameter in createState erzeugt in den Cloud-Adapter Einstellungen ein Gerät mit diesem Smartname. Der heißt bei mir "Licht" (nicht wie im Skriptbeispiele "Sonos Party") und bringt ja erst das Trigger-Wort für die Aktion. Sage ich im Wohnzimmer "Alexa, Licht an", schaltet sich im Wohnzimmer das Licht an. Sag ich das gleiche zum Echo Dot in der Küche, schaltet sich eben da das Licht an. `
Danke erstmal für Deine Anmerkungen!
Alles klar, dass ist natürlich sinnvoll für das Licht-Script. Werde ich dort einbauen.
@pix:Punkt 2 ist nicht so wild. Es ist aber schön, wenn man direkt oben seine Pfade, Instanzen und/oder Usernamen, Passwörter, etc in Variablen festlegen kann. Ganz oben unter dem einleitenden Kommentar. `
Bin mir immer noch nicht sicher, was Du meinst. Es sind doch alle Einstellungen direkt am Anfang. Es gibt nach dem Teil der Einstellungen auch nochmal extra einen Marker "Ende der Einrichtung. …". Gibt es irgendetwas, das danach eingestellt werden muss, das ich übersehen habe? Dann ändere ich das gerne.
@pix:Zu 1: Bei mir gab es Fehler ohne die CSRF Definition. Unabhängig davon, ob sie benötigt wird oder nicht, meckert der Compiler. `
Das ist merkwürdig. Es gibt genau eine Verwendung der Variable csrf, die Du ja auch verändert hattest. Diese komplette Zeile Code ist aber unnötig, da die API keine CSRF verlangt. Deshalb habe ich sie bei mir gelöscht. Leider hatte ich noch eine Version mit dieser Zeile in den Thread hochgeladen. Die Version konnte nicht funktionieren, da die Variable csrf nicht deklariert wurde. Ist jetzt berichtigt.
@pix:Ich bin sehr zufrieden mit deinem Skript, vielen Dank! Ich habe in die Mapping Tabelle Homematic-DImmer und Homematic-Schalter gepackt und beide schalten sauber ein/aus. `
Das freut mich sehr
@pix:Eine Option, um das Logging etwas zu reduzieren, wäre auch noch gut. `
OK, das ist nicht im Einrichtungsteil im Momemt, sollte es aber. Du kannst die variable logOn auf false setzen. Dann sollte nur erfolgs- oder misserfolgsmeldung kommen.
-
Hallo zusammen,
erstmal einen ganz herzlichen Dank für das Script !!!
Jetzt aber mal eine blöde Frage:
Ich erhalte seit heute ca. 12:30 Uhr einen "Login-Error".
Kann es sein, dass Amazon die Login-Seite irgendwie geändert hat, oder muss ich das Problem bei mir Lokal suchen ?
Schon mal danke für die Antwort !!!
Gruss
gBonfire `
Habe das Script gerade nochmal laufen lassen, bei mir funktioniert der Login. `
Merci.
Nach längerer Fehlersuche bin ich zu folgendem Ergebnis gekommen: Wenn im Passwort ein "+" vorkommt geht es (nicht) mehr.
Weshalb es bis heute Vormittag noch ging und dann nicht mehr, kann ich beim besten willen nicht nachvollziehen.
Aber Fakt ist (bei mir): Wenn ein Plus-Zeichen im Passwort vorkommt, erhalte ich einen Login-Fehler..
Gruss
gBonfire
-
Nach längerer Fehlersuche bin ich zu folgendem Ergebnis gekommen: Wenn im Passwort ein "+" vorkommt geht es (nicht) mehr.
Weshalb es bis heute Vormittag noch ging und dann nicht mehr, kann ich beim besten willen nicht nachvollziehen.
Aber Fakt ist (bei mir): Wenn ein Plus-Zeichen im Passwort vorkommt, erhalte ich einen Login-Fehler.. `
Ok, dann muss ich da noch die richtige Maskierung für bestimmte Sonderzeichen rausfinden. Sollte aber machbar sein.
-
Irgendwie funktioniert das Script nicht mehr bei mir. Ich hatte Version v0.2 am Laufen und wollte auf v0.6 gehen.
v0.2:
javascript.1 2017-12-08 22:04:53.755 error at ContextifyScript.Script.runInContext (vm.js:-61:29) javascript.1 2017-12-08 22:04:53.754 error at script.js.common.Alexa.AlexaLogOn:86:33 javascript.1 2017-12-08 22:04:53.754 error TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:04:53.754 error ^ javascript.1 2017-12-08 22:04:53.754 error storedCookie = storedCookie.replace(/\\/g, ""); javascript.1 2017-12-08 22:04:53.753 error script.js.common.Alexa.AlexaLogOn: script.js.common.Alexa.AlexaLogOn:182 javascript.1 2017-12-08 22:04:53.748 info script.js.common.Alexa.AlexaLogOn: Start LogOn Process javascript.1 2017-12-08 22:04:53.738 info Start javascript script.js.common.Alexa.AlexaLogOn
v0.6:
javascript.1 2017-12-08 22:06:34.995 error at Object.main (script.js.common.Alexa.AlexaLogOn_0_6:123:37) javascript.1 2017-12-08 22:06:34.994 error Error in callback: TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:06:34.992 info script.js.common.Alexa.AlexaLogOn_0_6: Start LogOn Process javascript.1 2017-12-08 22:06:33.991 info script.js.common.Alexa.AlexaLogOn_0_6: registered 0 subscriptions and 1 schedule javascript.1 2017-12-08 22:06:33.984 info Start javascript script.js.common.Alexa.AlexaLogOn_0_6
Die drei Objekte haben alle den Wert 1 bekommen.
-
Irgendwie funktioniert das Script nicht mehr bei mir. Ich hatte Version v0.2 am Laufen und wollte auf v0.6 gehen.
v0.2:
javascript.1 2017-12-08 22:04:53.755 error at ContextifyScript.Script.runInContext (vm.js:-61:29) javascript.1 2017-12-08 22:04:53.754 error at script.js.common.Alexa.AlexaLogOn:86:33 javascript.1 2017-12-08 22:04:53.754 error TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:04:53.754 error ^ javascript.1 2017-12-08 22:04:53.754 error storedCookie = storedCookie.replace(/\\/g, ""); javascript.1 2017-12-08 22:04:53.753 error script.js.common.Alexa.AlexaLogOn: script.js.common.Alexa.AlexaLogOn:182 javascript.1 2017-12-08 22:04:53.748 info script.js.common.Alexa.AlexaLogOn: Start LogOn Process javascript.1 2017-12-08 22:04:53.738 info Start javascript script.js.common.Alexa.AlexaLogOn
v0.6:
javascript.1 2017-12-08 22:06:34.995 error at Object.main (script.js.common.Alexa.AlexaLogOn_0_6:123:37) javascript.1 2017-12-08 22:06:34.994 error Error in callback: TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:06:34.992 info script.js.common.Alexa.AlexaLogOn_0_6: Start LogOn Process javascript.1 2017-12-08 22:06:33.991 info script.js.common.Alexa.AlexaLogOn_0_6: registered 0 subscriptions and 1 schedule javascript.1 2017-12-08 22:06:33.984 info Start javascript script.js.common.Alexa.AlexaLogOn_0_6
Die drei Objekte haben alle den Wert 1 bekommen. `
ich habe das Script genommen ohne was zu ändern, aber es kommt der Fehler````
TypeError: storedCookie.replace is not a functionLäuft bei euch v0.6 korrekt?
-
Irgendwie funktioniert das Script nicht mehr bei mir. Ich hatte Version v0.2 am Laufen und wollte auf v0.6 gehen.
v0.2:
javascript.1 2017-12-08 22:04:53.755 error at ContextifyScript.Script.runInContext (vm.js:-61:29) javascript.1 2017-12-08 22:04:53.754 error at script.js.common.Alexa.AlexaLogOn:86:33 javascript.1 2017-12-08 22:04:53.754 error TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:04:53.754 error ^ javascript.1 2017-12-08 22:04:53.754 error storedCookie = storedCookie.replace(/\\/g, ""); javascript.1 2017-12-08 22:04:53.753 error script.js.common.Alexa.AlexaLogOn: script.js.common.Alexa.AlexaLogOn:182 javascript.1 2017-12-08 22:04:53.748 info script.js.common.Alexa.AlexaLogOn: Start LogOn Process javascript.1 2017-12-08 22:04:53.738 info Start javascript script.js.common.Alexa.AlexaLogOn
v0.6:
javascript.1 2017-12-08 22:06:34.995 error at Object.main (script.js.common.Alexa.AlexaLogOn_0_6:123:37) javascript.1 2017-12-08 22:06:34.994 error Error in callback: TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:06:34.992 info script.js.common.Alexa.AlexaLogOn_0_6: Start LogOn Process javascript.1 2017-12-08 22:06:33.991 info script.js.common.Alexa.AlexaLogOn_0_6: registered 0 subscriptions and 1 schedule javascript.1 2017-12-08 22:06:33.984 info Start javascript script.js.common.Alexa.AlexaLogOn_0_6
Die drei Objekte haben alle den Wert 1 bekommen. `
ich habe das Script genommen ohne was zu ändern, aber es kommt der Fehler````
TypeError: storedCookie.replace is not a functionLäuft bei euch v0.6 korrekt? `
Guten Morgen.
Bei mir läuft 0.6 einwandfrei. Ich würde zuerst mal das Skript anhalten alle dazugehörigen Objekte von Hand löschen und dann neu starten.
Gruß Stefan
IOBROKER MULTIHOST / MAX!/Homematic/Mysensors/Lightify/TRÅDFRI/Hue/Wemo/Tasmota/espeasy/…
-
Guten Morgen.
Bei mir läuft 0.6 einwandfrei. Ich würde zuerst mal das Skript anhalten alle dazugehörigen Objekte von Hand löschen und dann neu starten.
Gruß Stefan
IOBROKER MULTIHOST / MAX!/Homematic/Mysensors/Lightify/TRÅDFRI/Hue/Wemo/Tasmota/espeasy/… `
Habe ich schon paar Mal probiert ohne Erfolg.Vielleicht ein copy/paste Fehler? Hier ist irgendwo der Fehler:
1146_unbenannt.jpg -
Guten Morgen.
Bei mir läuft 0.6 einwandfrei. Ich würde zuerst mal das Skript anhalten alle dazugehörigen Objekte von Hand löschen und dann neu starten.
Gruß Stefan
IOBROKER MULTIHOST / MAX!/Homematic/Mysensors/Lightify/TRÅDFRI/Hue/Wemo/Tasmota/espeasy/… `
Habe ich schon paar Mal probiert ohne Erfolg.Vielleicht ein copy/paste Fehler? Hier ist irgendwo der Fehler: `
Me too. Das liegt anscheinend an der Instanz, auf Instanz 1 kommt dieser Fehler in 0 nicht.
Gruß
Matze
-
Guten Morgen.
Bei mir läuft 0.6 einwandfrei. Ich würde zuerst mal das Skript anhalten alle dazugehörigen Objekte von Hand löschen und dann neu starten.
Gruß Stefan
IOBROKER MULTIHOST / MAX!/Homematic/Mysensors/Lightify/TRÅDFRI/Hue/Wemo/Tasmota/espeasy/… `
Habe ich schon paar Mal probiert ohne Erfolg.Vielleicht ein copy/paste Fehler? Hier ist irgendwo der Fehler: `
Me too. Das liegt anscheinend an der Instanz, auf Instanz 1 kommt dieser Fehler in 0 nicht.
Gruß
Matze `
Danke für die Idee. Instanz.0 hatte ich nicht getestet. Damit läuft es -
Wir funktioniert das genau mit der 2FA einbindung im script?
Normalerweise bekomme ich den Code per SMS, aber ich erhalte keinen code bei scriptausführung.
Wenn ich mich irgendwo anders versuche mit meinem amazon account einzuloggen um eine sms mit einem code zu erhalten und diesen code dann im script eingebe funktioniert das auch nicht.
Ich habe dann noch in meiner google authenticator app mein amazon konto hinzugefügt, doch die dort angezeigten codes funktionieren auch nicht.
Das Script liefert immer LogOn Failed am Ende zurück.
Mein Passwort enthält ein Rautezeichen (#), könnte das das Problem sein?
Ich will es jetzt aber auch nicht ändern, sonst muss ich es an 32 Geräten/Apps ebenfalls tun…
-
Zur Frage zur Funktion… Bei mir läuft es so mit 2FA:
-
das gestoppte Skript mit User/Passwort vorbereiten
-
z.B. Authentificator: akt. 6-stelliger PIN mit Restlaufzeit ins Skript eintragen
-
Skript starten
Fertig
Per SMS scheint eine andere Authentifizierungsmethode zu sein.
Wenn das Skript startet steht der zu dem Zeitpunkt richtige 6-Stellige PIN schon drin.
Eine SMS, die durch das Skript ausgelöst würde, würde den Vorgang durch Neustart des Skripts ja wiederholen.
-
-
Wir funktioniert das genau mit der 2FA einbindung im script?
Normalerweise bekomme ich den Code per SMS, aber ich erhalte keinen code bei scriptausführung.
Wenn ich mich irgendwo anders versuche mit meinem amazon account einzuloggen um eine sms mit einem code zu erhalten und diesen code dann im script eingebe funktioniert das auch nicht.
Ich habe dann noch in meiner google authenticator app mein amazon konto hinzugefügt, doch die dort angezeigten codes funktionieren auch nicht.
Das Script liefert immer LogOn Failed am Ende zurück.
Mein Passwort enthält ein Rautezeichen (#), könnte das das Problem sein?
Ich will es jetzt aber auch nicht ändern, sonst muss ich es an 32 Geräten/Apps ebenfalls tun… `
Ich denke, dass auch hier das Sonderzeichen das Problem sein könnte.
Sobald ich dafür eine Lösung gefunden habe, werde ich sie hier veröffentlichen.
-
Irgendwie funktioniert das Script nicht mehr bei mir. Ich hatte Version v0.2 am Laufen und wollte auf v0.6 gehen.
v0.2:
javascript.1 2017-12-08 22:04:53.755 error at ContextifyScript.Script.runInContext (vm.js:-61:29) javascript.1 2017-12-08 22:04:53.754 error at script.js.common.Alexa.AlexaLogOn:86:33 javascript.1 2017-12-08 22:04:53.754 error TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:04:53.754 error ^ javascript.1 2017-12-08 22:04:53.754 error storedCookie = storedCookie.replace(/\\/g, ""); javascript.1 2017-12-08 22:04:53.753 error script.js.common.Alexa.AlexaLogOn: script.js.common.Alexa.AlexaLogOn:182 javascript.1 2017-12-08 22:04:53.748 info script.js.common.Alexa.AlexaLogOn: Start LogOn Process javascript.1 2017-12-08 22:04:53.738 info Start javascript script.js.common.Alexa.AlexaLogOn
v0.6:
javascript.1 2017-12-08 22:06:34.995 error at Object.main (script.js.common.Alexa.AlexaLogOn_0_6:123:37) javascript.1 2017-12-08 22:06:34.994 error Error in callback: TypeError: storedCookie.replace is not a function javascript.1 2017-12-08 22:06:34.992 info script.js.common.Alexa.AlexaLogOn_0_6: Start LogOn Process javascript.1 2017-12-08 22:06:33.991 info script.js.common.Alexa.AlexaLogOn_0_6: registered 0 subscriptions and 1 schedule javascript.1 2017-12-08 22:06:33.984 info Start javascript script.js.common.Alexa.AlexaLogOn_0_6
Die drei Objekte haben alle den Wert 1 bekommen. `
Diesen Fehler kann eigentlich nur dann kommen, wenn die Variable storedCookie keine Zeichenkette enthält - also zum Beispiel eine einzelne Zahl. Lass Dir die Variable mit "log(storedCookie);" mal ausgeben (den Befehl genau eine Zeile vorher eintragen).