FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: bern am 25 Juni 2015, 14:39:05

Titel: Fhem zu Tasker
Beitrag von: bern am 25 Juni 2015, 14:39:05
Hallo,

Fhem ist noch relativ neu für mich. Ich habe bisher mein bescheidene Automation mit Tasker und Eventghost lösen können, leider hört der Spass dann auf wenn man Funksteckdosen einbinden will.
Für das übertragen von Tasker zu Fhem gibt es ja das nette Plugin von andFHEM aber wie kann man Signal von Fhem zu Tasker (alternativ auch über den Umweg Eventhgost) übertragen?
Ich möchte zum Beispiel das Signal eines 433 MHZ Bewegungsmelder zu Android übertragen damit Tasker das Display automatisch einschaltet wenn der Bewegungsmelder auslöst?

Viele Grüße
Titel: Antw:Fhem zu Tasker
Beitrag von: pula am 26 Juni 2015, 08:20:02
Hallo,

ich hab es selber noch nicht gemacht, aber ich denke, daß hier pushover-notifications ein gangbarer weg wären.

schau mal hier:
http://www.meintechblog.de/2014/01/homematic-funk-steckdose-mit-leistungsmessung-deine-waschmaschine-ist-fertig/

cheers,

Pula
Titel: Antw:Fhem zu Tasker
Beitrag von: marvin78 am 26 Juni 2015, 09:02:34
Kein Tasker, funktioniert aber:

https://play.google.com/store/apps/details?id=at.asp1.woli&hl=de (https://play.google.com/store/apps/details?id=at.asp1.woli&hl=de)

Und mit einer ähnlichen Funktion, wie dieser, eine UDP-Message schicken:

sub UDP_Msg($$)
{
my ($dest,$cmd)  = @_;
my $sock = IO::Socket::INET->new(
    Proto    => 'udp',
    PeerPort => 6666,
    PeerAddr => $dest
) or die "Could not create socket: $!\n";
$sock->send($cmd) or die "Send error: $!\n";
return "send $cmd";
}
Titel: Antw:Fhem zu Tasker
Beitrag von: Kuzl am 26 Juni 2015, 12:36:03
mit Tasker gehts auch, wie pula gesagt hat.
Man kann mit andfhem und gcm eine Notification senden lassen, auf die dann Tasker reagieren kann.
Titel: Antw:Fhem zu Tasker
Beitrag von: bern am 26 Juni 2015, 16:43:25
Vielen lieben Dank für die Lösungsvorschläge. Das bringt mich schon mal ein ganzes Stück weiter.
Titel: Antw:Fhem zu Tasker
Beitrag von: Brockmann am 26 Juni 2015, 18:01:08
Nur noch als Ergänzung:
Es gibt für Tasker das Plugin Autoremote. Damit kann man Nachrichten versenden und empfangen. Von FHEM aus geht das Versenden von Nachrichten beispielsweise einfach mit einem Systemaufruf von curl.
Der Unterschied (und meiner Meinung nach Vorteil) im Vergleich zu GCM-basierten Lösungen ist, dass man Autoremote auch direkt über das lokale Netzwerk nutzen kann. Dabei macht das Plugin auf dem Android-Gerät einen lokalen Server auf, der auf eingehende Daten wartet. Geht also ohne Internetverbindung, die Daten bleiben lokal und kommen meiner Erfahrung nach deutlich schneller und zuverlässiger an als bei GCM, Pushover & Co.. Ich habe das so schon länger im produktiven Einsatz und sehr gute Erfahrungen damit gemacht (FHEM steuert darüber zwei Android-Tablets im Haus sowie mein Smartphone zuhause und unterwegs an). Und da es als Plugin direkt in Tasker integriert ist, hat man sehr flexible Nutzungsmöglichkeiten.
Titel: Antw:Fhem zu Tasker
Beitrag von: pula am 26 Juni 2015, 20:14:06
Autoremote klingt spannend. wäre auch eine möglichkeit, per android commands auf einer linux-maschine auszuführen. zb vdr zu killen, wenn es sich aufgehängt hat...
würde den WAF definitiv erhöhen  :D
Titel: Antw:Fhem zu Tasker
Beitrag von: LeoSum am 08 März 2016, 07:29:53
Zitat von: Brockmann am 26 Juni 2015, 18:01:08
Es gibt für Tasker das Plugin Autoremote. Damit kann man Nachrichten versenden und empfangen. Von FHEM aus geht das Versenden von Nachrichten beispielsweise einfach mit einem Systemaufruf von curl.
Der Unterschied (und meiner Meinung nach Vorteil) im Vergleich zu GCM-basierten Lösungen ist, dass man Autoremote auch direkt über das lokale Netzwerk nutzen kann. Dabei macht das Plugin auf dem Android-Gerät einen lokalen Server auf, der auf eingehende Daten wartet. Geht also ohne Internetverbindung, die Daten bleiben lokal und kommen meiner Erfahrung nach deutlich schneller und zuverlässiger an als bei GCM, Pushover & Co.. Ich habe das so schon länger im produktiven Einsatz und sehr gute Erfahrungen damit gemacht (FHEM steuert darüber zwei Android-Tablets im Haus sowie mein Smartphone zuhause und unterwegs an). Und da es als Plugin direkt in Tasker integriert ist, hat man sehr flexible Nutzungsmöglichkeiten.

