Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Hört sich komlizierter an als es ist... - aber ein Bild sagt mehr als tausend Worte.
Diese Logik liefert als Ergebniss die früheste Weckzeit aus 5 Weckern:
Hi
@Trollmar: ich hab mir mal was gebastelt das dich vielleicht Interessieren könnte.
"skalierbare" Logik die die erste Weckzeit heraussucht.
Eingang: iKO1...5 für die verschiedenen (aktiven) Weckzeiten.
Vorgehensweiße: Baustein 15000000 (Logikberechnung).
Formel an E1: date("H:i:s Y-m-d ", ((($a<$b)*strtotime($a))+(($a>=$b)*strtotime($b))) ) ;
Diese Formel gibt an A1 die frühere Zeit aus. Eingänge sind E4 ($a) und E5 ($b)
Im ersten Baustein gibt man iKO Weckzeit 1 und iKO Weckzeit 2.
Im zweiten Baustein an E4 das Ergebniss vom Vorherigen Baustein, E5 mit Weckzeit 3
Im dritten Baustein an E4 das Ergebniss vom Vorherigen Baustein, E5 mit Weckzeit 4 usw.
Hört sich komlizierter an als es ist... - aber ein Bild sagt mehr als tausend Worte.
Diese Logik liefert als Ergebniss die früheste Weckzeit aus 5 Weckern: weckzeit.png
Ich hoffe es hilft jemanden :-)
Gruß
Thorsten
Zuletzt geändert von ThorstenGehrig; 14.01.2020, 20:53.
Grund: EDIT Formel gefixt für gleiche Zeitstempel
Was passiert denn wenn in deiner Logik ein Wecker auf OFF gestellt wird? Wenn der Filter NICHTS ausgibt bleibt der alte Wert ja vorhanden und die (nicht mehr gültige) Zeit auch...?
@Jonofe: SUUUPER. Ich warte dann mal gespannt und geduldig auf die nächste Version :-)
Das ist mir ehrlich gesagt etwas "too much", denn das ist nicht wirklich trivial.
Wenn mir jemand den Code beistellen will, dann kann ich ihn natürlich gerne einbauen.
Annahme dafür ist, dass in der Variable $notifications ein array aller notifications des Amazon Accounts stehen.
Dann muss die Funktion "nur noch" das array durchlaufen und ein Regelwerk bauen, wie der nächste Alarm bestimmt wird.
Versteh ich!
Wäre es aber nicht möglich das ganze auch "einfacher" zu machen?
Wenn man den nächsten Alarm möchte wäre es folgendes:
Annahme es gibt max 10 Wecker für alle Devices.
Gefiltert mit deinem JSON Filter mit "status:ON"
Jetzt müsste man einen kleinen LBS haben der prüft ob es ein recurringPattern gibt.
Davon gibt es ja wohl 10 stück. Gibt es keinen recurringPattern geht der JSON wieder 1:1 aus dem LBS raus.
Gibt es einen müsste man Anhand des recurringPattern und dem Value "alarmDate" und dem aktuellen Datum das value "alarmDate" modifizieren.
Anschließend würde der modifizierte JSON ausgegeben.
In meiner Logik wird dann aus dem JSON das alarmDate extrahiert und in Epoch gewandelt.
Anschließend werden alle EPOCH zeiten verglichen und das kleinste EPOCH genommen um den nächsten Alarm zu haben.
Hallo, Alexa-Control geht leider immer noch nicht. jonofe : hatte Dich so verstanden, dass der LBS prüft, ob ein Cookie-File vorhanden ist, falls nein, loggt er sich ein und generiert eines.
Ich hab' das File gelöscht und im Log findet sich folgendes:
Log soweit nachvollziehbar, da zwar eine Cookie-Datei erzeugt worden ist, die ist aber leer. Loggt sich wohl nicht ein ...
LBS läuft im Auto-Mode - ein Login auf alexa.amazon.de funktioniert einwandfrei.
An anderer Stelle hattest Du mal die Frage gestellt, ob mit dem gleichen Account auf unterschiedlichen Edomi-Servern gearbeitet wird.
Ich hatte den Zusammenhang bisher nicht gesehen - hatte aber sowas ähnliches am Laufen: aus früheren Zeiten quasi eine Art "Alexa-Control" über OpenHab und dem Alexa-Echo-Control-Binding abgebildet. Mit denselben Amazon-Account-Daten. Der lief jetzt die ganze Zeit quasi leer noch mit (ist aber nicht mehr angetriggert worden. Jetzt habe ich das OpenHab-Binding deaktiviert und gelöscht - seither tut der davor einwandfrei gelaufenen LBS im Edomi nicht mehr mit den oben beschriebenen Symptomen.
Was kann ich denn noch tun, um quasi einen Reset des LBS samt Amazon-Login hinzubekommen?
Dauert trotzdem recht lang.. denk die Abfrage dauert hier einfach insgesamt zu lang. (ca. 5-7 sec)
Deswegen bringt mir das manuelle Update und das runterstellen auf 2 sec. hiern nichts.
Das geht in Code sicherlich viel einfacher als im Logikeditor
Das ist mir ehrlich gesagt etwas "too much", denn das ist nicht wirklich trivial.
Wenn mir jemand den Code beistellen will, dann kann ich ihn natürlich gerne einbauen.
Annahme dafür ist, dass in der Variable $notifications ein array aller notifications des Amazon Accounts stehen.
Dann muss die Funktion "nur noch" das array durchlaufen und ein Regelwerk bauen, wie der nächste Alarm bestimmt wird.
Sagt mal, geht bei euch der Status update (manuell)... ich hab bei mir ein Update Intervall von 10 Sekunden eingestellt.. das reicht normal.
Nur wenn man auf Play/Pause drückt soll der Status sich schneller ändern, damit man in der Visu gleich mitbekommt, das der Befehl umgesetzt
wurde. (da will man ja nicht bis zu 10 sec warten)
Jetzt hab ich das Updateintervall auf 0 gesetzt (wie in der Beschreibung) leider ändert sich nichts. Update findet immer noch zyklisch statt.
Das ist klar, ist ja schon Teil des LBS, nur nicht selektiv ausführbar für eine ID.
Im nächsten Update wird es möglich sein selektiv (IDs) Wecker zu löschen/aktivieren/deaktivieren.
Außerdem wird man dies auch für alle Wecker machen können.
Je nach Wert an E40 werden bezieht sich dass dann auf den aktuellen Echo (E40=2, E10=Echoname) oder auf den gesamten Amazon Account (E40=1).
Hi Jonofe
ich möchte nochmal auf das (manuelle/gezielte) Löschen von Weckern zurückkommen.
Ich könnte entweder gebrauchen das man alle deaktivierten Wecker löscht (eine art Wecker-clean-up) - oder das man Wecker einzeln gezielt löschen kann.
Generell geht das wohl so
Code:
[B]curl 'https://alexa.amazon.de/api/notifications/A4ZP7ZC4PI6TO-G0913L05939104QK-34fd473e-7259-36a2-80f8-5215add60796' -X DELETE ... (der rest wie üblich)[/B]
Wobei der A4ZP.... teil die ID des Weckers ist die man über die JSON Abfrage ja leicht exportieren kann.
Gibts da ne chance das du das irgendwann mit Einbaust?
kurze Zwischenfrage, da mich die neuen Weckerfeatures auch interessieren: Geht der LBS in aktueller Version trotz der Umstellung auf PHP7 auch mit der alten CentOS6 und PHP5 Installation?
Auf CentOS7 + PHP7 kann ich derzeit noch nicht umstellen da der DMX 19000940 Baustein leider mit PHP7 nicht kompatibel ist und der Autor wohl auch nicht mehr hier im Forum unterwegs ist...
Hi
@Trollmar: lass doch einfach die recuring Wecker aus? (oder nutzt du die aktiv und sind ein "must have"?
@Windy75: mal geschaut ob Amazon dir ein captcha vorschaltet wenn du dich (im Web-Interface alexa.amazon.com) anmeldest?
Gruß
Thorsten
... sorry, hatte ich vergessen zu erwähnen - einloggen bei Amazon direkt funktioniert prima ...
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Einen Kommentar schreiben: