Apollon77 / ioBroker.alexa2

ioBroker Adapter to control Amazon Alexa/Echo devices
MIT License
159 stars 46 forks source link

Listen auslesen via Adapter möglich? #31

Closed Againstyou closed 4 years ago

Againstyou commented 6 years ago

Ist es möglich gespeicherte Listen via Adapter auszulesen? (ToDo-List, Einkaufsliste) Falls nicht ist es möglich dieses "Feature" hinzuzufügen? :)

Apollon77 commented 6 years ago

bereiststellen in welcher Form? Was willst Du damit tun?

Againstyou commented 6 years ago

Als Text/Liste/ArrayList? Weiss nicht genau was möglich ist. Am Ende würde ich mir die Liste z.B. gerne in VIS anzeigen lassen oder per Script versenden können oder ähnliches.

/edit: ggf. wäre auch der umgekehrte Weg zusätzlich interessant. Also nicht nur das auslesen, sondern auch das beschreiben via APP/VIS/Script. Obwohl das vermutlich komplizierter wird?

Apollon77 commented 6 years ago

API technisch geht das alles, aber wie man das über states sinnvoll abbildet bin ich mir gerade nicht sicher. Muss ich nachdenken

Againstyou commented 6 years ago

Danke, dass du dir Gedanken machst. 👍 IOBroker kann nur States(Boolean/Zahlenwert/Text) oder? Sonst wäre ja ein Array oder ArrayList sinnvoll die man via Script durchlaufen und auch Dinge hinzufügen kann. Bin gespannt ob du eine Lösung findest. :)

MiJo112 commented 5 years ago

Fände die Idee auch ziemlich genial. Dann kann man die Einkaufliste auf der VIS darstellen. Scheint auch mit der API zu gehen: https://developer.amazon.com/de/docs/custom-skills/access-the-alexa-shopping-and-to-do-lists.html#getList

liv-in-sky commented 5 years ago

hi ingo,

ist hier "closed" - aber irgendwie check ich nicht, ob du es integrieren würdest, oder ob es zu wenig gefragt wurde - würde mich auch interessieren ! mache das momentan über ifttt (webhooks)- -> join -> nodered -> mysql - leider ist ifttt so was von langsam beim update und instabil. bitte um kurzes statement - danke

Apollon77 commented 5 years ago

Das Issue ist noch "offen" (wo siehst Du ein "closed"?).

Mal abgesehen davon das andere Baustellen in den letzten 2 Wochen wichtiger waren und ich als nächstes Alexa2 mit den ganzen Themen der letzten 4 Wochen ggf nochmal updaten will bin ich mir immer noch nicht sicher WIE ich die Daten der Listen verfügbar machen sollte damit man auch etwas sinnvolles damit anfangen kann.

liv-in-sky commented 5 years ago

closed moin, habe wie im bild closed gesehen! ja - du bist ganz schön aktiv beim entwickeln - man sieht dich viel im forum- frag mich, wo du die zeit her nimmst - deshalb dachte ich, wenn die daten nur geholt werden, müßte das kein großer programmieraufwand sein. ifttt nervt mich - die brauchen auch schon mal einen tag, bis ein webhook ankommt. es geht mir gar nicht darum, etwas sinnvolles damit anzufangen (zu verarbeiten)- eher darum, die daten zu haben , damit sie angezeigt werden können. alle todos zu löschen wäre cool - da man dies mündlich direkt mit alexa nicht machen kann (dazu braucht man die app - dann aber könnte über den cloudadapter gelöscht werden). einen punkt hinzufügen wäre nett. wie oben erwähnt nutze ich die todoliste nur, um einen neuen punkt über alexa einschreiben (ifttt) zu können - dies wird gesendet und landet in einer eigenen sql datenbank. erst dadurch kann ich es in der vis sichbar machen und damit arbeiten - zum beispiel im auto, bevor ich austeige und nicht im heimbereich bin,, kommt eine nachricht mit meiner liste (hilfreich beim einkaufen) direkt aufs handy (html popup). ein bild zeigt handy, das andere ist die vis.

ps: habe gestern meine shellys bekommen - grins - bei diesem adapter bist du ja auch involviert. sql2 sql

Apollon77 commented 5 years ago

closed: Ein User hat ein neues issue aufgemacht und das habe ich geclosed mit refeenz auf dieses als duplicate :-)

es geht mir gar nicht darum, etwas sinnvolles damit anzufangen (zu verarbeiten)- eher darum, die daten zu haben , damit sie angezeigt werden können.

Naja Anzeigen ist "was sinnvolles damit anfangen" :-) In welcher Forum müste man es denn speichern das Vis es sinnvoll anzeigen kann? Reicht JSON oder oder oder? Diese Infos fehlen mir und habe gerade wenig Zeit mich so tief in VIS reinzuarbeiten.

