From bef631511548c733dc5304350d5639fbf90070fe Mon Sep 17 00:00:00 2001 From: markooldenburg <> Date: Sun, 17 Jul 2016 11:38:49 +0000 Subject: [PATCH] 74_AMAD: New Minor Release 2.4 new AMADCommBridge API git-svn-id: https://svn.fhem.de/fhem/trunk@11803 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/74_AMAD.pm | 49 +- ....xml => 74_AMADautomagicFlowset_2.4.0.xml} | 2241 ++++++++--------- 3 files changed, 1097 insertions(+), 1194 deletions(-) rename fhem/FHEM/lib/{74_AMADautomagicFlowset_2.2.4.xml => 74_AMADautomagicFlowset_2.4.0.xml} (65%) diff --git a/fhem/CHANGED b/fhem/CHANGED index 607c63a44..12b77e474 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - updated: 74_AMAD: New Minor Release 2.4 new AMADCommBridge API - changed: 10_ZWave: alarm Events text changed, comma replaced, Forum #53389 - feature: 93_DbRep: new module added - reporting of database content written by DbLog, see commandref for details diff --git a/fhem/FHEM/74_AMAD.pm b/fhem/FHEM/74_AMAD.pm index aa8f22fb5..46cc1ba26 100644 --- a/fhem/FHEM/74_AMAD.pm +++ b/fhem/FHEM/74_AMAD.pm @@ -37,8 +37,8 @@ use TcpServerUtils; use Encode qw(encode); -my $modulversion = "2.2.4"; -my $flowsetversion = "2.2.4"; +my $modulversion = "2.4.0"; +my $flowsetversion = "2.4.0"; @@ -278,15 +278,15 @@ sub AMAD_statusRequest($) { my $activetask = AttrVal( $name, "checkActiveTask", "none" ); - my $url = "http://" . $host . ":" . $port . "/fhem-amad/deviceInfo/"; # Path muß so im Automagic als http request Trigger drin stehen + my $url = "http://" . $host . ":" . $port . "/fhem-amad/deviceInfo/"; # Pfad muß so im Automagic als http request Trigger drin stehen HttpUtils_NonblockingGet( { url => $url, - timeout => 30, + timeout => 15, hash => $hash, method => "GET", - header => "fhemip: $fhemip\r\nfhemdevice: $name\r\nactivetask: $activetask\r\napssid: $apssid\r\nbport: $bport", + header => "Connection: close\r\nfhemip: $fhemip\r\nfhemdevice: $name\r\nactivetask: $activetask\r\napssid: $apssid\r\nbport: $bport", doTrigger => 1, callback => \&AMAD_statusRequestErrorHandling, } @@ -904,6 +904,7 @@ sub AMAD_HTTP_POST($$) { timeout => 60, hash => $hash, method => "POST", + header => "Connection: close", doTrigger => 1, callback => \&AMAD_HTTP_POSTerrorHandling, } @@ -1092,10 +1093,9 @@ sub AMAD_CommBridge_Read($) { my $bname = $bhash->{NAME}; - ## Zum testen mal ausgeschalten - if( $hash->{SERVERSOCKET} ) { # Accept and create a child + + if( $hash->{SERVERSOCKET} ) { # Accept and create a child TcpServer_Accept( $hash, "AMAD" ); - return; } @@ -1103,6 +1103,8 @@ sub AMAD_CommBridge_Read($) { my $buf; my $ret = sysread($hash->{CD}, $buf, 1024); + + # When there is an error in connection return if( !defined($ret ) || $ret <= 0 ) { CommandDelete( undef, $hash->{NAME} ); @@ -1121,13 +1123,14 @@ sub AMAD_CommBridge_Read($) { my @data = split( '\R\R', $buf ); my $header = AMAD_Header2Hash( $data[0] ); - my $device = $header->{FHEMDEVICE} if(defined($header->{FHEMDEVICE})); - my $dhash = $defs{$device}; my $response; my $c; - - my $fhemcmd = $header->{FHEMCMD}; - + my $device = $header->{FHEMDEVICE} if(defined($header->{FHEMDEVICE})); + my $fhemcmd = $header->{FHEMCMD} if(defined($header->{FHEMCMD})); + my $dhash = $defs{$device} if( $defs{$device} ); + + + if ( $data[0] =~ /currentFlowsetUpdate.xml/ ) { @@ -1136,6 +1139,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; @@ -1149,13 +1153,24 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; return; } } - + + + + elsif( !defined($device) ) { + readingsSingleUpdate( $bhash, "transmitterERROR", $name." has no device name sends", 1 ); + Log3 $name, 4, "AMAD ($name) - ERROR - no device name given. please check your global variable in automagic"; + return; + } + + + elsif ( $fhemcmd =~ /setreading\b/ ) { my $tv = $data[1]; @@ -1167,6 +1182,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; @@ -1184,6 +1200,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; @@ -1203,6 +1220,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; @@ -1217,6 +1235,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; @@ -1241,6 +1260,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; @@ -1252,6 +1272,7 @@ sub AMAD_CommBridge_Read($) { $c = $hash->{CD}; print $c "HTTP/1.1 200 OK\r\n", "Content-Type: text/plain\r\n", + "Connection: close\r\n", "Content-Length: ".length($response)."\r\n\r\n", $response; } diff --git a/fhem/FHEM/lib/74_AMADautomagicFlowset_2.2.4.xml b/fhem/FHEM/lib/74_AMADautomagicFlowset_2.4.0.xml similarity index 65% rename from fhem/FHEM/lib/74_AMADautomagicFlowset_2.2.4.xml rename to fhem/FHEM/lib/74_AMADautomagicFlowset_2.4.0.xml index b8bb2e782..5a1cda7d4 100644 --- a/fhem/FHEM/lib/74_AMADautomagicFlowset_2.2.4.xml +++ b/fhem/FHEM/lib/74_AMADautomagicFlowset_2.4.0.xml @@ -78,10 +78,10 @@ - global_artist = getString("com.amazon.mp3.artist"); -global_track = getString("com.amazon.mp3.track"); -global_album = getString("com.amazon.mp3.album"); -global_musicapp = "amazonmusic"; + artist = getString("com.amazon.mp3.artist"); +track = getString("com.amazon.mp3.track"); +album = getString("com.amazon.mp3.album"); +musicapp = "amazonmusic"; false @@ -96,10 +96,28 @@ global_musicapp = "amazonmusic"; - global_artist = getString("artist"); -global_track = getString("track"); -global_album = getString("album"); -global_musicapp = "googlemusic" + artist = getString("artist"); +track = getString("track"); +album = getString("album"); +musicapp = "googlemusic"; + false + + + false + com.android.music.playstatechanged + true + com.android.music.playstatechanged + + + + + + + + artist = getString("artist"); +track = getString("track"); +album = getString("album"); +musicapp = "googlemusic"; false @@ -512,6 +530,26 @@ irname=getString("name") Expression: do not Disturb" request_path == "/fhem-amad/setCommands/donotdisturb" + + true + Expression: fhemcmd == "readingsval" + fhemcmd == "readingsval" + + + true + Expression: fhemcmd == "set" + fhemcmd == "set" + + + true + Expression: fhemcmd == "setreading" + fhemcmd == "setreading" + + + true + Expression: fhemcmd == "voiceinputvalue" + fhemcmd == "voiceinputvalue" + true Expression: getAndroidSDKVersion() >= "16" @@ -810,8 +848,10 @@ or global_deviceport!= {header_dport} true - Expression: trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" - trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" + Expression: trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" + or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true @@ -820,13 +860,18 @@ or global_deviceport!= {header_dport} true - Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" - trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" + Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Bluetooth Status: Schaltet aus, Aus" + or trigger == "Bluetooth Status: Schaltet ein, Ein" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true - Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" - trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" + Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "com.android.music.playstatechanged" + or trigger == "com.android.music.metachanged" + or trigger == "com.amazon.mp3.metachanged" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true @@ -836,22 +881,32 @@ or global_deviceport!= {header_dport} true Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt" - trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt" + trigger == "Daydream Status: Gestartet" + or trigger == "Daydream Status: Gestoppt" true - Expression: trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" - trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" + Expression: trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Display Orientierung: Landscape" + or trigger == "Display Orientierung: Portrait" + or trigger == "Display Status: Ein" + or trigger == "Display Status: Aus" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true - Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" - trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" + Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Display Status: Aus" + or trigger == "Display Status: Ein" + or udef_trigger == "setLockPin" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true - Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" - trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" + Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Dock Event: Docked" + or trigger == "Dock Event: Undocked" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true @@ -860,13 +915,18 @@ or global_deviceport!= {header_dport} true - Expression: trigger == "Flugmodus: Aus" - trigger == "Flugmodus: Aus" + Expression: trigger == "Flugmodus: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Flugmodus: Aus" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true - Expression: trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" - trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" + Expression: trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" +or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" +or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" +or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" +or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true @@ -883,6 +943,11 @@ or global_deviceport!= {header_dport} Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*" trigger == "HTTP Request: /fhem-amad/setCommands/*" + + true + Expression: trigger == "Periodischer Timer: alle 30s" + trigger == "Periodischer Timer: alle 30s" + true Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" @@ -895,8 +960,9 @@ or global_deviceport!= {header_dport} true - Expression: trigger == "Systemeinstellung verändert: System next_alarm" - trigger == "Systemeinstellung verändert: System next_alarm" + Expression: trigger == "Systemeinstellung verändert: System next_alarm" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Systemeinstellung verändert: System next_alarm" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true @@ -906,7 +972,9 @@ or global_deviceport!= {header_dport} true Expression: trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" or trigger == "Systemeinstellung verändert: System volume_music_speaker" or trigger == "Systemeinstellung verändert: System volume_music_headphone" - trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" or trigger == "Systemeinstellung verändert: System volume_music_speaker" or trigger == "Systemeinstellung verändert: System volume_music_headphone" + trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" + or trigger == "Systemeinstellung verändert: System volume_music_speaker" + or trigger == "Systemeinstellung verändert: System volume_music_headphone" true @@ -915,8 +983,12 @@ or global_deviceport!= {header_dport} true - Expression: trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" - trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" + Expression: trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" +or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" +or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" +or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" +or trigger == "HTTP Request: /fhem-amad/deviceInfo/" false @@ -930,8 +1002,9 @@ or global_deviceport!= {header_dport} true - Expression: udef_trigger == "setLockPin" - udef_trigger == "setLockPin" + Expression: udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + udef_trigger == "setLockPin" + or trigger == "HTTP Request: /fhem-amad/deviceInfo/" true @@ -1023,27 +1096,6 @@ or global_deviceport!= {header_dport} WLAN verfügbar: {global_apssid} {global_apssid} - - false - Airplainemode - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - airplanemode@@{airplanemode}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - false Airplainemode ON @@ -1074,27 +1126,6 @@ FHEMCMD: setreading de-DE false - - false - Android Version - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - androidVersion@@{androidVersion}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Anruf beenden @@ -1281,27 +1312,6 @@ FHEMCMD: setreading tunein.ui.helpers.MediaButtonIntentReceiver TuneIn Radio - - false - Automagic State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - automagicState@@{notification_text}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Benachrichtigung auf Bildschirm: {param_message} (lange) @@ -1362,27 +1372,6 @@ FHEMCMD: setreading CONTAINS_TEXT - - false - Bluetooth Device Status - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - connectedBTdevices@@{connected_devices_names}@@@@connectedBTdevicesMAC@@{connected_devices_addresses}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Bluetooth ein-/ausschalten: Aus @@ -1465,27 +1454,6 @@ FHEMCMD: setreading true - - false - Bluetooth Status - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - bluetooth@@{bluetooth_state}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Broadcast senden: {param_action} @@ -1505,27 +1473,6 @@ putString("{param_exkey2}", "{param_exval2}"); false - - false - Check run Task - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - checkActiveTask@@{runTask}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Dateien löschen: /sdcard/Download/currentFlowsetUpdate.xml @@ -1556,48 +1503,6 @@ FHEMCMD: setreading /storage/sdcard0/Download/installFlow_{param_flowname} true - - false - Daydream State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - daydream@@{daydream_state}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - Device State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - deviceState@@online@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Display automatisch drehen ein-/ausschalten: Aus @@ -1608,48 +1513,6 @@ FHEMCMD: setreading Display automatisch drehen ein-/ausschalten: Ein true - - false - Do Not Disturb State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - doNotDisturb@@{dndValue}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - Dock State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - dockingState@@{dock_state}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Download URL: http://{global_fhemip}:{global_bridgeport}/currentFlowsetUpdate.xml to /sdcard/Download @@ -1685,47 +1548,14 @@ FHEMCMD: setreading /storage/sdcard0/Download true - - false - Flow Status Informations - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - flow_informations@@{informationFlow_state}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - Flow Status SetCommands - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - flow_SetCommands@@{setCommandFlow_state}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false + + true + Flows ausführen: Send Data to AMADCommBridge + Send Data to AMADCommBridge + + false + false + false false @@ -1775,27 +1605,6 @@ FHEMCMD: setreading /storage/sdcard0/Download/installFlow_{param_flowname} true - - false - Flowsetversion - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - flowsetVersionAtDevice@@{amad_flowset_version}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Flugmodus ein-/ausschalten: Ein @@ -1860,7 +1669,7 @@ androidVersion = "4.0 - 4.0.2 Ice Cream Sandwich" false - Incoming Call + HTTP Request: send READINGS data to AMADCommBridge http://{global_fhemip}:{global_bridgeport} false false @@ -1868,12 +1677,13 @@ androidVersion = "4.0 - 4.0.2 Ice Cream Sandwich" POST GENERAL_TEXT text/plain - incomingCallerName@@{contact_name}@@@@incomingCallerNumber@@{incoming_number}@@@@ + {fhemdata} @@@@readingsNameXYZ@@readingsValueABC 60000 true FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading +FHEMCMD: setreading +Connection: close true response /storage/emulated/0/Download/file.bin @@ -1881,7 +1691,7 @@ FHEMCMD: setreading false - Incoming WhatsApp Message + HTTP Request: send READINGSVAL data to AMADCommBridge http://{global_fhemip}:{global_bridgeport} false false @@ -1889,17 +1699,62 @@ FHEMCMD: setreading POST GENERAL_TEXT text/plain - incommingWhatsAppMessageFrom@@{notification_text}@@@@ + {fhemdata} @@@@readingsNameXYZ@@readingsValueABC 60000 true FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading +FHEMCMD: readingsval +Connection: close true response /storage/emulated/0/Download/file.bin false + + false + HTTP Request: send SET data to AMADCommBridge + http://{global_fhemip}:{global_bridgeport} + false + false + + POST + GENERAL_TEXT + text/plain + {setcmd} + @@@@readingsNameXYZ@@readingsValueABC + 60000 + true + FHEMDEVICE: {global_fhemdevice} +FHEMCMD: set +Connection: close + true + response + /storage/emulated/0/Download/file.bin + false + + + false + HTTP Request: send VOICEINPUTVALUE data to AMADCommBridge + http://{global_fhemip}:{global_bridgeport} + false + false + + POST + GENERAL_TEXT + text/plain + {fhemdata} + @@@@readingsNameXYZ@@readingsValueABC + 60000 + true + FHEMDEVICE: {global_fhemdevice} +FHEMCMD: voiceinputvalue +Connection: close + true + response + /storage/emulated/0/Download/file.bin + true + false Initialisiere Variable Nächster Alarm: next_alarm @@ -1933,69 +1788,6 @@ FHEMCMD: setreading volume_ring_speaker volumeNotification - - false - IntentRadio Status - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - intentRadioState@@{irstate}@@@@intentRadioName@@{irname}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - KeyGuard Set - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - keyguardSet@@{keyguardSet}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - Lautstärke / Volume - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - volume@@{volume}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - false Lautstärken setzen param_notifivolume @@ -2045,27 +1837,6 @@ FHEMCMD: setreading Neustart - - false - Next Alarm State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - nextAlarmState@@{nextalarmstate}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - false Notification Lautstärke Speichern @@ -2110,27 +1881,6 @@ FHEMCMD: setreading false global_interruptions_mode - - false - Notification Volume - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - volumeNotification@@{volumeNotification}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - false NotificationLautstärke auf Level 7 @@ -2145,27 +1895,6 @@ FHEMCMD: setreading {param_callnumber} true - - false - Nächster Alarm - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - nextAlarmTime@@{next_alarmtime}@@@@nextAlarmDay@@{next_alarmday}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Pause: 1s (Gerät wach halten) @@ -2223,27 +1952,6 @@ if (header_apssid != null or header_apssid != {global_apssid}) { if (header_dport != null or header_dport != {global_deviceport}) { global_deviceport = {header_dport} } - - false - Reading Music Metachanged.2 - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - currentMusicTrack@@{global_track}@@@@currentMusicAlbum@@{global_album}@@@@currentMusicArtist@@{global_artist}@@@@currentMusicApp@@{global_musicapp}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - false Schalte Display ein @@ -2258,69 +1966,6 @@ FHEMCMD: setreading {param_screenontime}s true - - false - Screen Brightness - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - screenBrightness@@{screenBrightness}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - Screen Orientation - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - screenOrientation@@{screen_orientation}@@@@screenOrientationMode@@{screen_orientation_mode}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - - - false - Screen State - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - screen@@{screen_state}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true Script: airpcount = 0 @@ -2331,6 +1976,12 @@ FHEMCMD: setreading Script: airpcount = airpcount + 1 + + true + Script: airplanemode = "airplanemode@@" + {airplanemode}; fhemcmd = "setreading"; + + true Script: airplanemode = "off" @@ -2338,14 +1989,35 @@ FHEMCMD: setreading true - Script: amad_flowset_version = "2.2.4" - + Script: androidVersion = "androidVersion@@" + {androidVersion}; fhemcmd = "setreading"; + true Script: androidVersion = "not supported funktion" + + true + Script: artist = "no player active"; track = "no player active"; album = "no player active"; musicapp = "no player active"; + + + + true + Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading"; + + + + true + Script: bluetooth = "bluetooth@@" + {bluetooth_state}; fhemcmd = "setreading"; + + true Script: bluetooth_state = "off" @@ -2358,9 +2030,37 @@ FHEMCMD: setreading true - Script: connected_devices_names = "null"; connected_devices_addresses = "null" - + Script: btdeviceinfo = "connectedBTdevices@@" + {connected_devices_names} + "@@@@connectedBTdevicesMAC@@" + {connected_devices_addresses}; fhemcmd = "setreading"; + + + + true + Script: checkActiveTask = "checkActiveTask@@" + {runTask}; fhemcmd = "setreading"; + + + + true + Script: connected_devices_names = "none"; connected_devices_addresses = "none" + + + + true + Script: currentMusic = "currentMusicTrack@@" + {track} + "@@@@currentMusicAlbum@@" + {album} + "@@@@currentMusicArtist@@" + {artist} + "@@@@currentMusicApp@@" + {musicapp}; fhemcmd = "setreading"; + + + + true + Script: daydream = "daydream@@" + {daydream_state}; fhemcmd = "setreading"; + true @@ -2372,6 +2072,12 @@ connected_devices_addresses = "null" Script: daydream_state = "on" + + true + Script: deviceState = "deviceState@@online"; fhemcmd = "setreading"; + + true Script: dndValue = "alarmClockOnly" @@ -2404,11 +2110,39 @@ connected_devices_addresses = "null" true - Script: global_artist = "no player active"; global_track = "no player active"; global_album = "no player active"; global_musicapp = "no player active"; - + Script: dockingState = "dockingState@@" + {dock_state}; fhemcmd = "setreading"; + + + + true + Script: doNotDisturb = "doNotDisturb@@" + {dndValue}; fhemcmd = "setreading"; + + + + true + Script: fhemdata = value; fhemcmd = "voiceinputvalue"; + + + + true + Script: fhemdata = value; fhemcmd = {left(value, (indexOf(value, " und ")))}; + + + + true + Script: flow_informations = "flow_informations@@" + {informationFlow_state}; fhemcmd = "setreading"; + + + + true + Script: flow_SetCommands = "flow_SetCommands@@" + {setCommandFlow_state}; fhemcmd = "setreading"; + true @@ -2428,6 +2162,19 @@ nextalarmstate = "done" if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE") { nextalarmstate = "snooze" } + + + true + Script: incomingCaller = "incomingCallerName@@" + {contact_name} + "@@@@incomingCallerNumber@@" + {incoming_number}; fhemcmd = "setreading"; + + + + true + Script: incommingWhatsAppMessage = "incommingWhatsAppMessageFrom@@" + {notification_text}; fhemcmd = "setreading"; + true @@ -2439,6 +2186,13 @@ nextalarmstate = "snooze" Script: informationFlow_state = "inaktiv" + + true + Script: intentRadioState = "intentRadioState@@" + {irstate} + "@@@@intentRadioName@@" + {irname}; fhemcmd = "setreading"; + + true Script: keyguard = "locked" @@ -2459,6 +2213,12 @@ nextalarmstate = "snooze" Script: keyguardSet = "1" + + true + Script: keyguardSet = "keyguardSet@@" + {keyguardSet}; fhemcmd = "setreading"; + + true Script: keyguardSet = "not supported from your device" @@ -2474,6 +2234,19 @@ nextalarmstate = "snooze" Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" + + true + Script: nextAlarm = "nextAlarmTime@@" + {next_alarmtime} + "@@@@nextAlarmDay@@" + {next_alarmday}; fhemcmd = "setreading"; + + + + true + Script: nextAlarmState = "nextAlarmState@@" + {nextalarmstate}; fhemcmd = "setreading"; + + true Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" @@ -2494,6 +2267,15 @@ nextalarmstate = "snooze" Script: notification_text = "not supported from your device" + + true + Script: powerinfo = "powerLevel@@" + "{battery_percentage,numberformat,0}" + "@@@@powerPlugged@@" + {battery_plugged} + "@@@@batteryTemperature@@" + "{battery_temperature/10.0,numberformat.0.0}" + "@@@@batteryHealth@@" + {battery_health}; fhemcmd = "setreading"; + + true Script: runTask = "0" @@ -2524,6 +2306,12 @@ nextalarmstate = "snooze" Script: scrcount = scrcount + 1 + + true + Script: screen = "screen@@" + {screen_state}; fhemcmd = "setreading"; + + true Script: screen_orientation = "landscape" @@ -2564,6 +2352,101 @@ nextalarmstate = "snooze" Script: screen_state = "on" + + true + Script: screenBrightness = "screenBrightness@@" + {screenBrightness}; fhemcmd = "setreading"; + + + + true + Script: screenOrientation = "screenOrientation@@" + {screen_orientation} + "@@@@screenOrientationMode@@" + {screen_orientation_mode}; fhemcmd = "setreading"; + + + + false + Script: Set FHEMDATA + + true Script: setCommandFlow_state = "aktiv" @@ -2589,47 +2472,17 @@ nextalarmstate = "snooze" Script: volume = {volumeSP} - - false - Send Voice Input Value to AMADCommBridge - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - {value} - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: voiceinputvalue - true - response - /storage/emulated/0/Download/file.bin - true + + true + Script: volumeNotification = "volumeNotification@@" + {volumeNotification}; fhemcmd = "setreading"; + - - false - Send Voice Input Value to AMADCommBridge left - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - {left(value, (indexOf(value, " und ")))} - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: voiceinputvalue - true - response - /storage/emulated/0/Download/file.bin - true + + true + Script: volumevalue = "volume@@" + {volume}; fhemcmd = "setreading"; + true @@ -2797,27 +2650,6 @@ FHEMCMD: voiceinputvalue true TRANSIENT - - false - Stromversorgung und Akkustand - http://{global_fhemip}:{global_bridgeport} - false - false - - POST - GENERAL_TEXT - text/plain - powerLevel@@{battery_percentage,numberformat,0}@@@@powerPlugged@@{battery_plugged}@@@@batteryTemperature@@{battery_temperature/10.0,numberformat.0.0}@@@@batteryHealth@@{battery_health}@@@@ - @@@@readingsNameXYZ@@readingsValueABC - 60000 - true - FHEMDEVICE: {global_fhemdevice} -FHEMCMD: setreading - true - response - /storage/emulated/0/Download/file.bin - false - true URL in Browser öffnen: {param_url} (mit {param_browserapp}/{param_browserappclass}) @@ -2840,20 +2672,22 @@ FHEMCMD: setreading Informations - AMAD2 Info/Control Flowset v2.2.4 + AMAD2 Info/Control Flowset v2.4.0 true - PARALLEL + QUEUE 900 Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE Stromversorgung: Angeschlossen Genereller Broadcast: wenn org.smblott.intentradio.STATE - com.android.music.metachanged + com.amazon.mp3.metachanged Systemeinstellung verändert: System volume_music_headphone Stromversorgung: Entfernt Bluetooth Status: Schaltet ein, Ein + com.android.music.metachanged Display Status: Aus Display Orientierung: Portrait + com.android.music.playstatechanged Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS Bluetooth Status: Schaltet aus, Aus @@ -2872,7 +2706,6 @@ FHEMCMD: setreading Unterbrechnungen-Modus: Alle / Immer unterbrechen HTTP Request: /fhem-amad/deviceInfo/ Periodischer Timer: alle 30s - com.amazon.mp3.metachanged Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic Systemeinstellung verändert: System next_alarm @@ -2880,377 +2713,390 @@ FHEMCMD: setreading Unterbrechnungen-Modus: Keine / Nicht unterbrechen Dock Event: Undocked Display Orientierung: Landscape + Unterbrechnungen-Modus: Nur Wecker (Android 6+) Flugmodus: Aus Systemeinstellung verändert: System volume_ring_speaker - Unterbrechnungen-Modus: Nur Wecker (Android 6+) - Script: setCommandFlow_state = "inaktiv" - Script: daydream_state = "on" - Script: daydream_state = "off" - Script: next_alarmday = "{next_alarm,dateformat,c}" - Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" - Initialisiere Variable Nächster Alarm: next_alarm - Expression: getAndroidSDKVersion() >= "19" - Script: runTask = "1" - Script: runTask = "0" - Script: runTask = "not supported android version" - Script: runTask = "null" - Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker" - Expression: trigger == "Systemeinstellung verändert: System next_alarm" - Expression: trigger == "Systemeinstellung verändert: System screen_brightness" - Script: airplanemode = "off" - Expression: airpcount < 11 - Script: keyguard = "unlocked" - Display Orientierung: Portrait - Script: screen_orientation = "portrait" - Script: screen_orientation = "landscape" - Script: dock_state = "docked" - Script: dock_state = "undocked" - Script: keyguardSet = "0" - Script: screen_orientation_mode = "auto" - Script: screen_orientation_mode = "manual" - Expression: trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" - Script: setCommandFlow_state = "aktiv" - Flow Aktiv: SetCommands - Setze Flow Status: Aktivieren SetCommands - Script: scrcount = 0 - Script: keyguard = "locked" - Expression: scrcount < 5 - Script: scrcount = scrcount + 1 - Pause: 2s (Gerät wach halten) - Expression: trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" or trigger == "Systemeinstellung verändert: System volume_music_speaker" or trigger == "Systemeinstellung verändert: System volume_music_headphone" - Musik Aktiv - Script: bluetooth_state = "off" - Script: bluetooth_state = "on" - Script: connected_devices_names = "null"; connected_devices_addresses = "null" - Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt" - Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle" - Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" - Benachrichtigung in Statusbar angezeigt: Automagic - Expression: getAndroidSDKVersion() >= "19" - Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" - Benachrichtigung in Statusbar angezeigt: WhatsApp - Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE" - Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp" - Check run Task - Bluetooth Status - Bluetooth Device Status - Notification Volume - Lautstärke / Volume - Nächster Alarm - Screen Brightness - Screen Orientation - Dock State - Incoming WhatsApp Message - IntentRadio Status - Flowsetversion - Flow Status SetCommands - Script: airpcount = airpcount + 1 - Script: airpcount = 0 - Pause: 2s (Gerät wach halten) - Expression: global_apssid != "usb-ethernet" - WLAN Verbunden: {global_apssid} - Dock Status: Docked - Expression: trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" - Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" - Expression: global_activetask != null - Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" - App Task läuft: {global_activetask} (neuster) - Automagic State - Script: notification_text = "not supported from your device" - Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2 - Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2 - Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution) - Script: volume = {volumeBT} - Script: volume = {volumeSP} - Initialisiere Variable Systemeinstellung: screenBrightness - Initialisiere Variable Systemeinstellung: volumeNotification - Script: androidVersion = "not supported funktion" - Android Version - Expression: trigger == "Flugmodus: Aus" - Expression: package_name == {global_activetask} - Daydream State - Get Android Version - Incoming Call - KeyGuard Set - Device State - Stromversorgung: Angeschlossen + Script: daydream_state = "on" + Script: daydream_state = "off" + Script: next_alarmday = "{next_alarm,dateformat,c}" + Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" + Expression: airpcount < 11 + Script: keyguard = "unlocked" + Display Orientierung: Portrait + Script: screen_orientation = "portrait" + Script: screen_orientation = "landscape" + Script: dock_state = "docked" + Script: dock_state = "undocked" + Script: keyguardSet = "0" + Script: screen_orientation_mode = "manual" + Script: scrcount = 0 + Script: keyguard = "locked" + Expression: scrcount < 5 + Script: scrcount = scrcount + 1 + Pause: 2s (Gerät wach halten) + Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" + Benachrichtigung in Statusbar angezeigt: Automagic + Expression: getAndroidSDKVersion() >= "19" + Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" + Benachrichtigung in Statusbar angezeigt: WhatsApp + Script: airpcount = airpcount + 1 + Script: airpcount = 0 + Pause: 2s (Gerät wach halten) + Expression: global_apssid != "usb-ethernet" + WLAN Verbunden: {global_apssid} + Dock Status: Docked + Script: notification_text = "not supported from your device" + Pause: 3s (Gerät wach halten) + WLAN Reassoziieren + WLAN verfügbar: {global_apssid} + Display automatisch drehen eingeschaltet + Expression: trigger == "Daydream Status: Gestartet" + Bluetooth eingeschaltet + Expression: trigger == "App Task Beendet" + Expression: global_bridgeport == null or global_bridgeport != {header_bport} or global_fhemip == null or global_fhemip != {header_fhemip} or global_fhemdevice == null or global_fhemdevice != {header_fhemdevice} or global_activetask == null or global_activetask != {header_activetask} or global_apssid == null or global_apssid != {header_apssid} or global_deviceport != null or global_deviceport!= {header_dport} + Keyguard gesperrt + Expression: keyguard == "locked" + Expression: getAndroidSDKVersion() >= "19" + Script: notification_text = "not supported from your device" + Expression: getAndroidSDKVersion() >= "16" + Script: keyguardSet = "not supported from your device" + Display eingeschaltet + Display eingeschaltet + Expression: getAndroidSDKVersion() >= "16" + Unterbrechnungen-Modus: Nur Wecker (Android 6+) + Unterbrechnungen-Modus: Keine / Nicht unterbrechen + Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen + Unterbrechnungen-Modus: Alle / Immer unterbrechen + Prüfe und setze globale Variablen + Script: dndValue = "always" + Script: dndValue = "onlyImportant" + Script: dndValue = "never" + Script: dndValue = "alarmClockOnly" + Script: screen_state = "on" + Script: screen_state = "off" + Script: screen_state = "on {keyguard}" + Script: screen_state = "off {keyguard}" + Script: airplanemode = "off" + Musik Aktiv + Script: bluetooth_state = "on" + Script: artist = "no player active"; track = "no player active"; album = "no player active"; musicapp = "no player active"; + Initialisiere Variable Nächster Alarm: next_alarm + Expression: global_fhemip != null or header_fhemip != null + Script: androidVersion = "not supported funktion" + Expression: package_name == {global_activetask} + App Task läuft: {global_activetask} (neuster) + Script: runTask = "1" + Script: runTask = "0" + Expression: getAndroidSDKVersion() >= "19" + Script: runTask = "not supported android version" + Script: runTask = "null" + Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Periodischer Timer: alle 30s" + Expression: global_activetask != null + WLAN Verbunden: {global_apssid} + Expression: global_apssid != "usb-ethernet" + Flow Aktiv: SetCommands + Script: setCommandFlow_state = "inaktiv" + Script: setCommandFlow_state = "aktiv" + Setze Flow Status: Aktivieren SetCommands + Expression: trigger == "Periodischer Timer: alle 30s" + Expression: trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt" + Expression: trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" Expression: trigger == "Akku Ladestand: grösser als 0%" - Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" - Script: global_artist = "no player active"; global_track = "no player active"; global_album = "no player active"; global_musicapp = "no player active"; - Reading Music Metachanged.2 - Pause: 3s (Gerät wach halten) - WLAN Reassoziieren - WLAN verfügbar: {global_apssid} - Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" - Display automatisch drehen eingeschaltet - Expression: trigger == "Daydream Status: Gestartet" - Bluetooth Gerät verbunden: Beliebiges Geräte - Bluetooth eingeschaltet - Prüfe und setze globale Variablen - Expression: trigger == "App Task Beendet" - Expression: global_fhemip != null or header_fhemip != null - Expression: global_bridgeport == null or global_bridgeport != {header_bport} or global_fhemip == null or global_fhemip != {header_fhemip} or global_fhemdevice == null or global_fhemdevice != {header_fhemdevice} or global_activetask == null or global_activetask != {header_activetask} or global_apssid == null or global_apssid != {header_apssid} or global_deviceport != null or global_deviceport!= {header_dport} - WLAN Verbunden: {global_apssid} - Keyguard gesperrt - Expression: keyguard == "locked" - Expression: getAndroidSDKVersion() >= "19" - Keyguard mit Sicherheit - Script: notification_text = "not supported from your device" - Script: keyguardSet = "1" - Expression: udef_trigger == "setLockPin" - Expression: getAndroidSDKVersion() >= "16" - Script: keyguardSet = "not supported from your device" - Airplainemode - Stromversorgung und Akkustand - Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/" - Script: screen_state = "on {keyguard}" - Script: screen_state = "off {keyguard}" - Display eingeschaltet - Script: screen_state = "on" - Script: screen_state = "off" - Display eingeschaltet - Screen State - Expression: getAndroidSDKVersion() >= "16" - Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" - Expression: trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" - Unterbrechnungen-Modus: Nur Wecker (Android 6+) - Unterbrechnungen-Modus: Keine / Nicht unterbrechen - Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen - Unterbrechnungen-Modus: Alle / Immer unterbrechen - Script: dndValue = "alarmClockOnly" - Script: dndValue = "never" - Script: dndValue = "onlyImportant" - Script: dndValue = "always" - Next Alarm State - Do Not Disturb State - Expression: trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" - Script: if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT") { nextalarmstate = "alert" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS") { nextalarmstate = "dismiss" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE") { nextalarmstate = "done" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE") { nextalarmstate = "snooze" } - Script: amad_flowset_version = "2.2.4" - Expression: global_apssid != "usb-ethernet" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Stromversorgung: Angeschlossen + Script: screen_orientation_mode = "auto" + Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Script: screen = "screen@@" + {screen_state}; fhemcmd = "setreading"; + Script: airplanemode = "airplanemode@@" + {airplanemode}; fhemcmd = "setreading"; + Script: bluetooth = "bluetooth@@" + {bluetooth_state}; fhemcmd = "setreading"; + Script: doNotDisturb = "doNotDisturb@@" + {dndValue}; fhemcmd = "setreading"; + Script: daydream = "daydream@@" + {daydream_state}; fhemcmd = "setreading"; + Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading"; + Script: dockingState = "dockingState@@" + {dock_state}; fhemcmd = "setreading"; + Script: incomingCaller = "incomingCallerName@@" + {contact_name} + "@@@@incomingCallerNumber@@" + {incoming_number}; fhemcmd = "setreading"; + Script: intentRadioState = "intentRadioState@@" + {irstate} + "@@@@intentRadioName@@" + {irname}; fhemcmd = "setreading"; + Script: androidVersion = "androidVersion@@" + {androidVersion}; fhemcmd = "setreading"; + Script: flow_SetCommands = "flow_SetCommands@@" + {setCommandFlow_state}; fhemcmd = "setreading"; + Script: checkActiveTask = "checkActiveTask@@" + {runTask}; fhemcmd = "setreading"; + Flows ausführen: Send Data to AMADCommBridge + Script: deviceState = "deviceState@@online"; fhemcmd = "setreading"; + Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Get Android Version + Script: bluetooth_state = "off" + Script: if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT") { nextalarmstate = "alert" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS") { nextalarmstate = "dismiss" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE") { nextalarmstate = "done" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE") { nextalarmstate = "snooze" } + Bluetooth Gerät verbunden: Beliebiges Geräte + Script: btdeviceinfo = "connectedBTdevices@@" + {connected_devices_names} + "@@@@connectedBTdevicesMAC@@" + {connected_devices_addresses}; fhemcmd = "setreading"; + Script: connected_devices_names = "none"; connected_devices_addresses = "none" + Expression: trigger == "Systemeinstellung verändert: System next_alarm" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Keyguard mit Sicherheit + Script: keyguardSet = "1" + Script: keyguardSet = "keyguardSet@@" + {keyguardSet}; fhemcmd = "setreading"; + Expression: udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle" + Script: incommingWhatsAppMessage = "incommingWhatsAppMessageFrom@@" + {notification_text}; fhemcmd = "setreading"; + Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp" + Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE" + Expression: trigger == "Flugmodus: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Initialisiere Variable Systemeinstellung: screenBrightness + Script: screenBrightness = "screenBrightness@@" + {screenBrightness}; fhemcmd = "setreading"; + Expression: trigger == "Systemeinstellung verändert: System screen_brightness" + Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker" + Initialisiere Variable Systemeinstellung: volumeNotification + Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2 + Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2 + Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution) + Expression: trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" or trigger == "Systemeinstellung verändert: System volume_music_speaker" or trigger == "Systemeinstellung verändert: System volume_music_headphone" + Script: volumevalue = "volume@@" + {volume}; fhemcmd = "setreading"; + Script: volume = {volumeBT} + Script: volume = {volumeSP} + Script: nextAlarmState = "nextAlarmState@@" + {nextalarmstate}; fhemcmd = "setreading"; + Script: currentMusic = "currentMusicTrack@@" + {track} + "@@@@currentMusicAlbum@@" + {album} + "@@@@currentMusicArtist@@" + {artist} + "@@@@currentMusicApp@@" + {musicapp}; fhemcmd = "setreading"; + Script: volumeNotification = "volumeNotification@@" + {volumeNotification}; fhemcmd = "setreading"; + Script: nextAlarm = "nextAlarmTime@@" + {next_alarmtime} + "@@@@nextAlarmDay@@" + {next_alarmday}; fhemcmd = "setreading"; + Script: screenOrientation = "screenOrientation@@" + {screen_orientation} + "@@@@screenOrientationMode@@" + {screen_orientation_mode}; fhemcmd = "setreading"; + Script: powerinfo = "powerLevel@@" + "{battery_percentage,numberformat,0}" + "@@@@powerPlugged@@" + {battery_plugged} + "@@@@batteryTemperature@@" + "{battery_temperature/10.0,numberformat.0.0}" + "@@@@batteryHealth@@" + {battery_health}; fhemcmd = "setreading"; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MultimediaControl - AMAD2 Info/Control Flowset v2.2.4 + AMAD2 Info/Control Flowset v2.4.0 true - PARALLEL + QUEUE HTTP Request: /fhem-amad/multimediaControl @@ -3327,16 +3173,43 @@ FHEMCMD: setreading + + Send Data to AMADCommBridge + AMAD2 Info/Control Flowset v2.4.0 + true + PARALLEL + 900 + + Expression: fhemcmd == "set" + Expression: fhemcmd == "readingsval" + Expression: fhemcmd == "voiceinputvalue" + Expression: fhemcmd == "setreading" + Script: Set FHEMDATA + HTTP Request: send READINGS data to AMADCommBridge + HTTP Request: send SET data to AMADCommBridge + HTTP Request: send READINGSVAL data to AMADCommBridge + HTTP Request: send VOICEINPUTVALUE data to AMADCommBridge + + + + + + + + + + SetCommands - AMAD2 Info/Control Flowset v2.2.4 + AMAD2 Info/Control Flowset v2.4.0 true QUEUE 900 Akku Ladestand: grösser als 0% - Sprachbefehl angefordert + Periodischer Timer: alle 30s HTTP Request: /fhem-amad/deviceInfo/ + Sprachbefehl angefordert Display Status: Ein HTTP Request: /fhem-amad/setCommands/* @@ -3395,100 +3268,101 @@ FHEMCMD: setreading Expression: param_notifyfile == "RedAlert.mp3" Notification Lautstärke Wiederherstellen Expression: setVoiceCommand" - Flows ausführen: VoiceControl - Expression: Clear Automagic Meldungen" - Flugmodus ein-/ausschalten: Ein - Setze Display Helligkeit: {param_brightness} - Expression: setScreenlock" - Expression: sendIntent" - Setze Flow Status: Aktivieren Informations - Script: informationFlow_state = "aktiv" - Expression: Airplanemode - Pause: 1s (Gerät wach halten) - Airplainemode ON - Expression: param_lockmod == "lock" - Setze Lock PIN/Passwort: PIN/Passwort zurücksetzen - Setze Lock PIN/Passwort: Setze PIN von Variable param_lockpin - Expression: trigger == "Sprachbefehl angefordert" - WLAN Verbunden: {global_apssid} - Setze Alarm: um {param_hour}:{param_minute} - Expression: setAlarm" - Setze Timer - Expression: setVibrate" - Expression: openApp" - App Starten: App - Schalte Display ein: Hell für {param_screenontime}s - Flow Status Informations - App Task läuft: App (neuster) - Expression: screenMsg" - Benachrichtigung auf Bildschirm: {param_message} (lange) - Vibrieren: Pattern 2 (-- --) - Expression: global_apssid != "usb-ethernet" - Expression: installFlow" - Download URL: http://{global_fhemip}:{global_bridgeport}/installFlow_{param_flowname} to /storage/emulated/0/Download - Flows/Widgets importieren: /storage/emulated/0/Download/installFlow_{param_flowname} - Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} - Dateien löschen: /storage/sdcard0/Download/installFlow_{param_flowname} - Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} - Flows/Widgets importieren: /storage/sdcard0/Download/installFlow_{param_flowname} - Download URL: http://{global_fhemip}:{global_bridgeport}/installFlow_{param_flowname} to /storage/sdcard0/Download - Download URL: http://{global_fhemip}:{global_bridgeport}/installFlow_{param_flowname} to /storage/sdcard0/Download - Flows/Widgets importieren: /storage/sdcard0/Download/installFlow_{param_flowname} - Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} - Dateien löschen: /storage/sdcard0/Download/installFlow_{param_flowname} - Gerätespeicherplatz: Freier Speicherplatz > 1kb (/sdcard) - Automagic State - Script: notification_text = "Flow install: path for download not exist" - Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/emulated/0) - Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/sdcard0) - Sound: {param_notifypath}{param_notifyfile} als Benachrichtigung - Dateien löschen: /storage/emulated/0/Download/installFlow_{param_flowname} - Gerät sperren - Script: udef_trigger = "setLockPin" - Flows ausführen: udef_trigger setLockPin - Display eingeschaltet - Gerät sperren - Schalte Display ein - Gerät sperren - Sprachausgabe: {param_message} - Lautstärken setzen param_volume - Lautstärken setzen param_notifivolume - Expression: setTimer" - Expression: openCall" - Nummer anrufen: {param_callnumber} - Expression: param_option - Pause: {param_hanguptime}s (Gerät wach halten) - Anruf beenden - Broadcast senden: {param_action} - URL in Browser öffnen: {param_url} (mit {param_browserapp}/{param_browserappclass}) - Setze Unterbrechnungen-Modus: Alle / Immer unterbrechen - Setze Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen - Setze Unterbrechnungen-Modus: Keine / Nicht unterbrechen - Setze Unterbrechnungen-Modus: Nur Wecker (Android 6+) - Expression: openURL" - Expression: param_fullscreen == "on" - Expression: do not Disturb" - Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*" - Expression: param_disturbmod == "always" - Expression: param_disturbmod == "onlyImportant" - Expression: param_disturbmod == "never" - Expression: param_disturbmod == "alarmClockOnly" - - - - + Expression: Clear Automagic Meldungen" + Flugmodus ein-/ausschalten: Ein + Setze Display Helligkeit: {param_brightness} + Expression: setScreenlock" + Expression: sendIntent" + Setze Flow Status: Aktivieren Informations + Script: informationFlow_state = "aktiv" + Expression: Airplanemode + Pause: 1s (Gerät wach halten) + Airplainemode ON + Expression: param_lockmod == "lock" + Setze Lock PIN/Passwort: PIN/Passwort zurücksetzen + Setze Lock PIN/Passwort: Setze PIN von Variable param_lockpin + Expression: trigger == "Sprachbefehl angefordert" + WLAN Verbunden: {global_apssid} + Setze Alarm: um {param_hour}:{param_minute} + Expression: setAlarm" + Setze Timer + Expression: setVibrate" + Expression: openApp" + App Starten: App + App Task läuft: App (neuster) + Expression: screenMsg" + Benachrichtigung auf Bildschirm: {param_message} (lange) + Vibrieren: Pattern 2 (-- --) + Expression: global_apssid != "usb-ethernet" + Expression: installFlow" + Download URL: http://{global_fhemip}:{global_bridgeport}/installFlow_{param_flowname} to /storage/emulated/0/Download + Flows/Widgets importieren: /storage/emulated/0/Download/installFlow_{param_flowname} + Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} + Dateien löschen: /storage/sdcard0/Download/installFlow_{param_flowname} + Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} + Flows/Widgets importieren: /storage/sdcard0/Download/installFlow_{param_flowname} + Download URL: http://{global_fhemip}:{global_bridgeport}/installFlow_{param_flowname} to /storage/sdcard0/Download + Download URL: http://{global_fhemip}:{global_bridgeport}/installFlow_{param_flowname} to /storage/sdcard0/Download + Flows/Widgets importieren: /storage/sdcard0/Download/installFlow_{param_flowname} + Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} + Dateien löschen: /storage/sdcard0/Download/installFlow_{param_flowname} + Gerätespeicherplatz: Freier Speicherplatz > 1kb (/sdcard) + Script: notification_text = "Flow install: path for download not exist" + Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/emulated/0) + Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/sdcard0) + Sound: {param_notifypath}{param_notifyfile} als Benachrichtigung + Dateien löschen: /storage/emulated/0/Download/installFlow_{param_flowname} + Gerät sperren + Script: udef_trigger = "setLockPin" + Flows ausführen: udef_trigger setLockPin + Display eingeschaltet + Gerät sperren + Schalte Display ein + Gerät sperren + Sprachausgabe: {param_message} + Lautstärken setzen param_volume + Lautstärken setzen param_notifivolume + Expression: setTimer" + Expression: openCall" + Nummer anrufen: {param_callnumber} + Expression: param_option + Pause: {param_hanguptime}s (Gerät wach halten) + Anruf beenden + Broadcast senden: {param_action} + URL in Browser öffnen: {param_url} (mit {param_browserapp}/{param_browserappclass}) + Setze Unterbrechnungen-Modus: Alle / Immer unterbrechen + Setze Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen + Setze Unterbrechnungen-Modus: Keine / Nicht unterbrechen + Setze Unterbrechnungen-Modus: Nur Wecker (Android 6+) + Expression: openURL" + Expression: param_fullscreen == "on" + Expression: do not Disturb" + Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*" + Expression: param_disturbmod == "always" + Expression: param_disturbmod == "onlyImportant" + Expression: param_disturbmod == "never" + Expression: param_disturbmod == "alarmClockOnly" + Flows ausführen: VoiceControl + Flows ausführen: Send Data to AMADCommBridge + Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading"; + Schalte Display ein: Hell für {param_screenontime}s + Script: flow_informations = "flow_informations@@" + {informationFlow_state}; fhemcmd = "setreading"; + + + + - + - - + + @@ -3497,7 +3371,7 @@ FHEMCMD: setreading - + @@ -3511,118 +3385,120 @@ FHEMCMD: setreading - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Update AMAD Flowset - AMAD2 Info/Control Flowset v2.2.4 + AMAD2 Info/Control Flowset v2.4.0 true - PARALLEL + QUEUE HTTP Request: /fhem-amad/currentFlowsetUpdate @@ -3638,13 +3514,14 @@ FHEMCMD: setreading Setze Flow Status: Aktivieren {imported_flow_names,listformat,comma} Dateien löschen: /sdcard/Download/currentFlowsetUpdate.xml Script: notification_text = "Flowset Update: path for download not exist" - Automagic State - Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/emulated/0) - Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/sdcard0) - Gerätespeicherplatz: Freier Speicherplatz > 1kb (/sdcard) - Prüfe und setze Bridgeport Variable - Download URL: http://{global_fhemip}:{global_bridgeport}/currentFlowsetUpdate.xml to /storage/emulated/0/Download - + Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/emulated/0) + Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/sdcard0) + Gerätespeicherplatz: Freier Speicherplatz > 1kb (/sdcard) + Prüfe und setze Bridgeport Variable + Download URL: http://{global_fhemip}:{global_bridgeport}/currentFlowsetUpdate.xml to /storage/emulated/0/Download + Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading"; + Flows ausführen: Send Data to AMADCommBridge + @@ -3653,42 +3530,46 @@ FHEMCMD: setreading - - + + + + + - - - - - - - - + + + + + + VoiceControl - AMAD2 Info/Control Flowset v2.2.4 + AMAD2 Info/Control Flowset v2.4.0 true QUEUE - 60 - - AMAD Voice Control - Expression: contains(value, " und ") - Benachrichtigung auf Bildschirm: {value} (lange) - Expression: value != "" - Spracheingabe wurde nicht erkannt - Setze voice Variablen - Send Voice Input Value to AMADCommBridge left - Send Voice Input Value to AMADCommBridge - - - - - - - - - + + Expression: value != "" + AMAD Voice Control + Expression: contains(value, " und ") + Flows ausführen: Send Data to AMADCommBridge + Benachrichtigung auf Bildschirm: {value} (lange) + Flows ausführen: Send Data to AMADCommBridge + Setze voice Variablen + Spracheingabe wurde nicht erkannt + Script: fhemdata = value; fhemcmd = {left(value, (indexOf(value, " und ")))}; + Script: fhemdata = value; fhemcmd = "voiceinputvalue"; + + + + + + + + + + + \ No newline at end of file