AMAD goes Tasker

Begonnen von Schlimbo, 16 Dezember 2017, 22:08:42

Vorheriges Thema - Nächstes Thema

Schlimbo

Hi,
ein Beispiel ist im Projekt bereits enthalten, schau dir mal den Task "AMAD_Beispiel_Set" an. ;)

Damit die set Befehle in FHEM direkt ausgeführt werden muss zudem im AMADCommBridge Device das Attribut "fhemControlMode" auf "setControl" gesetzt werden.

Gruß Schlimbo

AET_FHEM

 ::) klappt super danke!!

=> in Automagic nutze ich auch manchmal HTTP Request GET --> um einen status in fhem zu schreiben wenn ich nicht im WLan bin gibt's dafür auch an beispiel?

Schlimbo

Meinst du damit einen von AMAD unabhängig HTTP Befehl?
Wie machst du das in Automagic wenn du nicht im WLAN bist? Ist dein FHEM von außen erreichbar?

Hatte für Tasker hierzu mal was geschrieben:
https://forum.fhem.de/index.php/topic,74441.0.html

AET_FHEM

#303
Danke für das Modul funktioniert super, hab da nur noch an kleines Problem
=> ich stell meinen Wecker mit dem Handy  und die Auswertung passt nur beim ersten mal -> zB Mo 7:30 => das wird aber in nextAlarmDay komplett geschrieben als eine Zeile!
danach wird die aktuelle Uhrzeit und Tag ausgewertet und leider blick ich das nicht mit dem Java und getString --> an dem muss das irgendwie liegen denk ich...? kann das sein?

Handy = Huawei mit Android 9

das passt vom inhalt her
nextAlarmDay: Mo. 07:30

und dann kurze Zeit später richtig aufgeteilt aber die jetzige Uhrzeit und Tag
nextAlarmDay: Sa
nextAlarmTime: 08:21


nextAlarmTime: 09:05
nextAlarmTime: 09:07
nextAlarmTime: 09:09
usw....

Schlimbo

#304
Das ist wirklich etwas seltsam, die Java Funktion liefer den Alarmwert eigentlich im Format "Mo., 07:30" zurück, bei dir fehlt hier das Komma, desswegen funktioniert die splitt Funktion danach nicht und der String landet komplett in nextAlarmDay.
Bitte teste mal die angehängte Version, habe hierfür ein fix eingebaut.

Warum dann anschließend aber die aktuelle Uhrzeit im Reading landet kann ich mir nicht erklären.

@alle:
Interessant wäre für mich, ob dies bei anderen auch auftritt.
In der angehängten Version gibt es auch ein neues Reading "deviceModel". Für alle bei denen das Problem besteht, gebt mir bitte den Inhalt des Readings.

PS: Bitte auch noch mal im Profil "AMAD_alarm" kontrollieren ob die Uhr App richtig erkannt wurde, wenn der Eintrag hier rot ist bitte die Uhr App noch mal neu auswählen.

Gruß Schlimbo

ChrisW

woran liegt es das auf einmal kein Whatsapp mehr übermittelt wird?
Hab fhem gewechselt AMAD Task gestartet angepasst. Alles klappt aber Telegram / Whatsapp fehlen
Raspberry PI3 mit allem möglichen.

Schlimbo

#306
Da würde wohl etwas in Tasker geändert. Bitte mal die angehängte Version testen.

AET_FHEM

Hey, nee geht immer noch nicht, immer noch das selbe auch an einem nem zweiten Gerät => Samsung Tab

Schlimbo

Geb mir bitte mal den Eventmonitor Mitschnitt, wenn du einen Wecker stellst.

AET_FHEM

#309
2019-10-09 21:35:41 AMADDevice SAMSUNG_SM_T590 screen: on locked
2019-10-09 21:35:44 AMADDevice SAMSUNG_SM_T590 screen: on unlocked
2019-10-09 21:35:58 AMADDevice SAMSUNG_SM_T590 nextAlarmTime: 21:36
2019-10-09 21:36:13 AMADDevice SAMSUNG_SM_T590 nextAlarmTime: 21:37


=> gestellt habe ich die Uhr auf 5:25 Mo - Fr

Schlimbo