alle todos zu löschen wäre cool - da man dies mündlich direkt mit alexa nicht machen kann (dazu braucht man die app - dann aber könnte über den cloudadapter gelöscht werden). einen punkt hinzufügen wäre nett.

Naja, das könnte man als State machen (macht das echt sinn? braucht man das so oft? oder als JavaScrit-Funktion die man nur von Skripten aus nutzen kann. Ich tue mich schwer das alles als States anzulegen ... weil man es immer noch verstehen können muss und es sinn machen sollte ...

liv-in-sky commented 5 years ago

um es einfach zu halten - ein json reicht völlig - mehr muss es garnicht sein. ein unterpunkt im adapter mit todolist und einkaufliste und ein json dazu - das wär's ifttt sendet die ganze liste als comma-seperated - ist blöd, da man in den todos keine kommas verwenden kann (in der app) - aber selbst eine solche liste mit kommas wäre cool - das bild zeigt: arminTODOs ist die liste von ifttt - SQLArmin ist vom sqlserver - für diesen datenpunkt gibt es ein widget im vis (json-table) adapt

ldittmar81 commented 5 years ago

Also... Alexa hat 2 Listen: Todos und Einkaufsliste. In der Liste werden Einträge gespeichert und haben ein Status true/false. Es würde sich also anbieten, wenn man unter dem Ordner Listen, die Unterordnern Todos & shopping_items hätte und darunter jeweils ein Objekt mit true/false.

Das wäre die eleganteste Lösung, denn dann könnte man im VIS, auch die erledigte Sachen darstellen und diese auch mal switchen (bsp.: Todo -> Fenster putzen ... das könnte dann wöchentlich automatisch wieder auf false gesetzt werden)

Nur eine JSON wäre auch ok, aber es wäre halt für den normalen User nicht so einfach zu handeln.

Apollon77 commented 5 years ago

Die State id von einem Channel ist dann eine uuid und drunter gibts noch den Text des Todes/Liste als unter State und dein true/false. Und noch einen state zum löschen. Und irgendwie noch States zum anlegen von einem neuen Eintrag ...

Das ist nur wieder für vis so alles andere als sinnvoll zu gebrauchen. Und wegen der UUIDs die quasi dynamisch sind kannst du skriptnutzung effektiv vergessen.

ldittmar81 commented 5 years ago

Dann wirklich als JSON... Die Listenobjekte müssten aber trotzdem 2 Status haben (Offen/Erledigt) und das müsste dann mit der Alexa synchronisiert werden. Außerdem müsste noch ein neu/gelöscht ebenfalls synchronisiert werden. Wäre es dann so ein JSON?

{'Brot':false, 'Butter':true, 'Klopapier':false} -> und wenn da was neues rein kommt, wird es in der Liste hinzugefügt bzw wenn was nicht mehr da ist, wird es gelöscht?

Apollon77 commented 5 years ago

Ääähm ... neeeeeeee enn JSON dann ist das der Read-Only content. zurück syncen per JSON ... neeeeeeeeee, das kann nur schieff gehen

ldittmar81 commented 5 years ago

:laughing: Tja... aber so ganz von vis losgelöst, wäre es auch cool, wenn man es zB. in Material oder in ioGo zeigen könnte. Dafür müssten es aber Objekte (true/false) sein :thinking: Bezüglich UUIDs... man muss diese nicht Id im ioBroker nehmen... außerdem ist das kein Problem, wenn man Blockly nutzt :stuck_out_tongue:

Mit Objekte als Switch, könnte man auch ganz tolle Sachen machen. Beispiel Todo Liste. Aufgabe wird irgendwann abgehackt und 2 Wochen danach wird es automatisch auf false gestellt, so dass man wieder daran erinnert wird, dass es mal Zeit wird.

fabiankrauss commented 5 years ago

Ich fände es auch super wenn es integriert werden könnte. 👍

Matten-Matten commented 5 years ago

Ich würde das auch super finden, vieleicht auch in 2 bis drei unterschiedliche Objekte, einmal im json, einmal als einfache Liste mit Zeilenumbruch dazwischen und einmal in Ordnern mit einzelnen Objekten durchnummeriert, Bis max 30 Objekte oder so? -> Diese könnte man dann einzeln mit einem zusätzlichen löschen Objekt erstellen. Und ein einzelnes Objekt, welches beschreibbar ist um etwas der Liste hinzuzufügen. Das wäre so meine Idee. Gruß Matten Matten

Matten-Matten commented 5 years ago

Ich würde das auch super finden, vieleicht auch in 2 bis drei unterschiedliche Objekte, einmal im json, einmal als einfache Liste mit Zeilenumbruch dazwischen und einmal in Ordnern mit einzelnen Objekten durchnummeriert, Bis max 30 Objekte oder so? -> Diese könnte man dann einzeln mit einem zusätzlichen löschen Objekt erstellen. Und ein einzelnes Objekt, welches beschreibbar ist um etwas der Liste hinzuzufügen. Das wäre so meine Idee. Gruß Matten Matten IMG_20190726_133237

LJSven commented 4 years ago

Das ist im Moment noch nicht möglich, oder übersehe ich was? Ich würde es gut finden, daß wenn ich aus dem Haus gehe, mit die Liste per Telegram aufs Handy geschickt wird, oder an der Ausgangtür der Einkaufszettel gedruckt wird.

liv-in-sky commented 4 years ago

@LJSven falls interesse: die listen kann man über ifttt bei änderung, punkt zugefügt,verändert oder gelöscht an iobroker senden lassen - ein script schiebt dies dann auf mein handy - ist nur eindimensional - also nur von alexa app zu iobroker

LJSven commented 4 years ago

Hast du ein "How-To"?

liv-in-sky commented 4 years ago

LJSven - mach doch einen thread im forum auf und setzt mich rein - dann erkläre ich es dir kurz

LJSven commented 4 years ago

Done

Zefau commented 4 years ago

@liv-in-sky @LJSven habt ihr einen Link zum Thread?

Versuche gerade die Thematik im alexa2 Adapter hinzuzufügen. Auslesen der Listen und das Hinzufügen funktioniert. Leider scheitere ich aktuell noch am Aktualisieren und am Löschen. Funktioniert das mit IFTTT?

liv-in-sky commented 4 years ago

hallo zefau, https://forum.iobroker.net/topic/25416/alexa-einkaufsliste-via-ifttt/6

Zefau commented 4 years ago

Habe die Funktionen für Listen nun in den Adapter (bei mir lokal) implementiert. Mit dem Merge der Dependency (siehe https://github.com/Apollon77/alexa-remote/pull/56), werde ich für das Repository einen Pull Request stellen.

So sieht's bei mir aus: image

sowie die List-Items: image

Features

Apollon77 commented 4 years ago

Merged, da ich auch gerade an Alexa 2 aktualisiere verbinde ich morgen den alexa2 Github mit der gitHub alexa-remote um schneller iterieren zu können. Damit ginge dein alexa2-PR dann! Also brauchst keine dep ändern, mache ich dann. Dann release ich es im gesamtpaket

Zefau commented 4 years ago

alles klar

liv-in-sky commented 4 years ago

ihr seid toll :-)

Apollon77 commented 4 years ago

bzw ... hab jetzt mal alles aktuslisiert ... versuch mal ... aber bitte deinen Fork rebasen bzw mergen wie nötig. PS: Hast Du Telegram? Haben da eine Dev Gruppe :-) Lust?

