AndFhem Tasker Plugin - Variablenübergabe

Begonnen von siggi85, 29 April 2014, 18:47:22

Vorheriges Thema - Nächstes Thema

siggi85

Hallo,
kann man Tasker Variablen an das Fhem Kommando weiterleiten, wie zB set talkdummy "$VOICE" ?
Und kann man umgehkehrt eine Ausgabe bei der Abfrage eines Readings in eine Variable schreiben lassen welche danach von Tasker genutzt werden kann? Dies kann für IF Abfragen oder TTS Output genutzt werden.

Eine Variablenabfrage habe ich nach Inspiration hier im Forum bereits über HTTP GET und zurechtcutten der HTML Seite zusammengebaut, aber eine direkte Lösung über das AndFhem Tasker Plugin wäre wesentlich eleganter.

Falls dies noch nicht möglich ist, würde ich das gerne als Vorschlag für eine neue AndFhem Version betrachten lassen.  :)

Shoddy

Da schließe ich mich direkt an! Wäre ein Traum, wenn das möglich wäre, dann müsste ich nicht jede Menge einzelne Tasks basteln, um meinen Wecker zu stellen ;-)
FHEM auf Raspi 3
FS20, FHT, HMS

Matthias

Hi,

ich habe das mal versucht umzusetzen - ich habe gerade kein Tasker hier, deswegen kann ich es nicht ausprobieren. Implementiert ist es aber nach Doku (http://tasker.dinglisch.net/plugins.html) - es _sollte_ also funktionieren. Vorsicht: Das funktioniert wirklich _nur_ mit Tasker und nicht mit Locale oder Llama.

Issue Link: https://github.com/klassm/andFHEM/issues/677

Vielleicht könnt ihr dann kurz Rückmeldung geben ob es funktioniert.

Matthias

siggi85

Also bei mir scheint es leider nicht zu laufen. Ich habe folgenden kurzen Tasker Task gebaut:

1. Variable %TEST setzen zu "Das ist ein Test"
2. AndFHEM Kommando "set talkdummy %TEST"
3. Popupbenachrichtigung "%TEST"

In der Popupbenachrichtigung kommt der Text "Das ist ein Test", meine Squeezelite Raspberry sagt aber nur "Prozent Test".

Den talkdummy spreche ich in anderen Tasks an und das funktioniert. Bisher aber halt nur mit statischen Textnachrichten.

EDIT: Update habe ich natürlich vorher Update über den Playstore gemacht, ca 10 Minuten her.   ;)

Matthias

Tja die schöne Welt der Anleitungen. Ich hab mal bei Tasker nachgefragt was man denn tun muss damit das funktioniert....

Matthias

siggi85

Alles klar. Danke für dein Engagement! :)

siggi85

Hey Matthias,

gibt es schon Neuigkeiten seitens Tasker? :)

Gruß
Siggi

Matthias

Jap ich habe die vermeintliche Lösung - ich brauche nur noch Zeit ;-)

siggi85

Zitat von: Matthias am 12 Mai 2014, 18:47:19
Jap ich habe die vermeintliche Lösung - ich brauche nur noch Zeit ;-)

Hört sich gut an. :)

Matthias

#9
Noch viel besser hört sich an, dass die Variablenersetzung funktioniert :-). Ich habe gerade eine %STATE Variable in einem Kommando ersetzen lassen.

Matthias

Edit: Update ist raus. Viel Spaß beim Ausprobieren!

siggi85

Ich habe das am Wochende probiert, hat bei mir erst nach einem Handyneustart funktioniert (wahrscheinlich hat der Tasker Hintergrunddienst das Update net gleich mitbekommen).
Vielen Dank für das Integrieren dieser Funktion!!! Habe mir daher gleich die Vollversion gekauft.  8) ;)

Ich will ja nicht undankbar wirken  ::), aber ist es denn nun auch möglich den Output eines Befehls (bzw Readings) in eine Tasker Variable zu schreiben?

