Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19000809 - Alexa Control

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ThorstenGehrig
    antwortet
    Version 1.12 scheint zu laufen - ich kriege 3 Wecker (derzeit alle aus) auf A20 ausgegeben.
    Aber: wie parse ich die denn?
    Code:
    [{"id":"A4ZP7ZC4PI6TO-G0913L05939104QK-6db8eb87-b72f-313a-91db-cccc33da86f3","new":0,"device":"Schlafzimmer","createTime":"23:20:12","createDate":"01.08.20","alarmTime":"06:00:00","alarmDate":"2020-01-09","type":"MusicAlarm","reminderLabel":null,"status":"OFF","recurringPattern":null,"snoozedToTime":null},{"id":"A4ZP7ZC4PI6TO-G0913L05939104QK-f66fae37-2dc2-320d-8f1a-cf9b2bf1a75f","new":0,"device":"Schlafzimmer","createTime":"22:29:17","createDate":"01.09.20","alarmTime":"05:50:00","alarmDate":"2020-01-10","type":"MusicAlarm","reminderLabel":null,"status":"OFF","recurringPattern":null,"snoozedToTime":null},{"id":"A4ZP7ZC4PI6TO-G0913L05939104QK-f9a027bf-ab64-3ac2-88a6-973c84f9f893","new":0,"device":"Schlafzimmer","createTime":"22:30:41","createDate":"01.09.20","alarmTime":"06:30:00","alarmDate":"2020-01-10","type":"Alarm","reminderLabel":null,"status":"OFF","recurringPattern":null,"snoozedToTime":null}]
    Fehlt da nicht sowas die ein Label für Wecker1/2/3 (also für die einzelnen Einträge im Haupt-Array)?
    Mit dem normalen JSON decoder komme ich da gerade nicht an die Wecker drann...

    Gruß
    Thorsten
    Zuletzt geändert von ThorstenGehrig; 11.01.2020, 22:01.

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hi,
    super - die ganzen neuerungen!
    Zitat von jonofe Beitrag anzeigen
    Man könnte ausgeschaltete Wecker auch schon vor der Ausgabe an A19 filtern.
    Das finde ich nicht so gut: nur wenn man die ausgeschalteten ausgibt kann man das "extern detektieren" das er ausgeschaltet wurde, oder?
    Gruß
    Thorsten

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ja, das sollte kein Problem sein. Man könnte ausgeschaltete Wecker auch schon vor der Ausgabe an A19 filtern.

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Also das sieht alles gut aus!
    Bin nach am überlegen welchen guten Workflow ich bauen kann.

    Mal ne Grundsatz frage bzw deine Einschätzung.
    Gibt es eine möglichkeit alle Wecker die den Status "Off" haben mit einem LBS zu löschen?
    Also um "alte Wecker" zu entfernen? Quasi ein "Wecker reset"?
    Wenn ich das direkt mache (E41=delete) dann geht mir der lokale Wecker an Echo flöten ;-)

    Hintergrund ist der logik aufwand hinter A18 oder A19.

    LG



    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi,
    Erstmal vielen Dank!

    Den wechsel zwischen alle und einem an E40 finde ich gut!

    Ja dann teste ich mal

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ich habe jetzt gerade mal eine neue Version 1.12 zum Testen hochgeladen.

    Mit E40=1 bezieht sich A18/A19 auf den gesamten Amazon Account, d.h. an A18 werden neue Wecker/Erinnerungen des gesamten Amazon Accounts ausgegeben. An A19 werden alle existierenden Wecker/Erinnerungen als "plattes" JSON ausgegeben (Details siehe Hilfe).
    Wenn E40>1 ist, dann bezieht sich A18/A19 nur auf das aktuelle Echo Device (wie an E10 angegeben).

    Timer werden aktuell nicht ausgegeben. Wäre aber problemlos machbar. Dies führt allerdings dazu, dass teilweise Einträge in der List stehen, die sonst nirgend mehr auftauchen, da es abgelaufene Timer sind, die nicht mal in der Alexa App erscheinen. Man könnte überlegen, ob man die verschiedenen Alarm-Type (Wecker, Erinnerung, Timer) über einen Eingang konfigurierbar macht.

    Einfach mal testen und Feedback gerne HIER.

    EDIT: Milliseconds sollten auch schon abgeschnitten werden.

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Zitat von jonofe Beitrag anzeigen

    Das Problem was ich da sehe ist, dass dann jede LBS Instanz ständig die Alarme abfragt, obwohl es eigentlich ausreichend wäre, wenn dies einer macht.
    Die Info, an welchem Echo der Alarm gesetzt wurde, geht ja auch nicht verloren (device in der o.g. JSON Struktur). Vermutlich ist es also performanter, die Alarm Funktion nur bei einem LBS zu aktivieren und dann am Ausgang dieses LBS die Logik für alle Alarms zu triggern.
    Das macht natürlich sinn. Aber dann stimmt es nicht mehr das der Control LBS für ein Device ist.
    Mir ist das egal .. als alternative könntes du es natürlich in einen eigenen "Notification All Devices" LBS auslagern



    Zitat von jonofe Beitrag anzeigen
    Du meinst, ob der Alarm gerade am lokalen Device bimmelt? Das glaube ich eher nicht. Wäre ohnehin schwierig das in real-time hinzubekommen, da die gesamte Alarm Funktion nichts ist, was man im Sekundentakt triggern sollte, ansonsten kann die Last schon recht hoch sein, bzw. vorherige Anfragen noch laufen, wenn schon wieder neue gestartet werden. Wofür wäre das überhaupt sinnvoll?



    Das sollte machbar sein.
    Naja Sekundentag müsste es ja nicht sein. Eher 1minuten Taktung.
    Über die die Timerage alarmzeit + 20minuten könnte ich feststellen ob ich wach bin ;-) und ich gesagt habe : "Alexa ..Alarm aus"
    ...also gut .. das muss nicht sein ;-)


    THX

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von trollmar Beitrag anzeigen
    Aus meiner Sicht wäre es sinnvoll das jedes device seine eigenen Alarme hat.
    So kann für das Haus der früheste genommen werden und für das Zimmer der individuelle.
    Das Problem was ich da sehe ist, dass dann jede LBS Instanz ständig die Alarme abfragt, obwohl es eigentlich ausreichend wäre, wenn dies einer macht.
    Die Info, an welchem Echo der Alarm gesetzt wurde, geht ja auch nicht verloren (device in der o.g. JSON Struktur). Vermutlich ist es also performanter, die Alarm Funktion nur bei einem LBS zu aktivieren und dann am Ausgang dieses LBS die Logik für alle Alarms zu triggern.

    Zitat von trollmar Beitrag anzeigen
    Wird es auch möglich sein zu sehen ob es sich um einen wiederholenden Alarm handelt?
    Dazu muss ich mir das RAW JSON mal anschauen, wie das dargestellt wird. Ich denke schon, dass das geht.

    Zitat von trollmar Beitrag anzeigen
    Wäre es auch möglich den aktuelle Zustand am Device abzugreifen?
    Also ob der alarm lokal gerade aktiv ist?
    So könnte man auch den "Alexa alarm aus" Moment abgreifen.
    Du meinst, ob der Alarm gerade am lokalen Device bimmelt? Das glaube ich eher nicht. Wäre ohnehin schwierig das in real-time hinzubekommen, da die gesamte Alarm Funktion nichts ist, was man im Sekundentakt triggern sollte, ansonsten kann die Last schon recht hoch sein, bzw. vorherige Anfragen noch laufen, wenn schon wieder neue gestartet werden. Wofür wäre das überhaupt sinnvoll?

    Zitat von trollmar Beitrag anzeigen
    Es wäre toll wenn die milisekunden (.000 bei der Zeit) direkt entfernt würden.
    Das sollte machbar sein.

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi.

    Noch eine Idee.
    Es wäre toll wenn die milisekunden (.000 bei der Zeit) direkt entfernt würden.
    Das spart doch ggf einen LBS oder?

    LG

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi.
    Super.

    Aus meiner Sicht wäre es sinnvoll das jedes device seine eigenen Alarme hat.
    So kann für das Haus der früheste genommen werden und für das Zimmer der individuelle.

    Wird es auch möglich sein zu sehen ob es sich um einen wiederholenden Alarm handelt?

    Und...
    Wäre es auch möglich den aktuelle Zustand am Device abzugreifen?
    Also ob der alarm lokal gerade aktiv ist?
    So könnte man auch den "Alexa alarm aus" Moment abgreifen.

    LG

    Zuletzt geändert von trollmar; 11.01.2020, 14:00.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Würde es eigentlich Sinn machen, dass jede LBS Instanz nur seine eigenen Alarme ausgibt, d.h. die die auch über das Gerät (Echo Name, E10) gesetzt wurden? Im Moment werden alle Alarme des Amazon Accounts ausgegeben.

    Das RAW Alarm JSON habe ich schon aus A18 rausgenommen, da ansonsten sehr schnell die 10.000 Zeichen iKO Begrenzung von EDOMI erreicht werden. Es werden also nur noch bestimmte Infos ausgegeben. Das lässt sich dann auch einfacher weiterverarbeiten.

    Man wird übrigens jetzt auch Alarme und Erinnerungen unterscheiden können und bei Erinnerungen auch den Erinnerungstext in EDOMI verwenden können.

    Die Struktur würde dann so aussehen:

    "Alexa, stelle Wecker auf 14 Uhr."

    alarm.PNG

    "Alexa, erinnere mich um 15 Uhr ans Einkaufen."

    alarm2.PNG
    Zuletzt geändert von jonofe; 11.01.2020, 13:08.

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Zitat von jonofe Beitrag anzeigen

    Was genau meinst du?
    Eigentlich war das genau das, was die aktuelle Version machen sollte.
    D.h. Wecker über Alexa stellen und dann über E41 entscheiden, ob der Wecker in Alexa direkt deaktiviert/gelöscht wird, so dass du den Wecker nur noch in EDOMI weiterverarbeitest. Ich muss zugeben, ich hab den Link nur überflogen, aber was macht FHEM noch zusätzlich?

    Die Alarms immer komplett auszugeben ist wohl nur ne kleine Anpassung. Ich teste das gerade. Das wird dann mit nem regelmäßigen Trigger von E40 mit 1 möglich sein. Aktuell wird nur ein Update gemacht, wenn neue Alarme hinzugekommen sind und es werden auch nur neue Alarme ausgegeben. Hier sollte dann immer die komplette Liste ausgegeben werden und ein Flag dabei sein, ob es ein neuer Alarm ist. Um dann Alarme über Alexa auch wieder löschen zu können, darf E41 dann nicht auf delete stehen.
    Naja hab den Link auch nur überflogen.
    Las sich aber gut ;-)

    Aber du hast recht. Da wird natürlich viel über fhem befehlsätze geregelt aber im kern auch nur abgefragt.

    Bin auf's Update von dir gespannt. vielen vielen Dank!!!

    Edit:
    Der Vollständigkeit mal den Link zum FHEM Modul.
    https://mwinkler.jimdo.com/smarthome.../#Beschreibung


    LG
    Zuletzt geändert von trollmar; 11.01.2020, 12:57.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von trollmar Beitrag anzeigen
    Habe aber noch was vielversprechendes bei Fhem gefunden.
    http://coldcorner.de/2018/02/10/lich...m-uebernehmen/
    Was genau meinst du?
    Eigentlich war das genau das, was die aktuelle Version machen sollte.
    D.h. Wecker über Alexa stellen und dann über E41 entscheiden, ob der Wecker in Alexa direkt deaktiviert/gelöscht wird, so dass du den Wecker nur noch in EDOMI weiterverarbeitest. Ich muss zugeben, ich hab den Link nur überflogen, aber was macht FHEM noch zusätzlich?

    Die Alarms immer komplett auszugeben ist wohl nur ne kleine Anpassung. Ich teste das gerade. Das wird dann mit nem regelmäßigen Trigger von E40 mit 1 möglich sein. Aktuell wird nur ein Update gemacht, wenn neue Alarme hinzugekommen sind und es werden auch nur neue Alarme ausgegeben. Hier sollte dann immer die komplette Liste ausgegeben werden und ein Flag dabei sein, ob es ein neuer Alarm ist. Um dann Alarme über Alexa auch wieder löschen zu können, darf E41 dann nicht auf delete stehen.

    Einen Kommentar schreiben:


  • trollmar
    antwortet
    Hi,
    im Lötzimmer Script habe ich das auch nichts weiterführendes gefunden.
    Bei IOBroker ist der ersteller des Adapters Alexa2 schon weiter.


    Habe aber noch was vielversprechendes bei Fhem gefunden.
    http://coldcorner.de/2018/02/10/lich...m-uebernehmen/

    Das werde ich heute abend mal ausprobieren.
    Wäre natürlich besser wenn wir das direkt in Edomi hätten.
    Aber zur Not halt via MQTT Edomi <> FHEM

    LG

    Einen Kommentar schreiben:


  • ThorstenGehrig
    antwortet
    Hi
    ich schließe mich hier mal an...und habe die selbe Aufgabenstellung.
    Alexa Control liefert derzeit "nur" einen neu gestellten Wecker aus... ein löschen des Weckers oder einen 2. Wecker bringen das ganze aus dem Tritt.
    Mit IO Broker sieht man immer alle Wecker (auch die ausgeschalteten). Im Prinzip bräuchte man auf Abruf eine Liste mit allen Weckern... dann könnte man das Parsen.

    Leider bin ich zu blöd das auf dem IOBroker zu Parsen - da die Wecker immer eine eigene ID Bekommen.
    Hartwig hat da wohl was am laufen (auf java-script)...

    Gruß
    Thorsten

    Einen Kommentar schreiben:

Lädt...
X