Das heißt also der erste Eintrag, wo alles in nextAlarmDay war taucht gar nicht mehr auf?
Hast du das auch kontrolliert.
Zitat von: Schlimbo am 05 Oktober 2019, 16:59:01
Bitte auch noch mal im Profil "AMAD_alarm" kontrollieren ob die Uhr App richtig erkannt wurde, wenn der Eintrag hier rot ist bitte die Uhr App noch mal neu auswählen.

Habe es gerade auch noch mal mit einem Huawei Mate 9 (Android 9) getestet und konnte den Fehler nicht nachstellen, hier klappt alles wie es soll.

Bitte geh in Tasker mal selber etwas auf Forschung, im Task "AMAD_getAlarm" evtl. mal ein flash einfügen das dir den Inhalt der Variable %alarm anzeigt.
Laut deinem ersten Eintrag kam ja hier mal die richtige Weckzeit an "Mo. 07:30" an. Wenn es hier wirklich so ist, dass die Weckzeit immer ohne Komma ankommt und normale Uhrzeiten mit Komma getrennt, könntest du die normale Uhrzeit evtl. mit einer IF Bedingung herausfiltern.

AET_FHEM

hab bei AMAD_getAlarm ein flash eingefügt das zeigt immer heute und eine Minute plus an zb => Do ., 16:23 // auf meiner Handy Uhr steht 16:22

auf beiden Versionen das selbe => flowsetVersionAtDevice 4.4.2c (Tasker) und 4.4.2 (Tasker)
Wecker hab ich kontrolliert ist Grün hab jetzt auch schon andere Wecker apps getestet => das selbe!

Auch wenn ich alle Wecker lösche kommt das Pop-up Tag Heute + eine Minute .....
wenn ich es aber umstelle und dann innerhalb der Minute auf AMAD_alarm --> ausführe oder die App wechsle zeigt er mir die richtige Zeit an aber ohne ,  quasi --> Sa. 07:00
--> es geht an FHEM --> nextAlarmDay Sa. 07:00
und eine minute später => nextAlarmDay Do
=> eine Minute später kommt wieder Tag Heute, Zeit + eine Minute .....
wie muss ich das anstellen um das mit dem Komma zu filtern?

--> hat das Problem sonst keiner?

Schlimbo

#312
Hallo AET_FHEM,
danke für's weiter forschen, bis jetzt bist du der einzige mit diesem Problem. Wie oben schon geschrieben, wäre es gut wenn ich hier auch von anderen ein Feedback bekommen würde, ob und wenn ja, bei welchen Geräten das Problem besteht. Nutzt du evtl. ein spezielles Custom-Rom?

Zitat von: AET_FHEM am 10 Oktober 2019, 17:47:43
wie muss ich das anstellen um das mit dem Komma zu filtern?
Einfach nach der Java Funktion ein "stop If %alarm ~R ," einfügen (sieht Screenshot).

Leider wird das Auslesen der Weckzeit in Tasker nicht nativ unterstützt, desshalb das workaround mit der Java Funktion.
Bin allerdings auch kein Java Experte und es könnte durchaus sein, dass die Funktion nicht optimal ist und nicht bei allen Geräten funktioniert, wenn hier also ein Java Experte ist der eine bessere Funktion zum Auslesen kennt, wäre ich für Unterstützung sehr dankbar.
Es gibt vom Tasker Entwickler auch eine Tasker Plugin "AutoAlarm"
https://play.google.com/store/apps/details?id=com.joaomgcd.autoalarm
das extra zum Auslesen des Weckers erstellt wurde, ich wollte zwar (so weit möglich) auf externe Apps verzichten, aber evtl. ist das ja eine Lösung für dich.

Anbei eine neue Version:
Wenn AutoAlarm installiert ist wird zum Auslesen der Weckzeit AutoAlarm verwendet, wenn es nicht installiert ist wird weiterhin die Ursprüngliche Java Funktion verwendet.

AET_FHEM

=> danke werde ich testen und berichten --> finde ich auch gut je weniger Plugins desto besser!

-> hab kein Custom-Rom
Huawei Mate 10 pro
EMUI-Version 9.1.0.300
Android 9

AET_FHEM

=> funktioniert wunderbar ohne zusätzlichem plugin --> mit dem Stopp wenn %alarm ~R ,

--> Danke