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