NEWS
Alexa Adapter renewed (0.1.0+)
-
yo version 0.5
-
erstmal vielen Dank für all die Arbeit die du da reinsteckst. Ist ja nicht selbstverständlich
`
Mit solchem Feedback noch viel lieber
Ich versuche gerade ein sonoff inching relay einzubinden damit ich meine Garage entsprechend über IObroker steuern kann. Da es mit Tasmota auf den neuen Geräten nicht so gut klappt und der Sonoff Adapter somit nicht funktioniert, wollte ich es über den alexa Adapter machen und mir die Smarthome Geräte abfragen.
Ich habe mit dem Adapter vom SOEF rumprobiert, aber keinen Erfolg gehabt (es wurden mir letztlich keine Echo Devices angezeigt). Mit deinem geänderten Adapter habe ich zuerst das Thema captcha erhalten aber mit dem manuellen Auslesen des Tokens umgangen. Nun bekomme ich aber die Meldung Error: No JSON angezeigt. Kann dies mit GIT zu tun haben? `
Ich verstehe zwar nicht wie das genau gehen soll, aber "No JSON" sagt das auf einen der Calls kein JSON als Antwort zurückkommt sondern ein Text.Hast Du denn Echo-Geräte in deinem Amazon-Account drin? Siehst Du die per Amazon Alexa App bzw Web?
Wenn ja, dann am besten mal Logleel auf Debug und das Log schicken. Dann sehe ich bei welchem Request das passiert `
Hallo Apollon,
ja den echodot sehe ich in meiner App und auch im Netz. Hier der Auszug vom Log
Gruß
7151_screenshot_2018-07-17-19-09-27-843_com.android.chrome.png -
Auf nächste Version warten bitte
Gesendet vom Handy …
-
Kurzer Zwischenstand: Ich habe mich entschieden den Adapter grundlegen nochmal umzubauen um die "soef Library Magie" rauszubauen. Brauche daher noch etwas …
-
Hallo ,
nochmals danke für Deine Mühe !!
mfg
mikewolf
-
Da kann ich mich Mikewolf nur anschließen,
Danke für die Mühe
LG nape1
Gesendet von meinem RNE-L21 mit Tapatalk
-
Dankeschön auch von mir!
-
Grossen Dank und Anerkennung für deine Mühen @Apollon77.
Mfg Maggi
Gesendet von meinem SM-G955F mit Tapatalk
-
Adapter 0.2 ist online und funktioniert perfekt!
Vielen Dank für deine Mühen!
-
WARTEN!!!!!!!!
-
iobroker.alexa ist tod … es lebe iobroker.alexa2 ...
Weiter geht es -----> viewtopic.php?f=37&t=15547
Bitte iobroker.alexa als Instanzen und Adapter löschen und alexa2 neu installieren!
Have fun
-
TAUSEND DANK!
-
yo version 0.5 `
Ok, hier mal ein (ungetesteter Versuch) den Adapter zu nutzen.
`// 2\. Mapping-Tabelle konfigurieren // // Mapping-Tabelle der Echo-Geräte zu den Smart Home Geräten (z.B. Lampen). // Die SerialNr der Echo-Geräte sind in der Alexa-App unter // Settings->[Echo-Gerät]->Serial Number (vorletzter Eintrag) // zu finden. // // Die Object-IDs in der Aufzählung "deviceIDs" kommen aus ioBroker und können // direkt aus dem Objects-Reiter kopiert werden. // // Es können mehrere Smart Home Geräte jedem Echo zugeordnet werden. In der // Aufzählung "deviceIDs" mit Komma trennen. var mappingTable = [ { "deviceSerialNr" : "G040FL60XXXXXXXX", "deviceIDs": ["hue.0.Philips_hue.Wohnzimmer_Stehlampe.level" ] }, { "deviceSerialNr" : "G080FL20XXXXXXXX", "deviceIDs": ["hue.0.Philips_hue.Bad_Deckenlampe.level" ] } ]; // 3\. Datenpunkt konfigurieren (optional) var forecreation = false; // Wenn gewünscht, Pfad und Name nach eigenen Vorstellungen anpassen. var idAlexaTrigger = 'productive.lichtan.alexa_trigger'; // Wenn gewünscht, Name und desc für den Datenpunkt anpassen. // Außerdem kann der Smart Name im CloudAdapter angepasst werden. createState(idAlexaTrigger, 0, forecreation, { name: 'Trigger für Alexa', desc: 'Trigger mit Level für Alexa', type: 'number', unit: '', role: 'value', smartName: { de: 'Licht', en: 'Licht' } }); // 4\. Logging konfigurieren (optional) // // true schreibt in den Log, was das Script macht. var logOn = true; // Ende der Einrichtung. // Nachfolgend der eigentliche Source Code des Scripts. //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // Funktionen function main() { var serialNumber = getState('alexa2.0.history.serialNumber').val; // durchsuche Mapping-Table und schalte die verknüpften Geräte for (var i = 0; i < mappingTable.length; i++ ) { if (mappingTable[i].deviceSerialNr === serialNumber ) { for (var j = 0; j < mappingTable[i].deviceIDs.length; j++) { if(logOn) log("Set new value for device " + mappingTable[i].deviceIDs[j]); var oldValue = "" + getState(mappingTable[i].deviceIDs[j]).val; if(logOn) log("Old Value: " + oldValue); if (oldValue === 'true' || oldValue === 'false') { var newValue = "" + getState("javascript."+instance+"."+idAlexaTrigger).val; if(logOn) log("New Value: " + newValue); if (newValue === '0') { setState(mappingTable[i].deviceIDs[j], false); } else { setState(mappingTable[i].deviceIDs[j], true); } } else { setState(mappingTable[i].deviceIDs[j], getState("javascript."+instance+"."+idAlexaTrigger)); } } } } } // Subscriptions // ----------------------------------------------------------------------------- on({id: "javascript."+instance+"."+idAlexaTrigger ,change:'any'}, function (obj) { if(logOn) log("Alexa Trigger changed: " + obj.state.val); var triggerResult = on({id: 'alexa2.0.history.creationTime', change: 'ne', ack: true}, function(data) { unsubscribe(triggerResult); triggerResult = null; main(); }); setState('alexa2.0.history.#trigger', true, false); setTimeout(function() { //Wir warten nur 5 Sekunden auf neue Daten, dann brechen wir ab if (triggerResult) { unsubscribe(triggerResult); log('No update in history'); } }, 10000); main(); });` die Logik registriert sich für Änderungen des creationTime Datenpunkts der sich ändert wenn es neue Nachrichten gab, dann triggert er die History-Abfrage. Wenn dann innerhalb von 10 Sekunden der creationTime geändert wurde dann gab es was und das kann ausgelesen werden. Versuch mal ... wenns nicht tu schick mal log wenn du für dias Skript log im javascript adapter einschaltest[/i][/i][/i][/i][/i][/i][/i]
-
javascript.0 2018-07-20 12:58:00.817 warn at Object. <anonymous>(script.js.common.RolloTEST:153:5)
javascript.0 2018-07-20 12:58:00.817 warn at main (script.js.common.RolloTEST:104:81)
javascript.0 2018-07-20 12:58:00.812 warn getState "alexa2.0.history.serialNumber" not found (3)
In dem Datenpunkt steht ja auch nichts
muss da nicht vorher der update Trigger ausgelöst werden ?? oder bin ich blind
Grüße
P.S
Wenn ich z.b im Schlafzimmer LICHT an sage geht ja auch mein Licht an (hat null mit dem script zu tun).
Und wenn ich nun update trigger drücke vom Alexa2 adapter unter History erscheint nichts,
Ist doch nicht normal oder ?^^</anonymous>
-
Du solltest vorher den Alexa2-Adapter installieren
oder falls Du noch "alexa" Adapter hast dann ändere die Datenpunkte in alexa.0
-
Doch der Datenpunkt ist da…... aber 0 inhalt
P.S
alexa2.0 2018-07-20 12:44:02.903 warn setObject history (type=state) property common.role missing!
kam bei der installation oder beim starten vom adapter.
-
Restarte mal den Adapter
-
OK, nun folgt der Langzeittest :)))
VIELEN VIELEN DANK !!
U MADE MY DAY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Grüße
Erti
-
Bug gefunden. 0.2.1. auf Github fixt das
-
Hallo,
leider werden bei mir die Geräte immer umbenannt…....