NEWS
Neuer Adapter: iobroker.alexa2
-
Update … Version 0.3.4 ist verfügbar
Verfügbar auf GitHub und npm, ab morgen in latest und auch stable
Changelog 0.3.4:
-
Es werden jetzt bis zu 2000 Routinen ausgelesen und nicht nur 20
-
"Speak" für Multiroom-Geräte sendet die Sprachausgabe nacheinander an alle Geräte. Achtung: Sprachausgabe ist nicht synchron!
-
Das Abspielen von Music-Provider-Musik auf Mutiroom-Geräten sollte jetzt auch gehen. (Dank an Matten-Matten für Infos und tests!)
Wenn jetzt nicht noch Bugs kommen ist das die Version die erst mal mindestens 2 Wochen so bleiben wird, da ich nächste Woche im Urlaub bin
Also testet heute so lange ich noch da bin ...
Während meines Urlaubs habe ich aber eine große Bitte an Euch:
Geht auf GithHub (https://github.com/Apollon77/ioBroker.alexa2/issues) und schaut dort ob Eure Wünsche und Feature-Ideen schon gelistet sind. Wenn ja, stimmt mit einem "Daumen hoch" ab und bekundet Euer Interesse daran.
Wenn nein, legt es an.
Bitte immer auch Euren Usecase dazu schreiben, weil nur weil etwas technisch geht macht es ggf für den Adapter dennoch wenig Sinn.
Nutzt diese Möglichkeit um mir Hinweise zu geben was die nächsten Themen sein sollten an denen ich in Bezug auf diesen Adapter arbeiten sollte!
-
-
hast du am multihome etwas verändert - 0.3.3 hat einige probleme bei mir
-
siehe letzter Post … 0.3.4 rulez
(hopefully)
-
Ansonsten für die Nutzer des "Licht-An-Skripts" hier mal eine (ungetestete) neue Version die den Adapter nutzt:
`// 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(data) { var serialNumber = data.serialNumber; if (logOn) log("Got request for serialNumber " + serialNumber); // 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.json', change: 'ne', ack: true }, function(data) { unsubscribe(triggerResult); triggerResult = null; main(JSON.parse(data.state.val)); }); 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); });`[/i][/i][/i][/i][/i][/i][/i]
-
v 0.3.5 geladen multiroom sprachausgabe getestet und folgender fehler:
host.tinkerboard 2018-07-27 10:54:58.177 error instance system.adapter.alexa2.0 terminated with code 0 (OK) Caught 2018-07-27 10:54:58.177 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9) Caught 2018-07-27 10:54:58.177 error by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:80:11) Caught 2018-07-27 10:54:58.176 error by controller[0]: at endReadableNT (_stream_readable.js:978:12) Caught 2018-07-27 10:54:58.176 error by controller[0]: at IncomingMessage.emit (events.js:185:7) Caught 2018-07-27 10:54:58.176 error by controller[0]: at emitNone (events.js:91:20) Caught 2018-07-27 10:54:58.176 error by controller[0]: at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/iobroker.alexa2/node_modules/alexa-remote2/alexa-remote.js:360:60) Caught 2018-07-27 10:54:58.176 error by controller[0]: at commandCallback (/opt/iobroker/node_modules/iobroker.alexa2/main.js:588:51) Caught 2018-07-27 10:54:58.176 error by controller[0]: at AlexaRemote.Alexa.iterateMultiroom (/opt/iobroker/node_modules/iobroker.alexa2/main.js:584:29) Caught 2018-07-27 10:54:58.175 error by controller[0]: at AlexaRemote.find (/opt/iobroker/node_modules/iobroker.alexa2/node_modules/alexa-remote2/alexa-remote.js:682:45) Caught 2018-07-27 10:54:58.174 error by controller[0]: TypeError: Cannot read property 'toLowerCase' of undefined alexa2.0 2018-07-27 10:54:58.115 warn Exception: TypeError: Cannot read property 'toLowerCase' of undefined alexa2.0 2018-07-27 10:54:58.112 error at process._tickCallback (internal/process/next_tick.js:104:9) alexa2.0 2018-07-27 10:54:58.112 error at _combinedTickCallback (internal/process/next_tick.js:80:11) alexa2.0 2018-07-27 10:54:58.112 error at endReadableNT (_stream_readable.js:978:12) alexa2.0 2018-07-27 10:54:58.112 error at IncomingMessage.emit (events.js:185:7) alexa2.0 2018-07-27 10:54:58.112 error at emitNone (events.js:91:20) alexa2.0 2018-07-27 10:54:58.112 error at IncomingMessage. <anonymous>(/opt/iobroker/node_modules/iobroker.alexa2/node_modules/alexa-remote2/alexa-remote.js:360:60) alexa2.0 2018-07-27 10:54:58.112 error at commandCallback (/opt/iobroker/node_modules/iobroker.alexa2/main.js:588:51) alexa2.0 2018-07-27 10:54:58.112 error at AlexaRemote.Alexa.iterateMultiroom (/opt/iobroker/node_modules/iobroker.alexa2/main.js:584:29) alexa2.0 2018-07-27 10:54:58.112 error at AlexaRemote.find (/opt/iobroker/node_modules/iobroker.alexa2/node_modules/alexa-remote2/alexa-remote.js:682:45) alexa2.0 2018-07-27 10:54:58.112 error TypeError: Cannot read property 'toLowerCase' of undefined alexa2.0 2018-07-27 10:54:58.111 error uncaught exception: Cannot read property 'toLowerCase' of undefined</anonymous></anonymous>
-
kannst du bitte etwas ausprobieren mit multiroom - apollon fragte, ob ich mich mit dir kurzschliessen könnte um fehler nachzuvollziehen.
wenn ich etwas im provider-tunein eingeben spielt anstatt multiroom nur ein echo - wenn ich anschliessend play im object auf true setze fangt multiroom mit allen an.
setzte ich rockantenne - kommt sprachausgabe mit geht nicht …
setze ich ROCK ANTENNE - spielt ein nur echo - in der alexa app wird multiroom nicht angezeigt
setze ich dann play - multiroom - alle echos spielen.
danke
-
Huhu nach Update auf 0.3.2 hab ich beim Fire HD 10 nur noch den Ordner Info und beim Fire TV Cube nur noch die Ordner Info, Music-Provider und Player, es fehlen die Commands Ordner
-
wegen der vis schalter und alexa sprachbefehl (spiele tunein)
bei wird nur der current.state aktualisiert (nach updatetime). somit kann ich im vis nur aktualisierte zustände bekommen, wenn ich ein script erstelle, welches mit play, pause, state den vis schalter aktualisiert - ist das bei euch auch so
ist auch in v 0.3.4 so
-
@ liv-in-sky
ja so ist das bei mir auch.
ich finde das aber auch doppelt gemoppelt, einmal hat man Music-Provider/TuneIn und nocheinmal Player/TuneIn-Direct.
aber irgendwie wirds nicht auf multiroom wieder gegeben.
kannst du sonst mal was in deiner main.js mit Notepad++ abändern?
in Zeile 684
value += ' auf ' + device._name + ' music';
aktuell sollte folgendes noch in der Zeile stehen:
value += ' auf multiroom music';
download/file.php?mode=view&id=31478
Gruß
Matten Matten
3476___tinkerboard_iobroker_iobroker_node_modules_iobroker.alexa2_main.js_-notepad_-27.07.2018_11_35_45.png -
ich helfe gerne - aber solche änderungen sind mir eher noch suspekt. node und ich stehen noch auf "unlike"
du müßtest mir schon genau sagen, wo ich diese datei finde
unter tunein-direct funktioniert es bei mir
-
Hallo,
teste gerade den Adapter, ist Super.
Ich habe mir eine Vis erstellt, wo ich die Routinen abrufe usw.. Geht sehr gut.
Das einzige was ich noch klären muss, ist das es beim abruf ja nur den Dot nimmt die ich in den Objekt ID eingetragen habe.
Also müsste ich für jeden Dot eine View bauen? Überlege gerade wie ich das am Besten lösen kann.
Ist ein (jqui - ctrl - Icon State / val - Icon Bool) Widget.
Aha, sehe gerade das JEDER Dot Routinen hat…..
-
@ liv-in-sky
kommst du unter windows an die iobroker ordner ran?
dann unter
iobroker\node_modules\iobroker.alexa2
und die main.js datei mit notepad++ öffnen.
in Zeile 684
value += ' auf ' + device._name + ' music';
aktuell sollte folgendes noch in der Zeile stehen:
value += ' auf multiroom music';
Wenn ich das bei mir abändere funktioniert es. ABER Wenn der Multiroom device name nur aus großbuchstaben besteht zb "MULTIROOM" funktioniert es nicht. Apollon77 müsste das so umbauen das, wenn der Multiroom device name nur aus großbuchstaben besteht das in kleinbuchstaben konvertiert wird bevor der befehl abgeschickt wird.
Gruß
Matten Matten
-
Was ist eigentlich der Datenpunkt:
Request Result
-
Was ist eigentlich der Datenpunkt:
Request Result `
requestResult = Error info for TuneIn requests
-
hab ich gemacht - ändert aber nichts am verhalten
habe andere zeilenzahl -ist das normal
4447_zeilen.png -
hab ich gemacht - ändert aber nichts am verhalten
habe andere zeilenzahl -ist das normal `
welche version hast du? -
0.3.4
-
0.3.4 `
lade mal 0.3.5
und ändere noch einmal.
Wie hast du deine multiroomgruppe bezeichnet?
-
die heißt "alles" -
wo kriege ich die version her - habe nur 3.4. auf github
-
die heißt "alles" -
wo kriege ich die version her - habe nur 3.4. auf github `
ok dann kann das mit der Großschrift bei dir nicht sein.
hast du mal Music-Provider.Amazon Music getestet, ob sich das da auch so verhält?