Hallo Brockmann, ich versuche momentan auch die Kommunikation von FHEM nach Android hinzubekommen.  Leider scheint mir die lokale Autoremote Schnittstelle nicht gut dokumentiert zu sein. Kannst du vielleicht mal ein Beispiel possten welche Aktionen FHEM bei dir absetzt und wie die Tasker Profile/Tasks aussehen, die darauf reagieren? Ich tue mich schwer die curl Befehle richtig zu formulieren.

Danke und Gruß
Leo
Titel: Antw:Fhem zu Tasker
Beitrag von: Brockmann am 08 März 2016, 09:06:20
Zitat von: LeoSum am 08 März 2016, 07:29:53
Hallo Brockmann, ich versuche momentan auch die Kommunikation von FHEM nach Android hinzubekommen.  Leider scheint mir die lokale Autoremote Schnittstelle nicht gut dokumentiert zu sein. Kannst du vielleicht mal ein Beispiel possten welche Aktionen FHEM bei dir absetzt und wie die Tasker Profile/Tasks aussehen, die darauf reagieren? Ich tue mich schwer die curl Befehle richtig zu formulieren.

{system("curl -silent -X POST -d '{message:\"".<NACHRICHT>."\",sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}}

<NACHRICHT> und <GERÄT> durch passende Daten ersetzen und die Portnummer ggf. anpassen.
Titel: Antw:Fhem zu Tasker
Beitrag von: LeoSum am 12 März 2016, 19:01:57
Danke, mit leichter Abänderung hat es bei mir nun geklappt!

{system("curl -silent -X POST -d '{message:'<NACHRICHT>',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 12 März 2016, 21:05:00
Für die Verbindung von FHEM zu Android gibt es auch das AMAD Modul.



Grüße
Titel: Antw:Fhem zu Tasker
Beitrag von: LeoSum am 14 März 2016, 08:23:48
Danke für den Hinweis, das hatte ich mir auch angesehen. Aber leider ist das nicht so mächtig wie Tasker mit all seinen Zusatzplugins.
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 14 März 2016, 08:29:56
Automagic kann auch Taskerplugins. Und dann wäre noch die Frage, welche Plugins von den "all seinen" brauchst Du denn?


Grüße
Titel: Antw:Fhem zu Tasker
Beitrag von: zelli001 am 17 Februar 2017, 21:46:30
Hallo,  fhem gibt es doch auch direkt als Event plugin... Funktioniert nur leider irgendwie nicht

Gesendet von meinem SM-G935F mit Tapatalk

Titel: Antw:Fhem zu Tasker
Beitrag von: Banis am 06 März 2017, 12:19:24
Zitat von: LeoSum am 12 März 2016, 19:01:57
Danke, mit leichter Abänderung hat es bei mir nun geklappt!

{system("curl -silent -X POST -d '{message:'<NACHRICHT>',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}

Hallo zusammen,

ich versuche nun auch schon eine ganze Weile so eine Benachrichtigung von FHEM an Tasker zu senden. Leider hat dies bisher bei mir nicht funktioniert.

Bin wie folgt vorgegangen: Den oben dargestellten Befehl hab ich auf meine Bedigungen angepasst
{system("curl -silent -X POST -d '{message:'hi',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' 192.168.0.11:1817 --header Content-Type:application/json > /dev/null &")}

und zum Test in die Befehlszeile von FHEM eingegeben. Dort hab ich dann nur folgende Rückmeldung erhalten: -1

Auf dem Tabelt ist leider nichts angekommen. Autoremote und Tasker sind natürlich installiert und eingerichtet. Muss hier evtl noch etwas spezielles beachtet werden?

Titel: Antw:Fhem zu Tasker
Beitrag von: Brockmann am 06 März 2017, 16:36:54
Zitat von: Banis am 06 März 2017, 12:19:24
Auf dem Tabelt ist leider nichts angekommen. Autoremote und Tasker sind natürlich installiert und eingerichtet. Muss hier evtl noch etwas spezielles beachtet werden?
Was genau heißt "eingerichtet"? Ist der Autoremote-Wife-Service durch Tasker gestartet? Erst dann geht Autoremote "auf Empfang".
Titel: Antw:Fhem zu Tasker
Beitrag von: Banis am 07 März 2017, 14:14:37
Super vielen Dank für den Hinweis, jetzt klappt es
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 16:27:53
Hallo,

ich versuche gerade eine Verbindung von FHEM zum Android tablet mit Tasker und Autoremote herzustellen. Leider erfolglos.

{system("curl -silent -X POST -d '{message:'<NACHRICHT>',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}

Ich bekomme aus der Befehlszeile immer -1 zurück!

Im Logfile steh "Device is not available."

Wo kann der Fehler liegen?
ZitatWas genau heißt "eingerichtet"? Ist der Autoremote-Wife-Service durch Tasker gestartet? Erst dann geht Autoremote "auf Empfang".

wo genau kann man das einstellen?

Nachrichten aus von der Internetseite können verschickt werden: http://autoremotejoaomgcd.appspot.com/ diese Nachrichten werden von Autoremote und Tasker verarbeitet !??

Danke für eure Hilfe
Besten Gruß Dominik
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 16:49:09
Zitat von: Clockwork am 16 Mai 2017, 16:27:53
Hallo,

ich versuche gerade eine Verbindung von FHEM zum Android tablet mit Tasker und Autoremote herzustellen. Leider erfolglos.

{system("curl -silent -X POST -d '{message:'<NACHRICHT>',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}

Ich bekomme aus der Befehlszeile immer -1 zurück!

Im Logfile steh "Device is not available."

Wo kann der Fehler liegen?
wo genau kann man das einstellen?

Nachrichten aus von der Internetseite können verschickt werden: http://autoremotejoaomgcd.appspot.com/ diese Nachrichten werden von Autoremote und Tasker verarbeitet !??

Danke für eure Hilfe
Besten Gruß Dominik

Schaue Dir mal das AMAD Modul an. Da kannst Du Dein Androiden mit steuern und bekommst diverse Zustandsinformationen als Readings.
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 16:58:58
Hallo,

aber ich möchte eigentlich "nur" Tasker aus FHEM ansteuern....

Beste Gruß
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 17:01:48
Ach so. Ok
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 17:06:22
Wäre echt super wenn mir dabei jemand kurz helfen könnte
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 17:09:53
qx statt system
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 17:17:52
funktioniert leider auch nicht. Muss ich irgendwas aktivieren das ich vom fhem server über das lokale netzwer an die den Autoremote Server was schicken kann?
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 17:20:37
Was genau soll Dein Aufruf denn machen? Ich hatte es so verstanden das Du einen Rückgabewert erwartest.
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 17:28:47
es soll eigentlich nur das gesendete bei tasker ankommen. Ich weiss nicht was ich bei Tasker oder bei Autoremote noch einstellen muss. Muss ich den Raspberry irgendwo registrieren? Über das Internet empfängt Taske die Nachricht. über <IP>:1817 im Netzwerk nicht
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 17:31:18
Ah, ok. Da kann ich dann leider auch nicht helfen.
Was bekommst du denn wenn du den curl Aufruf in der bash abschickst?
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 18:14:44
In der Bash kommt folgendes:


pi@raspberrypi:~ $ curl -X POST -d '{message:'hi',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' 192.168.157.30:1817 --header Content-Type:application/json > /dev/null
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to 192.168.157.30 port 1817: Connection refused


Irgendwie kann keine Verbindung zum Tablet aufgebaut werden
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 18:17:30
Entweder Firewall oder es läuft kein Dienst hinter dem Port.
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 18:19:59
Ich habe auch nirgendwo gefunden wo ich den port am tablet/tasker autoremote freischalten kann. Firewall hab ich nicht
Titel: Antw:Fhem zu Tasker
Beitrag von: CoolTux am 16 Mai 2017, 18:24:51
Also wenn schaltest Du da keinen Port frei sondern hinter dem Port muss ein entsprechender Dienst laufen.
Kenne Radler und Autoremote aber nicht.
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 18:29:12
Ja und diesen Dienst muss ich wohl irgendwie freischalten !? Ich finde leider nichts darüber, aber bei allen andere scheint das ja zu laufen !? Vielleicht kann sich da ja mal jemand zu melden.
Titel: Antw:Fhem zu Tasker
Beitrag von: Schlimbo am 16 Mai 2017, 21:09:05
Hi Clockwork,
um für Autoremote den WIFI Service zu starten, musst du in Tasker einen neuen Task erstellen:
Plugin -> AutoRemote -->  Wifi --> Wifi Service

Gruß Schlimbo
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 16 Mai 2017, 21:27:24
Besten Dank werde das morgen mal testen  8)
Titel: Antw:Fhem zu Tasker
Beitrag von: KernSani am 17 Mai 2017, 19:06:08
Und? Wenn's funktioniert bitte auf [Gelöst] setzen (Subject des ersten Posts ändern)
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 18 Mai 2017, 17:56:10
Hallo,

Danke Schlimbo für den Ansatz Autoremote zu aktivieren. Es funktioniert nun so wie es soll!

Nun kommt bei Ausführung aus der Bash keine Fehlermeldung mehr:


pi@raspberrypi:~ $   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   326  100   237  100    89    762    286 --:--:-- --:--:-- --:--:--   764

Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 18 Mai 2017, 21:19:30
Aufgefallen ist mir jetzt folgendes:

Wenn ich in Tasker den Task mit dem Wifi Service per Hand starte (Play Taste) funktioniert alles wie gewollt. Nach einiger Zeit scheint sich der Service allerdings zu deaktivieren! Wo kann man einstellen das dieser Task bzw. der Wifi Service immer aktiv bleibt?
Titel: Antw:Fhem zu Tasker
Beitrag von: Schlimbo am 19 Mai 2017, 13:35:13
Hallo Clockwork,
ich habe mir in Tasker ein Profil angelegt das den Wifi Service startet sobald ich mit meinem Heim-WLAN verbunden bin und den Service wieder stoppt wenn ich das WLAN verlasse.
Wenn der Service von alleine beendet wird könntest du auch mal versuchen die Akku-Leistungsoptimierung für die AutoRemote App zu deaktivieren.
Android Einstellungen --> Akku -->  Akku-Leistungsoptimierung

Wenn jemand das msg Modul (https://forum.fhem.de/index.php/topic,39983.0.html) zum Senden von AutoRemote Nachrichten verwenden möchte, hier mein Setup:
Ein Dummy "AutoRemote" erstellten:
defmod AutoRemote dummy
attr AutoRemote userattr ipaddr msgCmdPush msgCmdPushHigh msgCmdPushLow msgTitlePush
attr AutoRemote msgCmdPush set %DEVICE% msg %TITLE%=:=%MSG%
attr AutoRemote msgCmdPushHigh set %DEVICE% msg %TITLE%=:=%MSG%
attr AutoRemote msgCmdPushLow set %DEVICE% msg %TITLE%=:=%MSG%
attr AutoRemote msgTitlePush FHEM
attr AutoRemote msgType push
attr AutoRemote readingList msg presence
attr AutoRemote setList msg presence:present,absent


IP des Device auf dem AutoRemote läuft muss im Anschluss noch im Attribut "ipaddr" hinterlegt werden (z.B. attr AutoRemote ipaddr 192.168.1.10)

Zum Senden noch ein Notify anlegen:
defmod AutoRemote.ntfy notify AutoRemote:msg.* {\
$EVENT =~ s/msg: //g;;\
my $ipaddr = AttrVal($NAME, 'ipaddr','');; \
if ($ipaddr eq ''){\
  readingsSingleUpdate($defs{$NAME}, "ipaddr", 'Fehler: Attribut "ipaddr" ist nicht gesetzt', 1);;\
  }\
else{\
  readingsSingleUpdate($defs{$NAME}, "ipaddr", "$ipaddr", 1);;\
  system("curl -silent -X POST -d '{message:\"".$EVENT."\",sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' $ipaddr:1817 --header Content-Type:application/json > /dev/null &")\
}\
}


Jetzt können über msg Nachrichten versendet werden.
z.B.
msg push @AutoRemote <text>
Titel: Antw:Fhem zu Tasker
Beitrag von: vbs am 20 Mai 2017, 12:03:11
Ich hatte schon länger für mich mal ein Modul gemacht um Events an Tasker zu schicken. Habe es gerade mal hier gepostet:
https://forum.fhem.de/index.php/topic,72163.0.html (https://forum.fhem.de/index.php/topic,72163.0.html)

Vielleicht hat ja jemand Verwendung dafür...
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 22 Mai 2017, 17:15:36
Hallo,

danke Schlimbo, habs nochmal getestet, anscheinend habe ich durch mein gefukkel den Diesnst selber beendet  ??? werde es beobachten und evtl. ein Profil in Tasker setzten und den Wifi Dienst einmal am Tag neustarten.

Die Verbindung von FHEM zu Tasker über Autoremote steht nun!

Jetzt habe ich das Problem das ich gerne Textstrings mit "Leerzeichen" nach Tasker schicken möchte. Autoremote akzepiert aber scheinbar keine Leerzeichen. Kann ich den Text in einem anderen Format nach Autoremote schicken? Ich habe auch schon probiert mit %20 als Leerzeichen, ohne Erfolg.

Danke für Eure Hilfe
Titel: Antw:Fhem zu Tasker
Beitrag von: Schlimbo am 22 Mai 2017, 21:40:09
Das Problem hatte ich auch anfänglich.

Du verwendest wahrscheinlich den Code aus diesem Beitrag:
Zitat von: LeoSum am 12 März 2016, 19:01:57
Danke, mit leichter Abänderung hat es bei mir nun geklappt!
{system("curl -silent -X POST -d '{message:'<NACHRICHT>',sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}
Hiermit konnte ich auch keinen Text mit Leerzeichen Senden.

Lösung:
Die Anführungszeichen müssen mit einen Backslash (\) Maskiert werden.

So wie es in dem Ursprünglichen Code auch schon vorhanden war:
Zitat von: Brockmann am 08 März 2016, 09:06:20
{system("curl -silent -X POST -d '{message:\"".<NACHRICHT>."\",sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}}
Zu beachten ist hier, dass <NACHRICHT> eine Variable ist. Außerdem ist die letzte geschweifte Klammer zu viel.

Wenn der Text nicht in einer Variable steht sieht es dann so aus:
{system("curl -silent -X POST -d '{message:\"<NACHRICHT>\",sender:FHEM,communication_base_params:{type:Message,fallback:false,via:Wifi}}' <GERÄT>:1817 --header Content-Type:application/json > /dev/null &")}
Titel: Antw:Fhem zu Tasker
Beitrag von: Clockwork am 23 Mai 2017, 18:43:54
Vielen Dank,

es klappt nun alles super! Ich wäre da nie alleine drauf gekommen das war schon echt frustrierend! Besten Dank!!!
Titel: Antw:Fhem zu Tasker
Beitrag von: KernSani am 23 Mai 2017, 21:20:37
Schön dass es klappt :-) Setzt du das Thema dann noch auf [Gelöst]? (Subject des ersten Posts editieren). Danke!