@liv-in-sky Aber bitte LAAANGSAAM!! GitHub version ist für die nächsten Tage extrem experimentell und kann komplett kaputt sein. Melde mich im Forum wenn Testbereit :-)

liv-in-sky commented 4 years ago

jaja - alles klar - freu mich nur, das es kommen wird - irgendwann !

Zefau commented 4 years ago

An der Telegram Gruppe hätte ich Lust. Zefau ist mein Nickname dort.

Zefau commented 4 years ago

Hab die v2.7.0 von Github auf meiner Testumgebung installiert. Der Start funktioniert soweit problemlos.

Das Durchtesten der Listen ebenfalls. Ohne Fehler gelingt das Folgende:

Habe ich einen Testfall vergessen?

Zefau commented 4 years ago

@Apollon77 kannst du main.js#L2525 bitte noch auf adapter.log.debug umstellen?

https://github.com/Apollon77/ioBroker.alexa2/blob/31a7f1d33e0ff942d8d298de0b9641f099e7853b/main.js#L2525

Apollon77 commented 4 years ago

sure

Zefau commented 4 years ago

@Apollon77 wie kommst du voran? Brauchst du noch Unterstützung? Ich nutze die aktuelle Github Version seither problemlos.

EDIT: Würde mich über Credits im Changelog freuen :)

Apollon77 commented 4 years ago

Abgelenkt. Bin aber jetzt noch 2 Tage krank geschrieben. Mal schauen.

Und credits sind bei mir lokal natürlich schon drin ;-) Selbstverständlichkeit!

Apollon77 commented 4 years ago

Should be fixed in GitHub version 3.0.0 ... please check and give feedback (here and/or https://forum.iobroker.net/topic/27930/test-adapter-alexa2-3-0-x)