Zitat von: siggi85 am 29 April 2014, 18:47:22
kann man Tasker Variablen an das Fhem Kommando weiterleiten, wie zB set talkdummy "$VOICE" ?
Und kann man umgehkehrt eine Ausgabe bei der Abfrage eines Readings in eine Variable schreiben lassen welche danach von Tasker genutzt werden kann?

Steffen

Zitat von: Matthias am 17 Mai 2014, 10:30:52
Noch viel besser hört sich an, dass die Variablenersetzung funktioniert :-). Ich habe gerade eine %STATE Variable in einem Kommando ersetzen lassen.

Matthias

Edit: Update ist raus. Viel Spaß beim Ausprobieren!

Hallo!

Könnnte man vielleicht kurz erklären wo man das "%STATE" setzt, steige da irgendwie nicht so hinter?!

Mfg Steffen

siggi85

Zitat von: siggi85 am 03 Mai 2014, 16:58:31
1. Variable %TEST setzen zu "Das ist ein Test"
2. AndFHEM Kommando "set talkdummy %TEST"
3. Popupbenachrichtigung "%TEST"

Hallo Steffen,

hier ein Beispiel womit ich es getestet habe, damit sollte die bisherige Funktion klarer sein. :) Du kannst alles als Variable setzen was du magst oder eine der vordefinierten von Tasker nehmen.

Matthias

Hi,

zum Thema Readings in Variablen schreiben. Soweit ich das sehe ist das nicht von Tasker / Locale vorgesehen. Was aber funktioniert ist einen Task auslösen wenn ein Gerät einen bestimmten Status besitzt.

Matthias

Shoddy

Zitat von: Matthias am 24 Mai 2014, 16:20:53
Hi,

zum Thema Readings in Variablen schreiben. Soweit ich das sehe ist das nicht von Tasker / Locale vorgesehen. Was aber funktioniert ist einen Task auslösen wenn ein Gerät einen bestimmten Status besitzt.

Matthias

Dazu hätte ich ja mal ne Frage:

Bin schon länger auf der Suche nach der Ursache dafür, dass die Kommunikation zwischen Tasker und andFHEM eher schleppend läuft. Heißt, dass andFHEM per gcm einen Status übermittelt bekommt und dies auch anzeigt, das Profil bei Tasker, das aufgrund dieser Zustandsänderung einen Task auslösen soll, liegt aber scheinbar noch in der Ecke und bekommt nichts mit. Und das auch manchmal noch nach Stunden.

Funktioniert das bei Euch so, wie vorgesehen? Oder hat jemand eine Idee, woran es liegen könnte? Habe schon ne Menge probiert, aber keine Verbesserung..

Ich weiß, dass die Frage eigentlich nicht zum Threadthema gehört, aber vielleicht gibt es ja eine kurze Lösung, die uns einen neuen Thread erspart...


Grüße!
FHEM auf Raspi 3
FS20, FHT, HMS

Matthias

Hi,

naja ich weiß nicht wie Tasker das implementiert hat. Im Endeffekt muss Tasker in regelmäßigen Zeitabständen abfragen - da kann schon Zeit verloren gehen. Jedenfalls ist es so, dass Tasker Status-Updates abholen muss und diese nicht "zugeschickt" bekommt.

Matthias

Shoddy

Zitat von: Matthias am 27 Mai 2014, 17:59:03
Hi,

naja ich weiß nicht wie Tasker das implementiert hat. Im Endeffekt muss Tasker in regelmäßigen Zeitabständen abfragen - da kann schon Zeit verloren gehen. Jedenfalls ist es so, dass Tasker Status-Updates abholen muss und diese nicht "zugeschickt" bekommt.

Matthias

Hmm, aber das mit den Zeitabständen haut irgendwie auch nicht hin, da ich bei der Übergabe schon extrem unterschiedliche Zeiträume hatte (von Millisekunden bis hin zu mehreren Stunden). Was die Abstände beeinflusst hat, ist denke ich die Nutzung beider Apps (oder nur die Nutzung von Tasker??). Heißt, wenn ich kurz nach Änderungen eines Status Tasker und andFHEM öffne, bekommt Tasker die Änderung auch mit. Manchmal  ???. Das einfache Deaktivieren und anschließende Aktivieren des jeweiligen Profils führt z.B. nicht zum gewünschten Ergebnis.

