Einfach mal die Hilfe zum JSON Extractor (19001208) anschauen.
Arrays werden mit Zahlen extrahiert: 1, 2, 3, ...
Ankündigung
Einklappen
Keine Ankündigung bisher.
LBS19000809 - Alexa Control
Einklappen
X
-
Version 1.12 scheint zu laufen - ich kriege 3 Wecker (derzeit alle aus) auf A20 ausgegeben.
Aber: wie parse ich die denn?
Fehlt da nicht sowas die ein Label für Wecker1/2/3 (also für die einzelnen Einträge im Haupt-Array)?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}]
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:
-
Hi,
super - die ganzen neuerungen!
Das finde ich nicht so gut: nur wenn man die ausgeschalteten ausgibt kann man das "extern detektieren" das er ausgeschaltet wurde, oder?Zitat von jonofe Beitrag anzeigenMan könnte ausgeschaltete Wecker auch schon vor der Ausgabe an A19 filtern.
Gruß
Thorsten
Einen Kommentar schreiben:
-
Ja, das sollte kein Problem sein. Man könnte ausgeschaltete Wecker auch schon vor der Ausgabe an A19 filtern.
Einen Kommentar schreiben:
-
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:
-
Hi,
Erstmal vielen Dank!
Den wechsel zwischen alle und einem an E40 finde ich gut!
Ja dann teste ich mal
Einen Kommentar schreiben:
-
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:
-
Das macht natürlich sinn. Aber dann stimmt es nicht mehr das der Control LBS für ein Device ist.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.
Mir ist das egal .. als alternative könntes du es natürlich in einen eigenen "Notification All Devices" LBS auslagern
Naja Sekundentag müsste es ja nicht sein. Eher 1minuten Taktung.Zitat von jonofe Beitrag anzeigenDu 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.
Ü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:
-
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.Zitat von trollmar Beitrag anzeigenAus 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.
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.
Dazu muss ich mir das RAW JSON mal anschauen, wie das dargestellt wird. Ich denke schon, dass das geht.Zitat von trollmar Beitrag anzeigenWird es auch möglich sein zu sehen ob es sich um einen wiederholenden Alarm handelt?
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 anzeigenWä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.
Das sollte machbar sein.Zitat von trollmar Beitrag anzeigenEs wäre toll wenn die milisekunden (.000 bei der Zeit) direkt entfernt würden.
Einen Kommentar schreiben:
-
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:
-
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:
-
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.PNGZuletzt geändert von jonofe; 11.01.2020, 13:08.
Einen Kommentar schreiben:
-
Naja hab den Link auch nur überflogen.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.
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
LGZuletzt geändert von trollmar; 11.01.2020, 12:57.
Einen Kommentar schreiben:
-
Was genau meinst du?Zitat von trollmar Beitrag anzeigenHabe aber noch was vielversprechendes bei Fhem gefunden.
http://coldcorner.de/2018/02/10/lich...m-uebernehmen/
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:
-
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:


Einen Kommentar schreiben: