diff --git a/74_AMAD.pm b/74_AMAD.pm
index 4b60c25..5dbc8cb 100644
--- a/74_AMAD.pm
+++ b/74_AMAD.pm
@@ -64,6 +64,7 @@ sub AMAD_Initialize($) {
"setOpenUrlBrowser ".
"setNotifySndFilePath ".
"setTtsMsgSpeed ".
+ "setUserFlowState ".
"root:0,1 ".
"port ".
"disable:1 ".
@@ -190,9 +191,13 @@ sub AMAD_Attr(@) {
}
elsif( $attrName eq "checkActiveTask" ) {
-
- AMAD_statusRequest( $hash );
+ if( $cmd eq "del" ) {
+ CommandDeleteReading( undef, "$name checkActiveTask" );
+ }
+
Log3 $name, 3, "AMAD ($name) - $cmd $attrName $attrVal and run statusRequest";
+ RemoveInternalTimer( $hash );
+ InternalTimer( gettimeofday(), "AMAD_GetUpdate", $hash, 0 )
}
elsif( $attrName eq "port" ) {
@@ -224,12 +229,24 @@ sub AMAD_Attr(@) {
elsif( $attrName eq "setScreenlockPIN" ) {
if( $cmd eq "set" && $attrVal ) {
- $attrVal = AMAD_encrypt($attrVal);
+ $attrVal = AMAD_encrypt($attrVal);
} else {
CommandDeleteReading( undef, "$name screenLock" );
}
}
+ elsif( $attrName eq "setUserFlowState" ) {
+ if( $cmd eq "del" ) {
+ CommandDeleteReading( undef, "$name userFlowState" );
+ }
+
+ Log3 $name, 3, "AMAD ($name) - $cmd $attrName $attrVal and run statusRequest";
+ RemoveInternalTimer( $hash );
+ InternalTimer( gettimeofday(), "AMAD_GetUpdate", $hash, 0 )
+ }
+
+
+
if( $cmd eq "set" ) {
if( $attrVal && $orig ne $attrVal ) {
$attr{$name}{$attrName} = $attrVal;
@@ -276,6 +293,7 @@ sub AMAD_statusRequest($) {
my $apssid = $hash->{APSSID};
my $fhemip = ReadingsVal( $bname, "fhemServerIP", "none" );
my $activetask = AttrVal( $name, "checkActiveTask", "none" );
+ my $userFlowState = AttrVal( $name, "setUserFlowState", "none" );
my $url = "http://" . $host . ":" . $port . "/fhem-amad/deviceInfo/"; # Pfad muß so im Automagic als http request Trigger drin stehen
@@ -286,7 +304,7 @@ sub AMAD_statusRequest($) {
timeout => 15,
hash => $hash,
method => "GET",
- header => "Connection: close\r\nfhemip: $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\r\nuserflowstate: $userFlowState",
doTrigger => 1,
callback => \&AMAD_statusRequestErrorHandling,
}
@@ -528,7 +546,7 @@ sub AMAD_Set($$@) {
$list .= "currentFlowsetUpdate:noArg ";
$list .= "installFlowSource ";
$list .= "doNotDisturb:never,always,alarmClockOnly,onlyImportant ";
- $list .= "flowState ";
+ $list .= "userFlowState ";
if( lc $cmd eq 'screenmsg'
|| lc $cmd eq 'ttsmsg'
@@ -559,7 +577,7 @@ sub AMAD_Set($$@) {
|| lc $cmd eq 'installflowsource'
|| lc $cmd eq 'opencall'
|| lc $cmd eq 'donotdisturb'
- || lc $cmd eq 'flowstate'
+ || lc $cmd eq 'userflowstate'
|| lc $cmd eq 'vibrate') {
Log3 $name, 5, "AMAD ($name) - set $name $cmd ".join(" ", @val);
@@ -628,13 +646,12 @@ sub AMAD_SelectSetCmd($$@) {
return AMAD_HTTP_POST( $hash,$url );
}
- elsif( lc $cmd eq 'flowstate' ) {
+ elsif( lc $cmd eq 'userflowstate' ) {
my $datas = join( " ", @data );
- my ($state,$flow) = split( ";", $datas);
-
- $flow =~ s/%/%25/g;
- $flow =~ s/\s/%20/g;
+ my ($state,$flow) = split( ":", $datas);
+
+ $flow =~ s/\s/%20/g;
my $url = "http://" . $host . ":" . $port . "/fhem-amad/setCommands/flowState?flowstate=".$state."&flowname=".$flow;
@@ -1452,6 +1469,7 @@ sub AMAD_decrypt($) {
screenOrientation - Landscape/Portrait, screen orientation (horizontal,vertical)
screenOrientationMode - auto/manual, mode for screen orientation
state - current state of AMAD device
+ userFlowState - current state of a Flow, established under setUserFlowState Attribut
volume - media volume setting
volumeNotification - notification volume setting
@@ -1469,7 +1487,6 @@ sub AMAD_decrypt($) {
currentFlowsetUpdate - start flowset update on Android device
installFlowSource - install a Automagic flow on device, XML file must be stored in /tmp/ with extension xml. Example: set TabletWohnzimmer installFlowSource WlanUebwerwachen.xml
doNotDisturb - sets the do not Disturb Mode, always Disturb, never Disturb, alarmClockOnly alarm Clock only, onlyImportant only important Disturbs
- flowState - set Flow/s active or inactive,set Nexus7Wohnzimmer inactive;Badezimmer vorheizen or set Nexus7Wohnzimmer inactive;Badezimmer vorheizen,Nachtlicht Steven
mediaAmazonMusic - play/stop/next/back , controlling the amazon music media player
mediaGoogleMusic - play/stop/next/back , controlling the google play music media player
mediaSpotifyMusic - play/stop/next/back , controlling the spotify media player
@@ -1481,6 +1498,7 @@ sub AMAD_decrypt($) {
statusRequest - Get a new status report of Android device. Not all readings can be updated using a statusRequest as some readings are only updated if the value of the reading changes.
timer - set a countdown timer in the "Clock" stock app. Only seconds are allowed as parameter.
ttsMsg - send a message which will be played as voice message
+ userFlowState - set Flow/s active or inactive,set Nexus7Wohnzimmer inactive:Badezimmer vorheizen or set Nexus7Wohnzimmer inactive:Badezimmer vorheizen,Nachtlicht Steven
vibrate - vibrate Android device
volume - set media volume. Works on internal speaker or, if connected, bluetooth speaker or speaker connected via stereo jack
volumeNotification - set notifications volume
@@ -1613,6 +1631,7 @@ sub AMAD_decrypt($) {
screenOrientation - Landscape,Portrait, Bildschirmausrichtung (Horizontal,Vertikal)
screenOrientationMode - auto/manual, Modus für die Ausrichtung (Automatisch, Manuell)
state - aktueller Status
+ userFlowState - aktueller Status eines Flows, festgelegt unter dem setUserFlowState Attribut
volume - Media Lautstärkewert
volumeNotification - Benachrichtigungs Lautstärke
@@ -1629,7 +1648,6 @@ sub AMAD_decrypt($) {
clearNotificationBar - All,Automagic, löscht alle Meldungen oder nur die Automagic Meldungen in der Statusleiste
currentFlowsetUpdate - fürt ein Flowsetupdate auf dem Device durch
doNotDisturb - schaltet den nicht stören Modus, always immer stören, never niemals stören, alarmClockOnly nur Wecker darf stören, onlyImportant nur wichtige Störungen
- flowState - aktiviert oder deaktiviert einen oder mehrere Flows,set Nexus7Wohnzimmer inactive;Badezimmer vorheizen oder set Nexus7Wohnzimmer inactive;Badezimmer vorheizen,Nachtlicht Steven
installFlowSource - installiert einen Flow auf dem Device, das XML File muss unter /tmp/ liegen und die Endung xml haben. Bsp: set TabletWohnzimmer installFlowSource WlanUebwerwachen.xml
mediaAmazonMusic - play, stop, next, back ,steuert den Amazon Musik Mediaplayer
mediaGoogleMusic - play, stop, next, back ,steuert den Google Play Musik Mediaplayer
@@ -1641,6 +1659,7 @@ sub AMAD_decrypt($) {
statusRequest - Fordert einen neuen Statusreport beim Device an. Es können nicht von allen Readings per statusRequest die Daten geholt werden. Einige wenige geben nur bei Statusänderung ihren Status wieder.
timer - setzt einen Timer innerhalb der als Standard definierten ClockAPP auf dem Device. Es können nur Sekunden angegeben werden.
ttsMsg - versendet eine Nachricht welche als Sprachnachricht ausgegeben wird
+ userFlowState - aktiviert oder deaktiviert einen oder mehrere Flows,set Nexus7Wohnzimmer inactive:Badezimmer vorheizen oder set Nexus7Wohnzimmer inactive:Badezimmer vorheizen,Nachtlicht Steven
vibrate - lässt das Androidgerät vibrieren
volume - setzt die Medialautstärke. Entweder die internen Lautsprecher oder sofern angeschlossen die Bluetoothlautsprecher und per Klinkenstecker angeschlossene Lautsprecher, + oder - vor dem Wert reduziert die aktuelle Lautstärke um den Wert
volumeNotification - setzt die Benachrichtigungslautstärke.
diff --git a/74_AMADautomagicFlowset_2.6.4.xml b/74_AMADautomagicFlowset_2.6.4.xml
index 00f4389..7f72f23 100644
--- a/74_AMADautomagicFlowset_2.6.4.xml
+++ b/74_AMADautomagicFlowset_2.6.4.xml
@@ -540,7 +540,7 @@ irname=getString("name")
true
- 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}
+ 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} or global_userflowstate != null or global_userflowstate != {header_userflowstate}
global_bridgeport == null
or global_bridgeport != {header_bport}
@@ -557,13 +557,21 @@ or global_apssid == null
or global_apssid != {header_apssid}
or global_deviceport != null
-or global_deviceport!= {header_dport}
+or global_deviceport != {header_dport}
+
+or global_userflowstate != null
+or global_userflowstate != {header_userflowstate}
true
Expression: global_fhemip != null or header_fhemip != null
global_fhemip != null or header_fhemip != null
+
+ true
+ Expression: global_userflowstate != "none"
+ global_userflowstate != "none"
+
false
Expression: installFlow"
@@ -1000,6 +1008,11 @@ or trigger == "HTTP Request: /fhem-amad/deviceInfo/"
Flow Aktiv: SetCommands
SetCommands
+
+ true
+ Flow Aktiv: {global_userflowstate}
+ {global_userflowstate}
+
true
Gerätespeicherplatz: Freier Speicherplatz > 1kb (/sdcard)
@@ -1801,7 +1814,10 @@ if (header_apssid != null or header_apssid != {global_apssid}) {
global_apssid = {header_apssid} }
if (header_dport != null or header_dport != {global_deviceport}) {
- global_deviceport = {header_dport} }
+ global_deviceport = {header_dport} }
+
+if (header_userflowstate != null or header_userflowstate != {global_userflowstate}) {
+ global_userflowstate = {header_userflowstate} }
false
@@ -1975,6 +1991,12 @@ fhemcmd = "setreading";
true
Script: flow_informations = "flow_informations@@" + {informationFlow_state}; fhemcmd = "setreading";
+
+
+ true
+ Script: flow_informations = "userFlowState@@" + {flowState}; fhemcmd = "setreading";
+
@@ -1983,6 +2005,16 @@ fhemcmd = "setreading";
+
+ true
+ Script: flowState = "active"
+
+
+
+ true
+ Script: flowState = "inactive"
+
+
true
Script: if(package_name == "com.google.android.music") { musicapp = "Google Musik" } if(package_name == "com.amazon.mp3") { musicapp = "Amazon Musik" } if(package_name == "com.google.android.videos") { musicapp = "Google Video" } if(package_name == "com.spotify.music") { musicapp = "Spotify Musik" } if(package_name == "com.google.android.youtube") { musicapp = "YouTube" } if(package_name == "tunein.player") { musicapp = "TuneIn Player" } if(package_name == "com.rhapsody.alditalk") { musicapp = "Aldi Life Musik" }
@@ -2776,113 +2808,119 @@ if(param_mplayer == "mediaTuneinRadio")
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}
- Flow Aktiv: SetCommands
- Script: setCommandFlow_state = "inaktiv"
- Script: setCommandFlow_state = "aktiv"
- Setze Flow Status: Aktivieren SetCommands
- Expression: trigger == "Periodischer Timer: alle 30s"
- 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%"
- Stromversorgung: Angeschlossen
- Script: screen_orientation_mode = "auto"
- Script: screen = "screen@@" + {screen_state}; 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";
- Script: deviceState = "deviceState@@online"; fhemcmd = "setreading";
- 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"
- Initialisiere Variable Systemeinstellung: volumeNotification
- Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution)
- Script: volumevalue = "volume@@" + {volume}; fhemcmd = "setreading";
- Script: volume = {volumeBT}
- Script: nextAlarmState = "nextAlarmState@@" + {nextalarmstate}; 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";
- Expression: trigger == "Medien Session verändert" // or trigger == "Medien Session verändert: com.amazon.mp3" // or trigger == "com.amazon.mp3.metachanged" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"
- Pause: 2s (Gerät wach halten)
- Musik Aktiv
- Script: subtitle = "no player active"; title = "no player active"; description = "no player active"; musicapp = "no player active"; icon = "no player active"
- Script: currentMusic = "currentMusicTrack@@" + {title} + "@@@@currentMusicAlbum@@" + {description} + "@@@@currentMusicArtist@@" + {subtitle} + "@@@@currentMusicApp@@" + {musicapp} + "@@@@currentMusicIcon@@" + {icon} + "@@@@currentMusicState@@" + {playback_state}; fhemcmd = "setreading";
- Flows ausführen: Send Data to AMADCommBridge
- Script: airplanemode = "airplanemode@@" + {airplanemode}; fhemcmd = "setreading";
- 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}
- Prüfe und setze globale Variablen
- Expression: Leon == "Gaultier"
- Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/"
- Flows löschen: MultimediaControl
- Benachrichtigung auf Bildschirm: [AMAD2] Nicht mehr benötigte AMAD Flows wurden entfernt! (lange)
- Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker"
- 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" or trigger == "Systemeinstellung verändert: System volume_music_headset"
- Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2
- Script: volume = {volumeSP}
- Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2
- Script: if(playback_state == 0) { playback_state = "keiner" } if(playback_state == 1) { playback_state = "gestoppt" } if(playback_state == 2) { playback_state = "pausiert" } if(playback_state == 3) { playback_state = "spielt ab" } if(playback_state == 4) { playback_state = "spult vorwärts" } if(playback_state == 5) { playback_state = "spült rückwärts" } if(playback_state == 6) { playback_state = "buffert" } if(playback_state == 7) { playback_state = "Fehler" } if(playback_state == 8) { playback_state = "verbindet" } if(playback_state == 9) { playback_state = "springt zum vorherigen" } if(playback_state == 10) { playback_state = "springt zum nächsten" } if(playback_state == 11) { playback_state = "springt zu Position in Wiedergabeliste" }
- Script: if(package_name == "com.google.android.music") { musicapp = "Google Musik" } if(package_name == "com.amazon.mp3") { musicapp = "Amazon Musik" } if(package_name == "com.google.android.videos") { musicapp = "Google Video" } if(package_name == "com.spotify.music") { musicapp = "Spotify Musik" } if(package_name == "com.google.android.youtube") { musicapp = "YouTube" } if(package_name == "tunein.player") { musicapp = "TuneIn Player" } if(package_name == "com.rhapsody.alditalk") { musicapp = "Aldi Life Musik" }
- Expression: global_apssid != "usb-ethernet"
- 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: getAndroidSDKVersion() >= "21"
+ 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%"
+ Stromversorgung: Angeschlossen
+ Script: screen_orientation_mode = "auto"
+ Script: screen = "screen@@" + {screen_state}; 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: checkActiveTask = "checkActiveTask@@" + {runTask}; fhemcmd = "setreading";
+ Script: deviceState = "deviceState@@online"; fhemcmd = "setreading";
+ 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"
+ Initialisiere Variable Systemeinstellung: volumeNotification
+ Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution)
+ Script: volumevalue = "volume@@" + {volume}; fhemcmd = "setreading";
+ Script: volume = {volumeBT}
+ Script: nextAlarmState = "nextAlarmState@@" + {nextalarmstate}; 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";
+ Expression: trigger == "Medien Session verändert" // or trigger == "Medien Session verändert: com.amazon.mp3" // or trigger == "com.amazon.mp3.metachanged" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"
+ Pause: 2s (Gerät wach halten)
+ Musik Aktiv
+ Script: subtitle = "no player active"; title = "no player active"; description = "no player active"; musicapp = "no player active"; icon = "no player active"
+ Script: currentMusic = "currentMusicTrack@@" + {title} + "@@@@currentMusicAlbum@@" + {description} + "@@@@currentMusicArtist@@" + {subtitle} + "@@@@currentMusicApp@@" + {musicapp} + "@@@@currentMusicIcon@@" + {icon} + "@@@@currentMusicState@@" + {playback_state}; fhemcmd = "setreading";
+ Flows ausführen: Send Data to AMADCommBridge
+ Script: airplanemode = "airplanemode@@" + {airplanemode}; fhemcmd = "setreading";
+ Expression: Leon == "Gaultier"
+ Flows löschen: MultimediaControl
+ Benachrichtigung auf Bildschirm: [AMAD2] Nicht mehr benötigte AMAD Flows wurden entfernt! (lange)
+ Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker"
+ 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" or trigger == "Systemeinstellung verändert: System volume_music_headset"
+ Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2
+ Script: volume = {volumeSP}
+ Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2
+ Script: if(playback_state == 0) { playback_state = "keiner" } if(playback_state == 1) { playback_state = "gestoppt" } if(playback_state == 2) { playback_state = "pausiert" } if(playback_state == 3) { playback_state = "spielt ab" } if(playback_state == 4) { playback_state = "spult vorwärts" } if(playback_state == 5) { playback_state = "spült rückwärts" } if(playback_state == 6) { playback_state = "buffert" } if(playback_state == 7) { playback_state = "Fehler" } if(playback_state == 8) { playback_state = "verbindet" } if(playback_state == 9) { playback_state = "springt zum vorherigen" } if(playback_state == 10) { playback_state = "springt zum nächsten" } if(playback_state == 11) { playback_state = "springt zu Position in Wiedergabeliste" }
+ Script: if(package_name == "com.google.android.music") { musicapp = "Google Musik" } if(package_name == "com.amazon.mp3") { musicapp = "Amazon Musik" } if(package_name == "com.google.android.videos") { musicapp = "Google Video" } if(package_name == "com.spotify.music") { musicapp = "Spotify Musik" } if(package_name == "com.google.android.youtube") { musicapp = "YouTube" } if(package_name == "tunein.player") { musicapp = "TuneIn Player" } if(package_name == "com.rhapsody.alditalk") { musicapp = "Aldi Life Musik" }
+ Expression: global_apssid != "usb-ethernet"
+ 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: getAndroidSDKVersion() >= "21"
+ Flow Aktiv: SetCommands
+ Script: setCommandFlow_state = "aktiv"
+ Script: setCommandFlow_state = "inaktiv"
+ Setze Flow Status: Aktivieren SetCommands
+ Script: flow_SetCommands = "flow_SetCommands@@" + {setCommandFlow_state}; fhemcmd = "setreading";
+ Script: flowState = "active"
+ Script: flow_informations = "userFlowState@@" + {flowState}; fhemcmd = "setreading";
+ 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} or global_userflowstate != null or global_userflowstate != {header_userflowstate}
+ Prüfe und setze globale Variablen
+ Expression: global_userflowstate != "none"
+ Flow Aktiv: {global_userflowstate}
+ Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/"
+ WLAN Verbunden: {global_apssid}
+ Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"
+ Expression: trigger == "Periodischer Timer: alle 30s"
+ Script: flowState = "inactive"
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
@@ -2892,16 +2930,16 @@ if(param_mplayer == "mediaTuneinRadio")
-
+
-
+
-
+
-
+
@@ -2909,10 +2947,10 @@ if(param_mplayer == "mediaTuneinRadio")
-
-
+
+
-
+
@@ -2924,172 +2962,181 @@ if(param_mplayer == "mediaTuneinRadio")
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Send Data to AMADCommBridge
@@ -3155,311 +3202,311 @@ if(param_mplayer == "mediaTuneinRadio")
Setze Display Orientierung: Auf Default zurücksetzen
Expression: param_screen=="off"
Expression: setScreenOnOff"
- Flow Aktiv: Informations
- Expression: ttsMsg"
- Display automatisch drehen ein-/ausschalten: Aus
- Display automatisch drehen ein-/ausschalten: Ein
- Expression: setScreenOrientation"
- Expression: param_fullscreen == "off"
- Expression: param_bluetooth == "off"
- Expression: param_bluetooth == "on"
- Bluetooth ein-/ausschalten: Ein
- Script: informationFlow_state = "inaktiv"
- Bluetooth eingeschaltet
- Bluetooth Gerät verbinden/trennen: Trennen Advanced Audio Distribution {param_btdeviceone}
- Bluetooth Gerät verbinden/trennen: Trennen Eingabegerät {param_btdeviceone}
- Bluetooth Gerät verbinden/trennen: Trennen Personal Area Network {param_btdeviceone}
- Bluetooth Gerät verbinden/trennen: Trennen Advanced Audio Distribution {param_btdevicetwo}
- Bluetooth Gerät verbinden/trennen: Trennen Eingabegerät {param_btdevicetwo}
- Bluetooth Gerät verbinden/trennen: Trennen Headset {param_btdeviceone}
- Bluetooth Gerät verbinden/trennen: Trennen Headset {param_btdevicetwo}
- Bluetooth Gerät verbinden/trennen: Trennen Personal Area Network {param_btdevicetwo}
- Pause: 3s (Gerät wach halten)
- Bluetooth Gerät verbinden/trennen: Verbinden Advanced Audio Distribution {param_swtobtdevicemac}
- Pause: 2s (Gerät wach halten)
- Expression: setBTDevice"
- Bluetooth ein-/ausschalten: Aus
- Expression: setVolume"
- Expression: param_orientation == "portrait"
- Expression: Reboot
- Expression: System Command"
- Neustart
- Expression: Shutdown
- Herunterfahren
- Benachrichtigung aus Statusbar entfernen: Alle
- Benachrichtigung aus Statusbar entfernen: Alle (Automagic)
- Expression: Automagic
- Expression: All
- Expression: setNotifiVolume"
- Expression: notifysnd"
- NotificationLautstärke auf Level 7
- Notification Lautstärke Speichern
- Expression: setVoiceCommand"
- Expression: Clear Automagic Meldungen"
- Setze Display Helligkeit: {param_brightness}
- Expression: setScreenlock"
- Expression: sendIntent"
- Setze Flow Status: Aktivieren Informations
- Script: informationFlow_state = "aktiv"
- Expression: Airplanemode
- 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: 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)
- Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/emulated/0)
- Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/sdcard0)
- 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
- Lautstärken setzen param_volume
- Lautstärken setzen param_notifivolume
- Expression: setTimer"
- 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: 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
- Schalte Display ein: Hell für {param_screenontime}s
- Script: flow_informations = "flow_informations@@" + {informationFlow_state}; fhemcmd = "setreading";
- Sprachausgabe: {param_message}
- Flugmodus ein-/ausschalten: Ein
- Script: airplanemode = "airplanemode@@on"; fhemcmd = "setreading";
- Flows ausführen: Send Data to AMADCommBridge mit warten
- Expression: setBluetooth"
- Expression: param_button == "back"
- Audio Player steuern: Medienknopf Zurück ({pname}/{kname})
- Audio Player steuern: Medienknopf Weiter ({pname}/{kname})
- Audio Player steuern: Medienknopf Play ({pname}/{kname})
- Audio Player steuern: Medienknopf Stopp ({pname}/{kname})
- Expression: param_button == "next"
- Expression: param_button == "play"
- Expression: param_button == "stop"
- Expression: setVibrate"
- Expression: multimediaControl"
- Script: Zuordnung Mediaplayer
- Expression: param_notifyfile == "RedAlert.mp3"
- Expression: param_notifyfile == "RedAlert.mp3"
- Notification Lautstärke Wiederherstellen
- Sound: {param_notifypath}{param_notifyfile} als Benachrichtigung
- Expression: openCall"
- Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*"
- Expression: param_flowstate == "active"
- Expression: flowState"
- Expression: param_flowstate == "active" or param_flowstate == "inactive"
- Script: notification_text = "Flow install: path for download not exist"
- Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading";
- Setze Flow Status: Aktivieren {param_flowname}
- Setze Flow Status: Deaktivieren {param_flowname}
- Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading";
- Script: notification_text = "Flow '{param_flowname}' has been set {param_flowstate}"
-
-
-
-
-
+ Expression: ttsMsg"
+ Display automatisch drehen ein-/ausschalten: Aus
+ Display automatisch drehen ein-/ausschalten: Ein
+ Expression: setScreenOrientation"
+ Expression: param_fullscreen == "off"
+ Expression: param_bluetooth == "off"
+ Expression: param_bluetooth == "on"
+ Bluetooth ein-/ausschalten: Ein
+ Bluetooth eingeschaltet
+ Bluetooth Gerät verbinden/trennen: Trennen Advanced Audio Distribution {param_btdeviceone}
+ Bluetooth Gerät verbinden/trennen: Trennen Eingabegerät {param_btdeviceone}
+ Bluetooth Gerät verbinden/trennen: Trennen Personal Area Network {param_btdeviceone}
+ Bluetooth Gerät verbinden/trennen: Trennen Advanced Audio Distribution {param_btdevicetwo}
+ Bluetooth Gerät verbinden/trennen: Trennen Eingabegerät {param_btdevicetwo}
+ Bluetooth Gerät verbinden/trennen: Trennen Headset {param_btdeviceone}
+ Bluetooth Gerät verbinden/trennen: Trennen Headset {param_btdevicetwo}
+ Bluetooth Gerät verbinden/trennen: Trennen Personal Area Network {param_btdevicetwo}
+ Pause: 3s (Gerät wach halten)
+ Bluetooth Gerät verbinden/trennen: Verbinden Advanced Audio Distribution {param_swtobtdevicemac}
+ Pause: 2s (Gerät wach halten)
+ Expression: setBTDevice"
+ Bluetooth ein-/ausschalten: Aus
+ Expression: setVolume"
+ Expression: param_orientation == "portrait"
+ Expression: Reboot
+ Expression: System Command"
+ Neustart
+ Expression: Shutdown
+ Herunterfahren
+ Benachrichtigung aus Statusbar entfernen: Alle
+ Benachrichtigung aus Statusbar entfernen: Alle (Automagic)
+ Expression: Automagic
+ Expression: All
+ Expression: setNotifiVolume"
+ Expression: notifysnd"
+ NotificationLautstärke auf Level 7
+ Notification Lautstärke Speichern
+ Expression: setVoiceCommand"
+ Expression: Clear Automagic Meldungen"
+ Setze Display Helligkeit: {param_brightness}
+ Expression: setScreenlock"
+ Expression: sendIntent"
+ Setze Flow Status: Aktivieren Informations
+ Expression: Airplanemode
+ 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: 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)
+ Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/emulated/0)
+ Gerätespeicherplatz: Freier Speicherplatz > 1kb (/storage/sdcard0)
+ 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
+ Lautstärken setzen param_volume
+ Lautstärken setzen param_notifivolume
+ Expression: setTimer"
+ 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: 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
+ Schalte Display ein: Hell für {param_screenontime}s
+ Sprachausgabe: {param_message}
+ Flugmodus ein-/ausschalten: Ein
+ Script: airplanemode = "airplanemode@@on"; fhemcmd = "setreading";
+ Flows ausführen: Send Data to AMADCommBridge mit warten
+ Expression: setBluetooth"
+ Expression: param_button == "back"
+ Audio Player steuern: Medienknopf Zurück ({pname}/{kname})
+ Audio Player steuern: Medienknopf Weiter ({pname}/{kname})
+ Audio Player steuern: Medienknopf Play ({pname}/{kname})
+ Audio Player steuern: Medienknopf Stopp ({pname}/{kname})
+ Expression: param_button == "next"
+ Expression: param_button == "play"
+ Expression: param_button == "stop"
+ Expression: setVibrate"
+ Expression: multimediaControl"
+ Script: Zuordnung Mediaplayer
+ Expression: param_notifyfile == "RedAlert.mp3"
+ Expression: param_notifyfile == "RedAlert.mp3"
+ Notification Lautstärke Wiederherstellen
+ Sound: {param_notifypath}{param_notifyfile} als Benachrichtigung
+ Expression: openCall"
+ Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*"
+ Expression: param_flowstate == "active"
+ Expression: flowState"
+ Expression: param_flowstate == "active" or param_flowstate == "inactive"
+ Script: notification_text = "Flow install: path for download not exist"
+ Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading";
+ Setze Flow Status: Aktivieren {param_flowname}
+ Setze Flow Status: Deaktivieren {param_flowname}
+ Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading";
+ Script: notification_text = "Flow '{param_flowname}' has been set {param_flowstate}"
+ Flow Aktiv: Informations
+ Script: informationFlow_state = "aktiv"
+ Script: informationFlow_state = "inaktiv"
+ Script: flow_informations = "flow_informations@@" + {informationFlow_state}; fhemcmd = "setreading";
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
Update AMAD Flowset