Ich denke ich wühle noch mal ein bisschen im Tasker-Forum...
FHEM auf Raspi 3
FS20, FHT, HMS

siggi85

Zitat von: Matthias am 24 Mai 2014, 16:20:53
Hi,

zum Thema Readings in Variablen schreiben. Soweit ich das sehe ist das nicht von Tasker / Locale vorgesehen. Was aber funktioniert ist einen Task auslösen wenn ein Gerät einen bestimmten Status besitzt.

Matthias

Das Thema ist bei mir irgendwie untergegangen. Da ich momentan wieder Anwendungsbedarf hätte, habe ich mich wieder erinnert. :P

Also an den Wert eines Readings kommt man zum Beispiel über ein Tasker GET Richtung FHEM und einigen Splits der der %HTTPD Variable. Allerdings wäre eine elegantere und einfachere Lösung wünschenswert. Eine Art AndFHEM Tasker Plugin in der ich folgende Werte eintragen kann: AndFHEM Verbindung, zu füllende Variable, Device, zugehöriges Reading.

Ich bin natürlich nicht so in der Materie wie du, aber ist das wirklich nicht möglich?

Beispiele für Anwendungsfälle:
Vorlesen von aktuellen Werten übers Smartphone oder Anzeige von Werten in eigenen Tasker Szenen. (Raumtemperatur, letzte Abgespielte Serie, Wetterdaten, ...).
Beim Ausführen eines Tasker Tasks abhängig von bestimmten Werten sein (if Frau present then Love Song Else hiphop :P) etc.

hillbicks

Genau, entweder per HTTP GET und dann solange zurueck stueckeln bis Du den gewuenschten Wert hast, oder den eleganteren Weg ueber GCM. Per GCM den Statuswechsel an das Android Geraet schicken und dann im Android Geraet als Event intent received waehlen und dann den entsprechenden Task auswaehlen. Im Task hast Du dann Zugriff auf die Variablen DEVICE_NAME, STATENAME und STATEVALUE.

Ich habe damit z.B. ein Widget gebaut das mir Temperatur und Luftfeuchtigkeit anzeigt, ich sehe zu das ich dazu am Wochenende mal eine Anleitung schreibe.

Hier koennt ihr euch schonmal vorab die notwendigen Infos holen. (Broadcast receiver)
http://andfhem.klass.li/external_interfaces.html

siggi85

Dann muss ich also alle Readings die mich interessieren in FHEM so einstellen, dass jede Änderung über GCM an mein Android Device gesendet wird. Die jeweiligen Werte Speicher ich bei jedem Event in Tasker Variablen auf die ich dann jederzeit Zugriff habe. Ich habe mir zwar eine dynamischere Abfrage, also ohne Vorkonfiguration in FHEM, vorgestellt, aber das ist schon mal wesentlich eleganter als HTTP GET. :)
Dafür habe ich dann sogar ohne VPN unterwegs meine relevanten Informationen beisammen, da GCM ja wie Pushover übers Internet funktioniert. Danke für die Infos. :)

f.f

Ich schiebe das noch mal hoch.

stehe vor dem selben Problem. Ich bräuchte FHEM Device Werte irgendwie in Tasker um sie dann via Autowear an die Smartwatch schicken zu können. Hat jemand eine Idee?

Gruss

Shoddy

Ich hole mir meine Werte über einen Umweg:

via Pushover lasse ich mir mittels notify die Werte bei Änderung (oder via at, wenn regelmäßige Abstände gewünscht sind) ans Smartphone senden.

Ein Profil bei Tasker reagiert dann via Pushoverplugin auf den entsprechenden Titel. Der übergebene Nachrichtentext (%pushovermessage) kann dann via "Variable setzen" in einer eigenen Variable abgelegt werden, mit der man dann arbeiten kann.

Weil dann noch die Pushovernachricht rumgeistert, wird diese direkt via AutoNotification gecancelt.

Wenn du das detaillierter brauchst, sag bescheid, dann exportiere ich dir mal was aus Tasker...
FHEM auf Raspi 3
FS20, FHT, HMS