diff --git a/74_AMAD.pm b/74_AMAD.pm
index e00e00f..9b3244b 100644
--- a/74_AMAD.pm
+++ b/74_AMAD.pm
@@ -22,7 +22,7 @@
#
################################################################
-###### Version 0.2.1 ############
+###### Version 0.3.6 ############
@@ -154,51 +154,28 @@ sub AMAD_Set($$@)
my $list = "screenMsg"
. " ttsMsg"
- . " Volume:slider,0,1,15"
- . " DeviceState:online,offline"
- . " MediaPlayer:play,stop,next,back"
- . " Brightness:slider,0,1,255"
- . " Screen:on,off"
- . " openURL";
-
-
- if (lc $cmd eq 'screenmsg') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val);
- return AMAD_SetScreenMsg ($hash, @val) if (defined(@val));
- }
- elsif (lc $cmd eq 'ttsmsg') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- return AMAD_SetTtsMsg ($hash, @val);
- }
- elsif (lc $cmd eq 'volume') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- return AMAD_SetVolume ($hash, @val);
- }
- elsif (lc $cmd eq 'mediaplayer') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- return AMAD_SetMediaplayer ($hash, @val);
- }
- elsif (lc $cmd eq 'devicestate') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- my $v = join(" ", @val);
+ . " defaultVolume:slider,0,1,15"
+ . " deviceState:online,offline"
+ . " mediaPlayer:play,stop,next,back"
+ . " screenBrightness:slider,0,1,255"
+ . " screen:on,off"
+ . " openURL"
+ . " nextAlarmTime:time";
- readingsSingleUpdate ($hash,$cmd,$v,1);
+
+ if (lc $cmd eq 'screenmsg'
+ || lc $cmd eq 'ttsmsg'
+ || lc $cmd eq 'defaultvolume'
+ || lc $cmd eq 'mediaplayer'
+ || lc $cmd eq 'devicestate'
+ || lc $cmd eq 'screenbrightness'
+ || lc $cmd eq 'screen'
+ || lc $cmd eq 'openurl'
+ || lc $cmd eq 'nextalarmtime') {
- return undef;
- }
- elsif (lc $cmd eq 'brightness') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- return AMAD_SetBrightness ($hash, @val);
- }
- elsif (lc $cmd eq 'screen') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- return AMAD_SetScreen ($hash, @val);
- }
- elsif (lc $cmd eq 'openurl') {
- Log3 $name, 4, "AMAD ($name) - set $name $cmd ".join(" ", @val) if (defined(@val));
- return AMAD_SetOpenURL ($hash, @val);
- }
-
+ Log3 $name, 5, "AMAD ($name) - set $name $cmd ".join(" ", @val);
+ return AMAD_SelectSetCmd ($hash, $cmd, @val) if (@val);
+ }
return "Unknown argument $cmd, bearword as argument or wrong parameter(s), choose one of $list";
}
@@ -210,7 +187,7 @@ sub AMAD_RetrieveAutomagicInfo($)
my $host = $hash->{HOST};
my $port = $hash->{PORT};
- my $url = "http://" . $host . ":" . $port . "/automagic/deviceInfo";
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/deviceInfo/";
HttpUtils_NonblockingGet(
{
@@ -234,13 +211,13 @@ sub AMAD_RetrieveAutomagicInfoFinished($$$)
my $name = $hash->{NAME};
my $host = $hash->{HOST};
- Log3 $name, 3, "AMAD ($name) - AMAD_RetrieveAutomagicInfoFinished: calling Host: $host";
+ Log3 $name, 4, "AMAD ($name) - AMAD_RetrieveAutomagicInfoFinished: calling Host: $host";
if (defined($err)) {
if ($err ne "")
{
$hash->{STATE} = "error" if ($hash->{STATE} ne "initialized");
- Log3 $name, 4, "AMAD ($name) - AMAD_RetrieveAutomagicInfoFinished: error while requesting AutomagicInfo: $err";
+ Log3 $name, 5, "AMAD ($name) - AMAD_RetrieveAutomagicInfoFinished: error while requesting AutomagicInfo: $err";
return;
}
}
@@ -248,16 +225,16 @@ sub AMAD_RetrieveAutomagicInfoFinished($$$)
if($data eq "" and exists($param->{code}))
{
$hash->{STATE} = "error" if ($hash->{STATE} ne "initialized");
- Log3 $name, 4, "AMAD ($name) - AMAD_RetrieveAutomagicInfoFinished: received http code ".$param->{code}." without any data after requesting AMAD AutomagicInfo";
+ Log3 $name, 5, "AMAD ($name) - AMAD_RetrieveAutomagicInfoFinished: received http code ".$param->{code}." without any data after requesting AMAD AutomagicInfo";
return;
}
# $hash->{RETRIEVECACHE} = $data; # zu Testzwecken
- my @valuestring = split('@@', $data);
+ my @valuestring = split('@@@@', $data);
my %buffer;
foreach (@valuestring) {
- my @values = split(' ', $_);
+ my @values = split('@@', $_);
$buffer{$values[0]} = $values[1];
}
@@ -283,13 +260,13 @@ sub AMAD_HTTP_POST($$)
if ($hash->{STATE} eq "initialized")
{
- Log3 $name, 4, "AMAD ($name) - AMAD_HTTP_POST: set command only works if STATE active, please wait next interval run";
- return;
+ Log3 $name, 3, "AMAD ($name) - AMAD_HTTP_POST: set command only works if STATE active, please wait for next interval run";
+ return "set command only works if STATE active, please wait for next interval run";
}
if ($hash->{STATE} eq "error")
{
- Log3 $name, 4, "AMAD ($name) - AMAD_HTTP_POST: error while send Set command. Please check IP or PORT";
- return;
+ Log3 $name, 3, "AMAD ($name) - AMAD_HTTP_POST: error while send Set command. Please check IP, PORT or wait for next interval run.";
+ return "error while send Set command. Please check IP, PORT or wait for next interval run.";
}
$hash->{STATE} = "Send HTTP POST";
@@ -310,135 +287,257 @@ sub AMAD_HTTP_POST($$)
return undef;
}
-sub AMAD_SetScreenMsg($@)
+sub AMAD_SelectSetCmd($$@)
{
- my ($hash, @data) = @_;
+ my ($hash, $cmd, @data) = @_;
my $name = $hash->{NAME};
my $host = $hash->{HOST};
my $port = $hash->{PORT};
- my $msg = join(" ", @data);
- $msg =~ s/\s/%20/g;
-
- my $url = "http://" . $host . ":" . $port . "/automagic/screenMsg?message=$msg";
- Log3 $name, 4, "AMAD ($name) - Sub AMAD_SetScreenMsg";
+ if (lc $cmd eq 'screenmsg') {
+ my $msg = join(" ", @data);
+ $msg =~ s/\s/%20/g;
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/screenMsg?message=$msg";
+ Log3 $name, 4, "AMAD ($name) - Sub AMAD_SetScreenMsg";
- return AMAD_HTTP_POST ($hash,$url);
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ elsif (lc $cmd eq 'ttsmsg') {
+ my $msg = join(" ", @data);
+ $msg =~ s/\s/%20/g;
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/ttsMsg?message=$msg";
+
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ elsif (lc $cmd eq 'defaultvolume') {
+ my $vol = join(" ", @data);
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/setVolume?volume=$vol";
+
+ readingsSingleUpdate ($hash,$cmd,$vol,1);
+
+ AMAD_GetUpdateLocal($hash);
+ Log3 $name, 4, "AMAD ($name) - Starte Update GetUpdateLocal";
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ elsif (lc $cmd eq 'mediaplayer') {
+ my $btn = join(" ", @data);
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/mediaPlayer?button=$btn";
+
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ elsif (lc $cmd eq 'devicestate') {
+ my $v = join(" ", @data);
+
+ readingsSingleUpdate ($hash,$cmd,$v,1);
+
+ return undef;
+ }
+
+ elsif (lc $cmd eq 'screenbrightness') {
+ my $bri = join(" ", @data);
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/setBrightness?brightness=$bri";
+
+ AMAD_GetUpdateLocal($hash);
+ Log3 $name, 4, "AMAD ($name) - Starte Update GetUpdateLocal";
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ elsif (lc $cmd eq 'screen') {
+ my $mod = join(" ", @data);
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/setScreenOnOff?screen=$mod";
+
+ AMAD_GetUpdateLocal($hash);
+ Log3 $name, 4, "AMAD ($name) - Starte Update GetUpdateLocal";
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ elsif (lc $cmd eq 'openurl') {
+ my $openurl = join(" ", @data);
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/openURL?url=$openurl";
+
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+ elsif (lc $cmd eq 'nextalarmtime') {
+ my $alarmTime = join(" ", @data);
+ my @alarm = split(":", $alarmTime);
+
+ my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/setAlarm?hour=".$alarm[0]."&minute=".$alarm[1];
+
+ AMAD_GetUpdateLocal($hash);
+ Log3 $name, 4, "AMAD ($name) - Starte Update GetUpdateLocal";
+ return AMAD_HTTP_POST ($hash,$url);
+ }
+
+ return undef;
}
-sub AMAD_SetTtsMsg($@) {
- my ($hash, @data) = @_;
- my $name = $hash->{NAME};
- my $host = $hash->{HOST};
- my $port = $hash->{PORT};
-
- my $msg = join(" ", @data);
- $msg =~ s/\s/%20/g;
-
- my $url = "http://" . $host . ":" . $port . "/automagic/ttsMsg?message=$msg";
-
- return AMAD_HTTP_POST ($hash,$url);
-}
-
-sub AMAD_SetVolume($@) {
- my ($hash, @data) = @_;
- my $name = $hash->{NAME};
- my $host = $hash->{HOST};
- my $port = $hash->{PORT};
-
- my $vol = join(" ", @data);
-
- my $url = "http://" . $host . ":" . $port . "/automagic/setVolume?volume=$vol";
-
- AMAD_GetUpdateLocal($hash);
- Log3 $name, 4, "AMAD ($name) - Starte Update GetUpdateLocal";
- return AMAD_HTTP_POST ($hash,$url);
-}
-
-sub AMAD_SetBrightness($@) {
- my ($hash, @data) = @_;
- my $name = $hash->{NAME};
- my $host = $hash->{HOST};
- my $port = $hash->{PORT};
-
- my $bri = join(" ", @data);
-
- my $url = "http://" . $host . ":" . $port . "/automagic/setBrightness?brightness=$bri";
-
- AMAD_GetUpdateLocal($hash);
- Log3 $name, 4, "AMAD ($name) - Starte Update GetUpdateLocal";
- return AMAD_HTTP_POST ($hash,$url);
-}
-
-sub AMAD_SetScreen($@) {
- my ($hash, @data) = @_;
- my $name = $hash->{NAME};
- my $host = $hash->{HOST};
- my $port = $hash->{PORT};
-
- my $mod = join(" ", @data);
-
- my $url = "http://" . $host . ":" . $port . "/automagic/setScreenOnOff?screen=$mod";
-
- return AMAD_HTTP_POST ($hash,$url);
-}
-
-sub AMAD_SetOpenURL($@) {
- my ($hash, @data) = @_;
- my $name = $hash->{NAME};
- my $host = $hash->{HOST};
- my $port = $hash->{PORT};
-
- my $openurl = join(" ", @data);
-
- my $url = "http://" . $host . ":" . $port . "/automagic/openURL?url=$openurl";
-
- return AMAD_HTTP_POST ($hash,$url);
-}
-
-sub AMAD_SetMediaplayer($@) {
- my ($hash, @data) = @_;
- my $name = $hash->{NAME};
- my $host = $hash->{HOST};
- my $port = $hash->{PORT};
-
- my $btn = join(" ", @data);
-
- my $url = "http://" . $host . ":" . $port . "/automagic/mediaPlayer?button=$btn";
-
- return AMAD_HTTP_POST ($hash,$url);
-}
1;
=pod
+=begin html
+
+
AMAD - Automagic Android Device
+
+ At the moment no english documentation is available
+
+=end html
=begin html_DE
AMAD - Automagic Android Device
- Dieses Modul liefert, in Verbindung mit der Android APP Automagic, diverse Informationen von Android Geräten.
- Weiterhin gibt es Dir die Möglichkeit diese zu steuern. Bis jetzt ist das ändern der Medialautstärke möglich,
- sowie Play, Stop, Titel-Next, Titel-Back eines im Automagic-Flow ausgesuchten Players.
- An Informationen können alle wiedergegeben werden, welche von Automagic als Action in Form einer Variable gesammelt und als
- HTTP Respons Text zurück gegeben werden.
- Für all diese Informationen/Aktionen ist ein sogenannter Flow in Automagic auf dem entsprechenden Android Gerät nöt.
- Als Trigger im Flow wird immer ein HTTP Request mit einem selbst vergebenen Port und einer angepassten URL verwendet. Dieser Port
- muß der selbe sein welcher beim anölegen des Devices vergeben wurde!!
+ Dieses Modul liefert, in Verbindung mit der Android APP Automagic, diverse Informationen von Android Geräten.
+ Die AndroidAPP Automagic (welche nicht von mir stammt und 2.90Euro kostet) funktioniert wie Tasker, ist aber bei weitem User freundlicher.
+ Im Auslieferiungszustand werden folgende Zustände dargestellt:
+
+
+
Standardlautstärke
+
Status des Androidgerätes - Online/Offline
+
nächste Alarmzeit
+
nächster Alarmtag
+
Ladestatus - Netztei angeschlossen / nicht angeschlossen
+
Batteriestatus in %
+
Bildschirmhelligkeit
+
Bildschirnstatus An/Aus
+
Media Lautstärke des Lautsprechers am Gerät
+
Media Lautstärke des Bluetooth Lautsprechers
+
Zustand von Automagic auf dem Gerät
+
+
+ Als Extra können noch aktueller Titel, Interpret und Album des verwendeten Mediaplayers angezeigt werden.
+
+ Mit etwas Einarbeitung können jegliche Informationen welche Automagic bereit stellt in FHEM angezeigt werden. Hierzu bedarf es lediglich
+ einer kleinen Anpassung des "Information" Flows
+
+
+ Das Modul gibt Dir auch die Möglichkeit Deine Androidgeräte zu steuern. So können folgende Aktionen durchgeführt werden.
+
eine Nachricht senden welche am Bildschirm angezeigt wird
+
eine Nachricht senden welche angesagt wird (TTS)
+
+
+ Für all diese Aktionen und Informationen wird auf dem Androidgerät Automagic und ein so genannter Flow benötigt. Die App müßt
+ Ihr Euch besorgen, die Flows bekommt Ihr von mir zusammen mit dem AMAD Modul.
+
+ Wie genau verwendet man nun AMAD?
+
+
+
Installiert Euch die App "Automagic Premium" aus dem App Store oder die Testversion von hier
+
ladet Euch das AMAD Modul und die Flowfiles von GitHub runter
+
installiert die zwei Flows und aktiviert erstmal nur den "Information" Flow, eventuell bei den
+ FlowUpdates mal schauen ob es was neueres gibt und den entsprechenden Flow auf dem Gerät löschen und den neuen Flow von GitHub installieren
+
kopiert die Moduldatei 74_AMAD.pm nach $FHEMPATH/FHEM. Geht auf die FHEM Frontendseite und gebt dort in der Kommandozeile reload 74_AMAD.pm ein
+
+
+ Nun müsst Ihr nur noch ein Device in FHEM anlegen.
- Diese Anweisung erstellt ein neues AMAD-Device. Die Parameter IP-ADRESSE und PORT legen die IP Adresse des Android Ger&aaml;tes
- sowie den unter Automagic im Trigger HTTP Request angegebenen Port fest.
+ Diese Anweisung erstellt ein neues AMAD-Device. Die Parameter IP-ADRESSE und PORT legen die IP Adresse des Android Gerätes
+ sowie den, in den Flows des Trigger HTTP Request, angegebenen Port fest. INTERVAL ist der Zeitabstand in dem ein erneuter Informationsabruf stattfinden soll. Alle x Sekunden.
+ Bei mir hat sich 180 gut bewährt, also alle 3 Minuten
+ Bitte gebt für sofortige Erfolge als Port 8090 ein, das ist der Port der in den mitgelieferten Automagic Flows als Trigger Port eingetragen ist.
+ Dieser kann später mit Erfahrung auch geändert werden
+
+ Fertig! Nach anlegen des Devices sollten bereits die ersten Readings reinkommen.
+
+
+ Readings
+
+
defaultVolume - Lautstärkewert welcher über "set defaultVolume" gesetzt wurde.
+
deviceState - Status des Androidgerätes, muss selbst mit setreading gesetzt werden z.B. über die Anwesenheitskontrolle.
+ Ist Offline gesetzt, wird der Intervall zum Informationsabruf aus gesetzt.
volumeMusikBluetooth - Media Lautstärke von angeschlossenden Bluetooth Lautsprechern
+
volumeMusikSpeaker - Media Lautstärke der internen Lautsprecher
+
screen - Bildschirm An oderAus
+
automagicState - Statusmeldungen von der AutomagicApp
+
+ Die Readings volumeMusikBluetooth und volumeMusikSpeaker spiegeln die jeweilige Medialautstärke der angeschlossenden Bluetoothlautsprechern oder der internen Lautsprecher wieder.
+ Sofern man die jeweiligen Lautstärken ausschließlich über den Set Befehl setzt, wird eine der beiden immer mit dem defaultVolume Reading über ein stimmen.
+ Die Readings "currentMusicAlbum", "currentMusicArtist", "currentMusicTrack" werden nicht vom Modul AMAD gesteuert, sondern ausschließlich vom Automagic Flow. Hierfür ist es notwendig
+ das der Flow entsprechend Deiner Netzwerkumgebung und Deines Androidgerätes angepasst wird.
+ Öffne den Flow SetCommands und folge dem Strang welcher ganz ganz links aussen lang geht. Dieser trifft auf eine Raute. Die Raute symbolisiert eine Bedingung. Es wird gefragt,
+ ob ein bestimmtes WLan Netz vorhanden ist. Tragt bitte hier Euren Router oder Access Point ein. Als nächstes folgt Ihr dem Strang weiter und trifft auf 3 Rechtecke.
+ In jedem der 3 Rechtecke ist ein Befehl zum setzen eines der drei Readings eingetragen. Ihr müsst lediglich in allen drein die IP Eures FHEM Servers eintragen, sowie den korrekte
+ DeviceNamen welchen Ihr in FHEM für dieses Androidgerät angegeben habt.
+ Das Reading automagicState muss explizit aktiviert werden. Hierfür geht Ihr in den Flow Information und dann ganz nach rechts. Dort steht eine einsame Raute (Bedingung) ohne Anbuindung
+ an das Rechteck mit der Pause. Drückt auf das Rechteck mit der Pause und zieht das Plus bis runter auf die Raute. Nun habt Ihr eine Verbindung. Ab der Android 5.x Version setzt Ihr
+ unter Einstellungen:Ton&Benachrichtigungen:Benachrichtigungszugriff ein Haken bei Automagic. Leider kann ich nicht sagen wie es sich bei Versionen der 4.xer Reihe verhält.
+
+
+
+ Set
+
+
defaultVolume - setzt die Medialautstärke. Entweder die internen Lautsprecher oder sofern angeschlossen die Bluetoothlautsprecher
+
deviceState - setzt den Device Status Online/Offline. Siehe Readings
+
mediaPlayer - steuert den Standard Mediaplayer. play, stop, Titel zürück, Titel vor.
+
nextAlarmTime - setzt die Alarmzeit. Geht aber nur innerhalb der nächsten 24Std.
+
openURL - öffnet eine URL im Standardbrowser
+
screen - setzt den Bildschirm auf AN oder AUS mit Sperre
+
screenBrightness - setzt die Bildschirmhelligkeit, von 0-255
+
screenMsg - versendet eine Bildschirmnachricht
+
ttsMsg - versendet eine Nachricht welche als Sprachnachricht ausgegeben wird
+
+ Wenn Ihr das "set screenBrightness" verwenden wollt, muss eine kleine Anpassung im Flow SetCommand vorgenommen werden. Öffnet die Aktion (eines der Vierecke ganz ganz unten)
+ SetzeSystemeinstellung:System und macht einen Haken bei "Ich habe die Einstellungen überprüft, ich weiss was ich tue".
+
+
+
+ STATE
+
+ Es gibt drei STATE Zustände.
+
initialized - Ist der Status kurz nach einem define, ein Set Befehl ist hier noch nicht möglich.
+
error - beim letzten "get Information" gab es eine Fehlermeldung daher werden die Set Befehle ausgesetzt bis der nächsten "get Information" Durchlauf ohne Fehler beendet wird.
+
activ - das Modul ist im aktiven Status und "Set Befehle" können gesetzt werden.
+
+
+ Anwendungsbeispiele:
+
+ Ich habe die Ladegeräte für meine Androidgeräte an Funkschaltsteckdosen. ein DOIF schaltet bei unter 30% die Steckdose ein und bei über 90% wieder aus. Morgens lasse ich mich
+ über mein Tablet im Schlafzimmer mit Musik wecken. Verwendet wird hierzu der wakeuptimer des RESIDENTS Modules. Das abspielen stoppe ich dann von Hand. Danach erfolgt noch eine
+ Ansage wie das Wetter gerade ist und wird.
+ Mein 10" Tablet im Wohnzimmer ist Mediaplayer für das Wohnzimmer mit Bluetoothlautsprechern. Die Lautstärke wird automatisch runter gesetzt wenn die Fritzbox einen Anruf auf das
+ Wohnzimmer Handgerät signalisiert.
+
+
+ Und zu guter letzt möchte ich mich noch bedanken.
+ Der größte Dank geht an meinen Mentor Andre (justme1968), er hat mir mit hilfreichen Tips geholfen Perlcode zu verstehen und Spaß am programmieren zu haben.
+ Auch möchte ich mich bei Jens bedanken (jensb) welcher mir ebenfalls mit hilfreichen Tips bei meinen aller ersten Gehversuchen beim Perlcode schreiben unterstützt hat.
+ So und nun noch ein besonderer Dank an pah (Prof. Dr. Peter Henning ), ohne seine Aussage "Keine Ahnung hatten wir alle mal, das ist keine Ausrede" hätte ich bestimmt nicht angefangen Interesse an
+ Modulentwicklung zu zeigen :-)
=end html_DE
-=cut
+=cut
\ No newline at end of file
diff --git a/Automagic_FHEM-AMAD_Flows_v0.3.7.xml b/Automagic_FHEM-AMAD_Flows_v0.3.7.xml
new file mode 100644
index 0000000..16a62c9
--- /dev/null
+++ b/Automagic_FHEM-AMAD_Flows_v0.3.7.xml
@@ -0,0 +1,501 @@
+
+
+
+ false
+ com.android.music.metachanged
+ true
+ com.android.music.metachanged
+
+
+
+
+
+
+
+ artist = getString("artist");
+track = getString("track");
+album = getString("album");
+ false
+
+
+ true
+ HTTP Request: /fhem-amad/deviceInfo/, Port 8090
+ true
+ /fhem-amad/deviceInfo/
+ 8090
+ true
+
+
+ true
+ HTTP Request: /fhem-amad/setCommands/*, Port 8090
+ true
+ /fhem-amad/setCommands/*
+ 8090
+ true
+
+
+ true
+ Akku Ladestand: grösser als 0%
+ 0
+ HIGHER_THAN
+
+
+ true
+ Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic
+ ch.gridvision.ppam.androidautomagic
+ TEXT
+ CONTAINS_TEXT
+
+ false
+ false
+
+
+ true
+ Display eingeschaltet
+
+
+ true
+ Expression: param_button == "back"
+ param_button == "back"
+
+
+ true
+ Expression: param_button == "next"
+ param_button == "next"
+
+
+ true
+ Expression: param_button == "play"
+ param_button == "play"
+
+
+ true
+ Expression: param_button == "stop"
+ param_button == "stop"
+
+
+ true
+ Expression: param_screen=="off"
+ param_screen=="off"
+
+
+ true
+ Expression: param_screen=="on"
+ param_screen=="on"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/mediaPlayer"
+ request_path == "/fhem-amad/setCommands/mediaPlayer"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/openURL"
+ request_path == "/fhem-amad/setCommands/openURL"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/screenMsg"
+ request_path == "/fhem-amad/setCommands/screenMsg"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/setAlarm"
+ request_path == "/fhem-amad/setCommands/setAlarm"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/setBrightness"
+ request_path == "/fhem-amad/setCommands/setBrightness"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/setScreenOnOff"
+ request_path == "/fhem-amad/setCommands/setScreenOnOff"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/setVolume"
+ request_path == "/fhem-amad/setCommands/setVolume"
+
+
+ true
+ Expression: request_path == "/fhem-amad/setCommands/ttsMsg"
+ request_path == "/fhem-amad/setCommands/ttsMsg"
+
+
+ true
+ Expression: trigger == "com.android.music.metachanged"
+ trigger == "com.android.music.metachanged"
+
+
+ true
+ WLAN Verbunden:
+ false
+
+
+
+ true
+ Audio Player steuern: Medienknopf Play (Google Play Musik)
+ true
+ LAUNCH
+ KEYCODE_MEDIA_PLAY
+ true
+ com.google.android.music
+ com.google.android.music.playback.MediaButtonIntentReceiver
+ Google Play Musik
+
+
+ true
+ Audio Player steuern: Medienknopf Stopp (Google Play Musik)
+ true
+ LAUNCH
+ KEYCODE_MEDIA_STOP
+ true
+ com.google.android.music
+ com.google.android.music.playback.MediaButtonIntentReceiver
+ Google Play Musik
+
+
+ true
+ Audio Player steuern: Medienknopf Weiter (Google Play Musik)
+ true
+ LAUNCH
+ KEYCODE_MEDIA_NEXT
+ true
+ com.google.android.music
+ com.google.android.music.playback.MediaButtonIntentReceiver
+ Google Play Musik
+
+
+ true
+ Audio Player steuern: Medienknopf Zurück (Google Play Musik)
+ true
+ LAUNCH
+ KEYCODE_MEDIA_PREVIOUS
+ true
+ com.google.android.music
+ com.google.android.music.playback.MediaButtonIntentReceiver
+ Google Play Musik
+
+
+ true
+ Benachrichtigung auf Bildschirm: {param_message} (lange)
+ true
+ {param_message}
+
+ 200
+ 250
+ false
+ 1.0
+ true
+ false
+ TOP_LEFT
+ 0
+ 0
+
+
+ true
+ Gerät sperren
+
+
+ true
+ HTTP Request: GET http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicAlbum%20{encodeURLForm(album)} speichern in response
+ http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicAlbum%20{encodeURLForm(album)}
+ true
+ false
+
+ GET
+ X_WWW_FORM_URLENCODED
+ text/plain
+
+ Lastname=XYZ,Firstname=ABC
+ 60000
+ false
+
+ true
+ response
+ /storage/emulated/0/Download/file.bin
+
+
+ true
+ HTTP Request: GET http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicArtist%20{encodeURLForm(artist)} speichern in response
+ http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicArtist%20{encodeURLForm(artist)}
+ true
+ false
+
+ GET
+ X_WWW_FORM_URLENCODED
+ text/plain
+
+ Lastname=XYZ,Firstname=ABC
+ 60000
+ false
+
+ true
+ response
+ /storage/emulated/0/Download/file.bin
+
+
+ true
+ HTTP Request: GET http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicTrack%20{encodeURLForm(track)} speichern in response
+ http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicTrack%20{encodeURLForm(track)}
+ true
+ false
+
+ GET
+ X_WWW_FORM_URLENCODED
+ text/plain
+
+ Lastname=XYZ,Firstname=ABC
+ 60000
+ false
+
+ true
+ response
+ /storage/emulated/0/Download/file.bin
+
+
+ false
+ HTTP Response
+ powerLevel@@{battery_percentage}@@@@powerPlugged@@{battery_plugged}@@@@volumeMusikBluetooth@@{volumeMusikBluetooth}@@@@volumeMusikSpeaker@@{volumeMusikSpeaker}@@@@screenBrightness@@{screenBrightness}@@@@nextAlarmTime@@{next_alarmtime}@@@@nextAlarmDay@@{next_alarmday}@@@@screen@@{screen_state}@@@@automagicState@@{notification_text}
+ true
+ text/plain
+
+
+ true
+ Initialisiere Variable Nächster Alarm: Variable next_alarm
+ next_alarm
+
+
+ true
+ Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
+ SYSTEM
+ screen_brightness
+ screenBrightness
+
+
+ true
+ Initialisiere Variable Systemeinstellung: System volume_music_bt_a2dp to volumeMusikBluetooth
+ SYSTEM
+ volume_music_bt_a2dp
+ volumeMusikBluetooth
+
+
+ true
+ Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
+ SYSTEM
+ volume_music_speaker
+ volumeMusikSpeaker
+
+
+ false
+ Lautstärken setzen
+ false
+ global_volume_alarm
+ false
+ global_volume_dtmf
+ true
+ param_volume
+ false
+ global_volume_notification
+ false
+ global_volume_ring
+ false
+ global_volume_system
+ false
+ global_volume_voice_call
+ false
+ global_ringer_mode
+ false
+ global_interruptions_mode
+
+
+ true
+ Pause: 2s (Gerät wach halten)
+ 2s
+ true
+
+
+ true
+ Schalte Display ein: Hell für 60s
+ true
+ 60s
+ true
+
+
+ true
+ Script: next_alarmday = "{next_alarm,dateformat,c}"
+
+
+
+ true
+ Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
+
+
+
+ true
+ Script: screen_state = "off"
+
+
+
+ true
+ Script: screen_state = "on"
+
+
+
+ true
+ Setze Alarm: um {param_hour}:{param_minute}
+
+ {param_hour}
+ {param_minute}
+
+
+ true
+ Setze Systemeinstellung: System screen_brightness auf {param_brightness}
+ SYSTEM
+ screen_brightness
+ {param_brightness}
+ true
+
+
+ true
+ Sprachausgabe: {param_message}
+ MUSIC
+ {param_message}
+ de_DE
+ true
+ 1.0
+ true
+ 1.0
+ false
+ false
+ false
+ false
+ TRANSIENT
+
+
+ true
+ URL in Browser öffnen: {param_url} (mit Chrome)
+ {param_url}
+ true
+ com.android.chrome
+ com.google.android.apps.chrome.Main
+ Chrome
+
+
+ Informations
+ FHEM Info / Steuerung über AMAD Modul
+ true
+ QUEUE
+ 120
+
+ HTTP Request: /fhem-amad/deviceInfo/, Port 8090
+
+ Initialisiere Variable Nächster Alarm: Variable next_alarm
+ Initialisiere Variable Systemeinstellung: System volume_music_bt_a2dp to volumeMusikBluetooth
+ Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
+ Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
+ Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
+ Script: next_alarmday = "{next_alarm,dateformat,c}"
+ Display eingeschaltet
+ Script: screen_state = "on"
+ Script: screen_state = "off"
+ Pause: 2s (Gerät wach halten)
+ Akku Ladestand: grösser als 0%
+ Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic
+ HTTP Response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SetCommands
+ FHEM Info / Steuerung über AMAD Modul
+ true
+ QUEUE
+ 120
+
+ com.android.music.metachanged
+ HTTP Request: /fhem-amad/setCommands/*, Port 8090
+
+ Expression: param_screen=="off"
+ Expression: param_screen=="on"
+ Expression: request_path == "/fhem-amad/setCommands/setVolume"
+ Expression: request_path == "/fhem-amad/setCommands/setScreenOnOff"
+ Schalte Display ein: Hell für 60s
+ Gerät sperren
+ Lautstärken setzen
+ Expression: request_path == "/fhem-amad/setCommands/setBrightness"
+ Setze Alarm: um {param_hour}:{param_minute}
+ Expression: request_path == "/fhem-amad/setCommands/setAlarm"
+ Benachrichtigung auf Bildschirm: {param_message} (lange)
+ Expression: request_path == "/fhem-amad/setCommands/screenMsg"
+ URL in Browser öffnen: {param_url} (mit Chrome)
+ Expression: request_path == "/fhem-amad/setCommands/openURL"
+ Audio Player steuern: Medienknopf Stopp (Google Play Musik)
+ Expression: param_button == "stop"
+ Expression: param_button == "play"
+ Audio Player steuern: Medienknopf Play (Google Play Musik)
+ Audio Player steuern: Medienknopf Weiter (Google Play Musik)
+ Expression: param_button == "next"
+ Audio Player steuern: Medienknopf Zurück (Google Play Musik)
+ Expression: param_button == "back"
+ Expression: request_path == "/fhem-amad/setCommands/mediaPlayer"
+ Expression: trigger == "com.android.music.metachanged"
+ Sprachausgabe: {param_message}
+ Expression: request_path == "/fhem-amad/setCommands/ttsMsg"
+ Setze Systemeinstellung: System screen_brightness auf {param_brightness}
+ WLAN Verbunden:
+ HTTP Request: GET http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicTrack%20{encodeURLForm(track)} speichern in response
+ HTTP Request: GET http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicAlbum%20{encodeURLForm(album)} speichern in response
+ HTTP Request: GET http://FHEMSERVERIP:8085/fhem?cmd=setreading%20FHEMDEVICENAME%20currentMusicArtist%20{encodeURLForm(artist)} speichern in response
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Flow_Updates/[Automagic]_Information_Flow_Handy b/Flow_Updates/[Automagic]_Information_Flow_Handy
deleted file mode 100644
index 62030a4..0000000
--- a/Flow_Updates/[Automagic]_Information_Flow_Handy
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
- true
- HTTP Request: /automagic/deviceInfo, Port 8089
- true
- /automagic/deviceInfo
- 8089
- true
-
-
- true
- Akku Ladestand: grösser als 0%
- 0
- HIGHER_THAN
-
-
- false
- HTTP Response
- powerLevel {battery_percentage}@@powerPlugged {battery_plugged}@@volumeMusikSpeaker {volumeMusikSpeaker}@@networkCountryIso {network_country_iso}@@voiceMailNumber {voice_mail_number}@@screenBrightness {screenBrightness}@@nextAlarmDay {next_alarmday}@@nextAlarmTime {next_alarmtime}
- true
- text/html
-
-
- true
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- next_alarm
-
-
- true
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- SYSTEM
- screen_brightness
- screenBrightness
-
-
- true
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- SYSTEM
- volume_music_speaker
- volumeMusikSpeaker
-
-
- true
- Initialisiere Variablen Telefoninfo: network_country_iso, voice_mail_number
- true
- network_country_iso
- true
- voice_mail_number
-
-
- true
- Pause: 2s (Gerät wach halten)
- 2s
- true
-
-
- true
- Script: next_alarmday = "{next_alarm,dateformat,c}"
-
-
-
- true
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
-
-
-
- Informationen
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
- Akku Ladestand: grösser als 0%
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- HTTP Response
- Initialisiere Variablen Telefoninfo: network_country_iso, voice_mail_number
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
- Script: next_alarmday = "{next_alarm,dateformat,c}"
- Pause: 2s (Gerät wach halten)
-
- HTTP Request: /automagic/deviceInfo, Port 8089
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Flow_Updates/[Automagic]_Information_Flow_Tablet b/Flow_Updates/[Automagic]_Information_Flow_Tablet
deleted file mode 100644
index 134d2d9..0000000
--- a/Flow_Updates/[Automagic]_Information_Flow_Tablet
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
- true
- HTTP Request: /automagic/deviceInfo, Port 8089
- true
- /automagic/deviceInfo
- 8089
- true
-
-
- true
- Akku Ladestand: grösser als 0%
- 0
- HIGHER_THAN
-
-
- false
- HTTP Response
- powerLevel {battery_percentage}@@powerPlugged {battery_plugged}@@volumeMusikBluetooth {volumeMusikBluetooth}@@volumeMusikSpeaker {volumeMusikSpeaker}@@screenBrightness {screenBrightness}@@nextAlarmTime {next_alarmtime}@@nextAlarmDay {next_alarmday}
- true
- text/html
-
-
- true
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- next_alarm
-
-
- true
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- SYSTEM
- screen_brightness
- screenBrightness
-
-
- true
- Initialisiere Variable Systemeinstellung: System volume_music_bt_a2dp to volumeMusikBluetooth
- SYSTEM
- volume_music_bt_a2dp
- volumeMusikBluetooth
-
-
- true
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- SYSTEM
- volume_music_speaker
- volumeMusikSpeaker
-
-
- true
- Pause: 2s (Gerät wach halten)
- 2s
- true
-
-
- true
- Script: next_alarmday = "{next_alarm,dateformat,c}"
-
-
-
- true
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
-
-
-
- Informationen
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
- Akku Ladestand: grösser als 0%
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- Initialisiere Variable Systemeinstellung: System volume_music_bt_a2dp to volumeMusikBluetooth
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
- Script: next_alarmday = "{next_alarm,dateformat,c}"
- Pause: 2s (Gerät wach halten)
-
- HTTP Request: /automagic/deviceInfo, Port 8089
-
- HTTP Response
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index 71dc165..1bd6242 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,115 @@
-# fhem-AMAD
+#AMADD - Automagic Android Device
-AMAD (Automagic Android Device) ist ein Perl Modul für FHEM. Das Modul stellt eine HTTP Request Anfrage an ein, mit der AutomagicAPP installierten, Android Gerät und verarbeitet die per HTTP Response Text erhaltenen Daten.
-Ausserdem ist es möglich Androidgeräte damit zu steuern. Implementiert sind zur Zeit
+Dieses Modul liefert, in Verbindung mit der Android APP Automagic, diverse Informationen von Android Geräten. Die AndroidAPP Automagic (welche nicht von mir stammt und 2.90Euro kostet) funktioniert wie Tasker, ist aber bei weitem User freundlicher. Im Auslieferiungszustand werden folgende Zustände dargestellt:
-- Medienlautstärke ändern
-- Display an/aus
-- Display Brightness einstellen
-- Mediaplayer steuern (play,stop,forward,backward
-- Displaxmessage senden
-- TTS Message senden
-- URL öffnen
+- Standardlautstärke
+- Status des Androidgerätes - Online/Offline
+- nächste Alarmzeit
+- nächster Alarmtag
+- Ladestatus - Netztei angeschlossen / nicht angeschlossen
+- Batteriestatus in %
+- Bildschirmhelligkeit
+- Bildschirnstatus An/Aus
+- Media Lautstärke des Lautsprechers am Gerät
+- Media Lautstärke des Bluetooth Lautsprechers
+- Zustand von Automagic auf dem Gerät
+
+
+Als Extra können noch aktueller Titel, Interpret und Album des verwendeten Mediaplayers angezeigt werden.
+Mit etwas Einarbeitung können jegliche Informationen welche Automagic bereit stellt in FHEM angezeigt werden. Hierzu bedarf es lediglich einer kleinen Anpassung des "Information" Flows
+
+Das Modul gibt Dir auch die Möglichkeit Deine Androidgeräte zu steuern. So können folgende Aktionen durchgeführt werden.
+
+- Medienlautstärke regeln
+- nächste Alarmzeit setzen
+- Bildschirmhelligkeit einstellen
+- Bildschirm An/Aus machen
+- Mediaplayer steuern (Play, Stop, nächster Titel, vorheriger Titel)
+- eine URL im Browser öffnen
+- eine Nachricht senden welche am Bildschirm angezeigt wird
+- eine Nachricht senden welche angesagt wird (TTS)
+
+
+Für all diese Aktionen und Informationen wird auf dem Androidgerät Automagic und ein so genannter Flow benötigt. Die App müßt Ihr Euch besorgen, die Flows bekommt Ihr von mir zusammen mit dem AMAD Modul.
+
+Wie genau verwendet man nun AMAD?
+
+Installiert Euch die App "Automagic Premium" aus dem App Store oder die Testversion von hier
+ladet Euch das AMAD Modul und die Flowfiles von GitHub runter
+installiert die zwei Flows und aktiviert erstmal nur den "Information" Flow, eventuell bei den FlowUpdates mal schauen ob es was neueres gibt und den entsprechenden Flow auf dem Gerät löschen und den neuen Flow von GitHub installieren
+kopiert die Moduldatei 74_AMAD.pm nach $FHEMPATH/FHEM. Geht auf die FHEM Frontendseite und gebt dort in der Kommandozeile reload 74_AMAD.pm ein
+
+
+Nun müsst Ihr nur noch ein Device in FHEM anlegen.
+
+Define
+
+define name AMAD ip-adresse port interval
+
+Beispiel:
+
+define WandTabletWohnzimmer AMAD 192.168.0.23 8090 180
+
+Diese Anweisung erstellt ein neues AMAD-Device. Die Parameter IP-ADRESSE und PORT legen die IP Adresse des Android Gerätes sowie den, in den Flows des Trigger HTTP Request, angegebenen Port fest.
+INTERVAL ist der Zeitabstand in dem ein erneuter Informationsabruf stattfinden soll. Alle x Sekunden. Bei mir hat sich 180 gut bewährt, also alle 3 Minuten
+Bitte gebt für sofortige Erfolge als Port 8090 ein, das ist der Port der in den mitgelieferten Automagic Flows als Trigger Port eingetragen ist.
+Dieser kann später mit Erfahrung auch geändert werden
+
+
+Fertig! Nach anlegen des Devices sollten bereits die ersten Readings reinkommen.
+
+Readings:
+
+- defaultVolume - Lautstärkewert welcher über "set defaultVolume" gesetzt wurde.
+- deviceState - Status des Androidgerätes, muss selbst mit setreading gesetzt werden z.B. über die Anwesenheitskontrolle.
+ Ist Offline gesetzt, wird der Intervall zum Informationsabruf aus gesetzt.
+- nextAlarmDay - aktiver Alarmtag
+- nextAlarmTime - aktive Alarmzeit
+- powerLevel - Status der Batterie in %
+- powerPlugged - Netzteil angeschlossen? 0=NEIN, 2=JA
+- screenBrightness - Bildschirmhelligkeit von 0-255
+- volumeMusikBluetooth - Media Lautstärke von angeschlossenden Bluetooth Lautsprechern
+- volumeMusikSpeaker - Media Lautstärke der internen Lautsprecher
+- screen - Bildschirm An oderAus
+- automagicState - Statusmeldungen von der AutomagicApp
+
+Die Readings volumeMusikBluetooth und volumeMusikSpeaker spiegeln die jeweilige Medialautstärke der angeschlossenden Bluetoothlautsprechern oder der internen Lautsprecher wieder.
+Sofern man die jeweiligen Lautstärken ausschließlich über den Set Befehl setzt, wird eine der beiden immer mit dem defaultVolume Reading über ein stimmen.
+
+Die Readings "currentMusicAlbum", "currentMusicArtist", "currentMusicTrack" werden nicht vom Modul AMAD gesteuert, sondern ausschließlich vom Automagic Flow. Hierfür ist es notwendig das der Flow entsprechend Deiner Netzwerkumgebung und Deines Androidgerätes angepasst wird.
+Öffne den Flow SetCommands und folge dem Strang welcher ganz ganz links aussen lang geht. Dieser trifft auf eine Raute. Die Raute symbolisiert eine Bedingung. Es wird gefragt, ob ein bestimmtes WLan Netz vorhanden ist. Tragt bitte hier Euren Router oder Access Point ein. Als nächstes folgt Ihr dem Strang weiter und trifft auf 3 Rechtecke.
+In jedem der 3 Rechtecke ist ein Befehl zum setzen eines der drei Readings eingetragen. Ihr müsst lediglich in allen drein die IP Eures FHEM Servers eintragen, sowie den korrekte DeviceNamen welchen Ihr in FHEM für dieses Androidgerät angegeben habt.
+
+Das Reading automagicState muss explizit aktiviert werden. Hierfür geht Ihr in den Flow Information und dann ganz nach rechts. Dort steht eine einsame Raute (Bedingung) ohne Anbuindung an das Rechteck mit der Pause. Drückt auf das Rechteck mit der Pause und zieht das Plus bis runter auf die Raute. Nun habt Ihr eine Verbindung. Ab der Android 5.x Version setzt Ihr unter Einstellungen:Ton&Benachrichtigungen:Benachrichtigungszugriff ein Haken bei Automagic. Leider kann ich nicht sagen wie es sich bei Versionen der 4.xer Reihe verhält.
+
+
+Set:
+
+- defaultVolume - setzt die Medialautstärke. Entweder die internen Lautsprecher oder sofern angeschlossen die Bluetoothlautsprecher
+- deviceState - setzt den Device Status Online/Offline. Siehe Readings
+- mediaPlayer - steuert den Standard Mediaplayer. play, stop, Titel zürück, Titel vor.
+- nextAlarmTime - setzt die Alarmzeit. Geht aber nur innerhalb der nächsten 24Std.
+- openURL - öffnet eine URL im Standardbrowser
+- screen - setzt den Bildschirm auf AN oder AUS mit Sperre
+- screenBrightness - setzt die Bildschirmhelligkeit, von 0-255
+- screenMsg - versendet eine Bildschirmnachricht
+- ttsMsg - versendet eine Nachricht welche als Sprachnachricht ausgegeben wird
+
+Wenn Ihr das "set screenBrightness" verwenden wollt, muss eine kleine Anpassung im Flow SetCommand vorgenommen werden. Öffnet die Aktion (eines der Vierecke ganz ganz unten) SetzeSystemeinstellung:System und macht einen Haken bei "Ich habe die Einstellungen überprüft, ich weiss was ich tue".
+
+
+
+Anwendungsbeispiele:
+
+Ich habe die Ladegeräte für meine Androidgeräte an Funkschaltsteckdosen. ein DOIF schaltet bei unter 30% die Steckdose ein und bei über 90% wieder aus. Morgens lasse ich mich über mein Tablet im Schlafzimmer mit Musik wecken. Verwendet wird hierzu der wakeuptimer des RESIDENTS Modules. Das abspielen stoppe ich dann von Hand. Danach erfolgt noch eine Ansage wie das Wetter gerade ist und wird.
+Mein 10" Tablet im Wohnzimmer ist Mediaplayer für das Wohnzimmer mit Bluetoothlautsprechern. Die Lautstärke wird automatisch runter gesetzt wenn die Fritzbox einen Anruf auf das Wohnzimmer Handgerät signalisiert.
+
+
+
+Und zu guter letzt möchte ich mich noch bedanken.
+
+Der größte Dank geht an meinen Mentor Andre (justme1968), er hat mir mit hilfreichen Tips geholfen Perlcode zu verstehen und Spaß am programmieren zu haben.
+
+Auch möchte ich mich bei Jens bedanken (jensb) welcher mir ebenfalls mit hilfreichen Tips bei meinen aller ersten Gehversuchen beim Perlcode schreiben unterstützt hat.
+
+So und nun noch ein besonderer Dank an pah (Prof. Dr. Peter Henning ), ohne seine Aussage "Keine Ahnung hatten wir alle mal, das ist keine Ausrede" hätte ich bestimmt nicht angefangen Interesse an Modulentwicklung zu zeigen :-)
diff --git a/[AMAD]_Flows_Handy b/[AMAD]_Flows_Handy
deleted file mode 100644
index 3f2455f..0000000
--- a/[AMAD]_Flows_Handy
+++ /dev/null
@@ -1,555 +0,0 @@
-
-
-
- false
- com.android.music.metachanged
- true
- com.android.music.metachanged
-
-
-
-
-
-
-
- artist = getString("artist");
-track = getString("track");
-album = getString("album");
- false
-
-
- true
- HTTP Request: /automagic/deviceInfo, Port 8089
- true
- /automagic/deviceInfo
- 8089
- true
-
-
- true
- HTTP Request: /automagic/mediaPlayer, Port 8089
- true
- /automagic/mediaPlayer
- 8089
- true
-
-
- true
- HTTP Request: /automagic/openURL, Port 8089
- true
- /automagic/openURL
- 8089
- true
-
-
- true
- HTTP Request: /automagic/screenMsg, Port 8089
- true
- /automagic/screenMsg
- 8089
- true
-
-
- true
- HTTP Request: /automagic/setBrightness, Port 8089
- true
- /automagic/setBrightness
- 8089
- true
-
-
- true
- HTTP Request: /automagic/setScreenOnOff, Port 8089
- true
- /automagic/setScreenOnOff
- 8089
- true
-
-
- true
- HTTP Request: /automagic/setVolume, Port 8089
- true
- /automagic/setVolume
- 8089
- true
-
-
- true
- HTTP Request: /automagic/ttsMsg, Port 8089
- true
- /automagic/ttsMsg
- 8089
- true
-
-
- true
- Akku Ladestand: grösser als 0%
- 0
- HIGHER_THAN
-
-
- true
- Expression: param_button == "back"
- param_button == "back"
-
-
- true
- Expression: param_button == "next"
- param_button == "next"
-
-
- true
- Expression: param_button == "play"
- param_button == "play"
-
-
- true
- Expression: param_button == "stop"
- param_button == "stop"
-
-
- true
- Expression: param_screen=="off"
- param_screen=="off"
-
-
- true
- Expression: param_screen=="on"
- param_screen=="on"
-
-
- true
- Expression: trigger == "com.android.music.metachanged"
- trigger == "com.android.music.metachanged"
-
-
- true
- Audio Player steuern: Medienknopf Play (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_PLAY
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Audio Player steuern: Medienknopf Stopp (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_STOP
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Audio Player steuern: Medienknopf Weiter (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_NEXT
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Audio Player steuern: Medienknopf Zurück (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_PREVIOUS
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Benachrichtigung auf Bildschirm: {param_message} (lange)
- true
- {param_message}
-
- 200
- 250
- false
- 1.0
- true
- false
- TOP_LEFT
- 0
- 0
-
-
- true
- Gerät sperren
-
-
- true
- HTTP Request: GET http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicAlbum%20{encodeURLForm(album)} speichern in response
- http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicAlbum%20{encodeURLForm(album)}
- true
- false
-
- GET
- X_WWW_FORM_URLENCODED
- text/plain
-
- Lastname=XYZ,Firstname=ABC
- 60000
- false
-
- true
- response
- /storage/emulated/0/Download/file.bin
-
-
- true
- HTTP Request: GET http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicArtist%20{encodeURLForm(artist)} speichern in response
- http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicArtist%20{encodeURLForm(artist)}
- true
- false
-
- GET
- X_WWW_FORM_URLENCODED
- text/plain
-
- Lastname=XYZ,Firstname=ABC
- 60000
- false
-
- true
- response
- /storage/emulated/0/Download/file.bin
-
-
- true
- HTTP Request: GET http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicTrack%20{encodeURLForm(track)} speichern in response
- http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicTrack%20{encodeURLForm(track)}
- true
- false
-
- GET
- X_WWW_FORM_URLENCODED
- text/plain
-
- Lastname=XYZ,Firstname=ABC
- 60000
- false
-
- true
- response
- /storage/emulated/0/Download/file.bin
-
-
- false
- HTTP Response
- powerLevel {battery_percentage}@@powerPlugged {battery_plugged}@@volumeMusikSpeaker {volumeMusikSpeaker}@@networkCountryIso {network_country_iso}@@voiceMailNumber {voice_mail_number}@@screenBrightness {screenBrightness}@@nextAlarmDay {next_alarmday}@@nextAlarmTime {next_alarmtime}
- true
- text/html
-
-
- true
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- next_alarm
-
-
- true
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- SYSTEM
- screen_brightness
- screenBrightness
-
-
- true
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- SYSTEM
- volume_music_speaker
- volumeMusikSpeaker
-
-
- true
- Initialisiere Variablen Telefoninfo: network_country_iso, voice_mail_number
- true
- network_country_iso
- true
- voice_mail_number
-
-
- true
- Lautstärke einstellen: Medien auf Level 10
- MUSIC
- 10
- true
- false
-
-
- false
- Lautstärken setzen
- false
- global_volume_alarm
- false
- global_volume_dtmf
- true
- param_volume
- false
- global_volume_notification
- false
- global_volume_ring
- false
- global_volume_system
- false
- global_volume_voice_call
- false
- global_ringer_mode
- false
- global_interruptions_mode
-
-
- true
- Lautstärken Speichern
- true
- global_volume_alarm
- true
- global_volume_dtmf
- true
- global_volume_music
- true
- global_volume_notification
- true
- global_volume_ring
- true
- global_volume_system
- true
- global_volume_voice_call
- false
- global_ringer_mode
- false
- global_interruptions_mode
-
-
- true
- Lautstärken Wiederherstellen
- true
- global_volume_alarm
- true
- global_volume_dtmf
- true
- global_volume_music
- true
- global_volume_notification
- true
- global_volume_ring
- true
- global_volume_system
- true
- global_volume_voice_call
- false
- global_ringer_mode
- false
- global_interruptions_mode
-
-
- true
- Pause: 2s (Gerät wach halten)
- 2s
- true
-
-
- true
- Schalte Display ein: Hell für 60s
- true
- 60s
- true
-
-
- true
- Script: next_alarmday = "{next_alarm,dateformat,c}"
-
-
-
- true
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
-
-
-
- true
- Setze Systemeinstellung: System screen_brightness auf {param_brightness}
- SYSTEM
- screen_brightness
- {param_brightness}
- true
-
-
- true
- Sprachausgabe: {param_message}
- MUSIC
- {param_message}
- de_DE
- true
- 1.0
- true
- 1.0
- false
- false
- false
- false
- TRANSIENT
-
-
- true
- URL in Browser öffnen: {param_url} (mit Chrome)
- {param_url}
- true
- com.android.chrome
- com.google.android.apps.chrome.Main
- Chrome
-
-
- Displaymessage
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/screenMsg, Port 8089
-
- Benachrichtigung auf Bildschirm: {param_message} (lange)
-
-
-
- Informationen
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
- Initialisiere Variablen Telefoninfo: network_country_iso, voice_mail_number
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- Akku Ladestand: grösser als 0%
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
-
- HTTP Request: /automagic/deviceInfo, Port 8089
-
- Pause: 2s (Gerät wach halten)
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- HTTP Response
- Script: next_alarmday = "{next_alarm,dateformat,c}"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Mediaplayer
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
- Audio Player steuern: Medienknopf Zurück (Google Play Musik)
- Audio Player steuern: Medienknopf Weiter (Google Play Musik)
- Audio Player steuern: Medienknopf Stopp (Google Play Musik)
- Audio Player steuern: Medienknopf Play (Google Play Musik)
- Expression: param_button == "next"
- Expression: param_button == "back"
- Expression: param_button == "stop"
- Expression: param_button == "play"
- WLAN Verbunden: TuxNet-AP01
- Expression: trigger == "com.android.music.metachanged"
-
- HTTP Request: /automagic/mediaPlayer, Port 8089
- com.android.music.metachanged
-
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8085/fhem?cmd=setreading%20Nexus5Marko%20currentPlayMusicTrack%20{encodeURLForm(track)} speichern in response
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8085/fhem?cmd=setreading%20Nexus5Marko%20currentPlayMusicAlbum%20{encodeURLForm(album)} speichern in response
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8085/fhem?cmd=setreading%20Nexus5Marko%20currentPlayMusicArtist%20{encodeURLForm(artist)} speichern in response
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- openURL
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/openURL, Port 8089
-
- URL in Browser öffnen: {param_url} (mit Chrome)
-
-
-
- Set Brightness
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
- Setze Systemeinstellung: System screen_brightness auf {param_brightness}
-
- HTTP Request: /automagic/setBrightness, Port 8089
-
-
-
-
- Set Screen On Off
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
- Gerät sperren
- Schalte Display ein: Hell für 60s
-
- HTTP Request: /automagic/setScreenOnOff, Port 8089
-
- Expression: param_screen=="off"
- Expression: param_screen=="on"
-
-
-
-
-
-
- Text to Speech
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/ttsMsg, Port 8089
-
- Lautstärken Speichern
- Sprachausgabe: {param_message}
- Lautstärken Wiederherstellen
- Lautstärke einstellen: Medien auf Level 10
-
-
-
-
-
-
- Volume
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/setVolume, Port 8089
-
- Lautstärken setzen
-
-
-
\ No newline at end of file
diff --git a/[AMAD]_Flows_Tablet b/[AMAD]_Flows_Tablet
deleted file mode 100644
index 2e60051..0000000
--- a/[AMAD]_Flows_Tablet
+++ /dev/null
@@ -1,555 +0,0 @@
-
-
-
- false
- com.android.music.metachanged
- true
- com.android.music.metachanged
-
-
-
-
-
-
-
- artist = getString("artist");
-track = getString("track");
-album = getString("album");
- false
-
-
- true
- HTTP Request: /automagic/deviceInfo, Port 8089
- true
- /automagic/deviceInfo
- 8089
- true
-
-
- true
- HTTP Request: /automagic/mediaPlayer, Port 8089
- true
- /automagic/mediaPlayer
- 8089
- true
-
-
- true
- HTTP Request: /automagic/openURL, Port 8089
- true
- /automagic/openURL
- 8089
- true
-
-
- true
- HTTP Request: /automagic/screenMsg, Port 8089
- true
- /automagic/screenMsg
- 8089
- true
-
-
- true
- HTTP Request: /automagic/setBrightness, Port 8089
- true
- /automagic/setBrightness
- 8089
- true
-
-
- true
- HTTP Request: /automagic/setScreenOnOff, Port 8089
- true
- /automagic/setScreenOnOff
- 8089
- true
-
-
- true
- HTTP Request: /automagic/setVolume, Port 8089
- true
- /automagic/setVolume
- 8089
- true
-
-
- true
- HTTP Request: /automagic/ttsMsg, Port 8089
- true
- /automagic/ttsMsg
- 8089
- true
-
-
- true
- Akku Ladestand: grösser als 0%
- 0
- HIGHER_THAN
-
-
- true
- Expression: param_button == "back"
- param_button == "back"
-
-
- true
- Expression: param_button == "next"
- param_button == "next"
-
-
- true
- Expression: param_button == "play"
- param_button == "play"
-
-
- true
- Expression: param_button == "stop"
- param_button == "stop"
-
-
- true
- Expression: param_screen=="off"
- param_screen=="off"
-
-
- true
- Expression: param_screen=="on"
- param_screen=="on"
-
-
- true
- Expression: trigger == "com.android.music.metachanged"
- trigger == "com.android.music.metachanged"
-
-
- true
- Audio Player steuern: Medienknopf Play (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_PLAY
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Audio Player steuern: Medienknopf Stopp (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_STOP
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Audio Player steuern: Medienknopf Weiter (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_NEXT
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Audio Player steuern: Medienknopf Zurück (Google Play Musik)
- true
- LAUNCH
- KEYCODE_MEDIA_PREVIOUS
- true
- com.google.android.music
- com.google.android.music.playback.MediaButtonIntentReceiver
- Google Play Musik
-
-
- true
- Benachrichtigung auf Bildschirm: {param_message} (lange)
- true
- {param_message}
-
- 200
- 250
- false
- 1.0
- true
- false
- TOP_LEFT
- 0
- 0
-
-
- true
- Gerät sperren
-
-
- true
- HTTP Request: GET http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicAlbum%20{encodeURLForm(album)} speichern in response
- http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicAlbum%20{encodeURLForm(album)}
- true
- false
-
- GET
- X_WWW_FORM_URLENCODED
- text/plain
-
- Lastname=XYZ,Firstname=ABC
- 60000
- false
-
- true
- response
- /storage/emulated/0/Download/file.bin
-
-
- true
- HTTP Request: GET http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicArtist%20{encodeURLForm(artist)} speichern in response
- http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicArtist%20{encodeURLForm(artist)}
- true
- false
-
- GET
- X_WWW_FORM_URLENCODED
- text/plain
-
- Lastname=XYZ,Firstname=ABC
- 60000
- false
-
- true
- response
- /storage/emulated/0/Download/file.bin
-
-
- true
- HTTP Request: GET http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicTrack%20{encodeURLForm(track)} speichern in response
- http://YOUR_FHEM_IP:8085/fhem?cmd=setreading%20YOUR_FHEM_DEVICE_NAME%20currentPlayMusicTrack%20{encodeURLForm(track)}
- true
- false
-
- GET
- X_WWW_FORM_URLENCODED
- text/plain
-
- Lastname=XYZ,Firstname=ABC
- 60000
- false
-
- true
- response
- /storage/emulated/0/Download/file.bin
-
-
- false
- HTTP Response
- powerLevel {battery_percentage}@@powerPlugged {battery_plugged}@@volumeMusikBluetooth {volumeMusikBluetooth}@@volumeMusikSpeaker {volumeMusikSpeaker}@@screenBrightness {screenBrightness}@@nextAlarmTime {next_alarmtime}@@nextAlarmDay {next_alarmday}
- true
- text/html
-
-
- true
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- next_alarm
-
-
- true
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- SYSTEM
- screen_brightness
- screenBrightness
-
-
- true
- Initialisiere Variable Systemeinstellung: System volume_music_bt_a2dp to volumeMusikBluetooth
- SYSTEM
- volume_music_bt_a2dp
- volumeMusikBluetooth
-
-
- true
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- SYSTEM
- volume_music_speaker
- volumeMusikSpeaker
-
-
- true
- Lautstärke einstellen: Medien auf Level 10
- MUSIC
- 10
- true
- false
-
-
- false
- Lautstärken setzen
- false
- global_volume_alarm
- false
- global_volume_dtmf
- true
- param_volume
- false
- global_volume_notification
- false
- global_volume_ring
- false
- global_volume_system
- false
- global_volume_voice_call
- false
- global_ringer_mode
- false
- global_interruptions_mode
-
-
- true
- Lautstärken Speichern
- true
- global_volume_alarm
- true
- global_volume_dtmf
- true
- global_volume_music
- true
- global_volume_notification
- true
- global_volume_ring
- true
- global_volume_system
- true
- global_volume_voice_call
- false
- global_ringer_mode
- false
- global_interruptions_mode
-
-
- true
- Lautstärken Wiederherstellen
- true
- global_volume_alarm
- true
- global_volume_dtmf
- true
- global_volume_music
- true
- global_volume_notification
- true
- global_volume_ring
- true
- global_volume_system
- true
- global_volume_voice_call
- false
- global_ringer_mode
- false
- global_interruptions_mode
-
-
- true
- Pause: 2s (Gerät wach halten)
- 2s
- true
-
-
- true
- Schalte Display ein: Hell für 60s
- true
- 60s
- true
-
-
- true
- Script: next_alarmday = "{next_alarm,dateformat,c}"
-
-
-
- true
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
-
-
-
- true
- Setze Systemeinstellung: System screen_brightness auf {param_brightness}
- SYSTEM
- screen_brightness
- {param_brightness}
- true
-
-
- true
- Sprachausgabe: {param_message}
- MUSIC
- {param_message}
- de_DE
- true
- 1.0
- true
- 1.0
- false
- false
- false
- false
- TRANSIENT
-
-
- true
- URL in Browser öffnen: {param_url} (mit Chrome)
- {param_url}
- true
- com.android.chrome
- com.google.android.apps.chrome.Main
- Chrome
-
-
- Displaymessage
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/screenMsg, Port 8089
-
- Benachrichtigung auf Bildschirm: {param_message} (lange)
-
-
-
- Informationen
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/deviceInfo, Port 8089
-
- Akku Ladestand: grösser als 0%
- Initialisiere Variable Systemeinstellung: System screen_brightness to screenBrightness
- Initialisiere Variable Systemeinstellung: System volume_music_speaker to volumeMusikSpeaker
- Initialisiere Variable Systemeinstellung: System volume_music_bt_a2dp to volumeMusikBluetooth
- Pause: 2s (Gerät wach halten)
- Initialisiere Variable Nächster Alarm: Variable next_alarm
- Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"
- Script: next_alarmday = "{next_alarm,dateformat,c}"
- HTTP Response
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Mediaplayer
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/mediaPlayer, Port 8089
- com.android.music.metachanged
-
- Audio Player steuern: Medienknopf Zurück (Google Play Musik)
- Audio Player steuern: Medienknopf Weiter (Google Play Musik)
- Audio Player steuern: Medienknopf Stopp (Google Play Musik)
- Audio Player steuern: Medienknopf Play (Google Play Musik)
- Expression: param_button == "play"
- Expression: param_button == "next"
- Expression: param_button == "back"
- Expression: param_button == "stop"
- Expression: trigger == "com.android.music.metachanged"
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8085/fhem?cmd=setreading%20Nexus10Wohnzimmer%20currentPlayMusicAlbum%20{encodeURLForm(album)} speichern in response
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8085/fhem?cmd=setreading%20Nexus10Wohnzimmer%20currentPlayMusicArtist%20{encodeURLForm(artist)} speichern in response
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8085/fhem?cmd=setreading%20Nexus10Wohnzimmer%20currentPlayMusicTrack%20{encodeURLForm(track)} speichern in response
- WLAN Verbunden: TuxNet-AP01
- HTTP Request: GET http://fhem-tuxnet.tuxnet.local:8090/Nexus10Wohnzimmer@@currentPlayMusicAlbum@@{encodeURLForm(album)} speichern in response
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- openURL
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/openURL, Port 8089
-
- URL in Browser öffnen: {param_url} (mit Chrome)
-
-
-
- Set Brightness
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/setBrightness, Port 8089
-
- Setze Systemeinstellung: System screen_brightness auf {param_brightness}
-
-
-
- Set Screen On Off
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/setScreenOnOff, Port 8089
-
- Schalte Display ein: Hell für 60s
- Expression: param_screen=="off"
- Expression: param_screen=="on"
- Gerät sperren
-
-
-
-
-
-
- Text to Speech
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/ttsMsg, Port 8089
-
- Lautstärken Speichern
- Sprachausgabe: {param_message}
- Lautstärken Wiederherstellen
- Lautstärke einstellen: Medien auf Level 10
-
-
-
-
-
-
- Volume
- FHEM Info / Steuerung über AMAD Modul
- true
- PARALLEL
-
- HTTP Request: /automagic/setVolume, Port 8089
-
- Lautstärken setzen
-
-
-
\ No newline at end of file