From 184942b076dc0d9d50158b1ce205efe7ef863dd8 Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Fri, 6 Nov 2015 06:13:09 +0100 Subject: [PATCH] =?UTF-8?q?Auswertung=20des=20HTTP=20Request=20Headers=20i?= =?UTF-8?q?nnerhalb=20der=20AMADCommBridge=20=C3=BCberarbeitet=20und=20ver?= =?UTF-8?q?bessert.=20Eigene=20Sub=20daf=C3=BCr=20angelegt.=20VoiceControl?= =?UTF-8?q?=20im=20Flow=20integriert,=20einfaches=20Triggern=20=C3=BCber?= =?UTF-8?q?=20SetCommand?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 74_AMAD.pm | 44 +- ...8.1.xml => 74_AMADautomagicFlows_0.9.3.xml | 948 +++++++++--------- 2 files changed, 502 insertions(+), 490 deletions(-) rename 74_AMADautomagicFlows0.8.1.xml => 74_AMADautomagicFlows_0.9.3.xml (65%) diff --git a/74_AMAD.pm b/74_AMAD.pm index 6c8fd4b..afe1950 100644 --- a/74_AMAD.pm +++ b/74_AMAD.pm @@ -35,7 +35,7 @@ use Time::HiRes qw(gettimeofday); use HttpUtils; use TcpServerUtils; -my $version = "0.9.2"; +my $version = "0.9.3"; @@ -894,21 +894,13 @@ sub AMAD_CommBridge_Read($) { ### my @data = split( '\R\R', $buf ); - my $chash; - my $fhemdev; - - my @fhemdev = split( '\R', $data[0] ); - foreach my $ret( @fhemdev ) { - if( $ret =~ /FHEMDEVICE: (.*)/ ) { - $fhemdev = $1; - } - } - - $chash = $defs{$fhemdev}; + my $header = AMAD_Header2Hash( $data[0] ); + my $device = $header->{FHEMDEVICE}; + my $chash = $defs{$device}; + my $fhemcmd = $header->{FHEMCMD}; - - if ( $data[0] =~ /FHEMCMD: setreading\b/ ) { + if ( $fhemcmd =~ /setreading\b/ ) { my $tv = $data[1]; @data = split( '\R', $data[0] ); @@ -942,7 +934,7 @@ sub AMAD_CommBridge_Read($) { return; } - elsif ( $data[0] =~ /FHEMCMD: set\b/ ) { + elsif ( $fhemcmd =~ /set\b/ ) { my $fhemCmd = $data[1]; fhem ("$fhemCmd") if( ReadingsVal( "AMADCommBridge", "expertMode", 0 ) eq "1" ); @@ -952,7 +944,7 @@ sub AMAD_CommBridge_Read($) { return; } - elsif ( $data[0] =~ /FHEMCMD: voiceinputvalue\b/ ) { + elsif ( $fhemcmd =~ /voiceinputvalue\b/ ) { my $fhemCmd = $data[1]; readingsSingleUpdate( $brihash, "receiveVoiceCommand", $fhemCmd, 1 ); @@ -960,17 +952,33 @@ sub AMAD_CommBridge_Read($) { return; } - elsif ( $data[0] =~ /FHEMCMD: statusrequest\b/ ) { + elsif ( $fhemcmd eq "statusrequest" ) { Log3 $name, 4, "AMAD ($name) - AMAD_CommBridge: Call statusRequest"; return AMAD_GetUpdateLocal( $chash ); } } +sub AMAD_Header2Hash($) { + my ( $string ) = @_; + my %hash = (); + + foreach my $line (split("\r\n", $string)) { + my ($key,$value) = split( ": ", $line ); + next if( !$value ); + + $value =~ s/^ //; + $hash{$key} = $value; + } + + return \%hash; +} + + + 1; - =pod =begin html diff --git a/74_AMADautomagicFlows0.8.1.xml b/74_AMADautomagicFlows_0.9.3.xml similarity index 65% rename from 74_AMADautomagicFlows0.8.1.xml rename to 74_AMADautomagicFlows_0.9.3.xml index b8385f5..30f75a8 100644 --- a/74_AMADautomagicFlows0.8.1.xml +++ b/74_AMADautomagicFlows_0.9.3.xml @@ -1,5 +1,5 @@ - + false com.android.music.metachanged @@ -17,30 +17,12 @@ global_track = getString("track"); global_album = getString("album"); false - - true - Display Status: Aus - true - false - - - true - Display Status: Ein - false - true - true Globale Variable: global_own_reading true global_own_reading - - true - Globale Variable: global_touched - false - global_touched - false HTTP Request: /fhem-amad/deviceInfo/ @@ -57,26 +39,6 @@ global_album = getString("album"); 8090 true - - true - Periodischer Timer: alle 4m - false - 240000 - true - false - false - Mon - Tue - Wed - Thu - Fri - Sat - Sun - 8 - 0 - 17 - 0 - true Sprachbefehl angefordert @@ -128,6 +90,8 @@ global_album = getString("album"); false Benachrichtigung in Statusbar angezeigt: Automagic ch.gridvision.ppam.androidautomagic + true + 1 TEXT CONTAINS_TEXT @@ -144,6 +108,7 @@ global_album = getString("album"); true + ANY true @@ -190,13 +155,8 @@ global_album = getString("album"); true - Expression: global_touched=="ja" - global_touched=="ja" - - - true - Expression: global_touched=="wait" - global_touched=="wait" + Expression: getAndroidSDKVersion() >= "19" + getAndroidSDKVersion() >= "19" false @@ -383,6 +343,11 @@ global_album = getString("album"); Expression: tuneinradio param_app == "tuneinradio" + + true + Expression: value != "" + value != "" + true Flow Aktiv: Informations @@ -403,6 +368,15 @@ global_album = getString("album"); true + + false + AMAD Voice Control + false + + true + de-DE + false + false App Starten: App3 @@ -437,7 +411,7 @@ global_album = getString("album"); true Audio Player steuern: Medienknopf Play (Google Play Musik) true - LAUNCH + TOGGLE_PAUSE KEYCODE_MEDIA_PLAY true com.google.android.music @@ -448,7 +422,7 @@ global_album = getString("album"); true Audio Player steuern: Medienknopf Stopp (Google Play Musik) true - LAUNCH + STOP KEYCODE_MEDIA_STOP true com.google.android.music @@ -493,6 +467,22 @@ global_album = getString("album"); 0 0 + + true + Benachrichtigung auf Bildschirm: {value} (lange) + true + {value} + + 200 + 250 + false + 1.0 + true + false + TOP_LEFT + 0 + 0 + true Benachrichtigung aus Statusbar entfernen: Alle @@ -503,6 +493,9 @@ global_album = getString("album"); true {id} + TEXT + CONTAINS_TEXT + true @@ -514,6 +507,9 @@ global_album = getString("album"); true {id} + TEXT + CONTAINS_TEXT + true @@ -607,14 +603,61 @@ global_album = getString("album"); Display automatisch drehen ein-/ausschalten: Ein true + + true + Flows ausführen: VoiceControl + VoiceControl + + true + false + false + true Gerät sperren + + false + Get Android Version + + false HTTP Response Information - powerLevel@@{battery_percentage}@@@@powerPlugged@@{battery_plugged}@@@@volumeMusikBluetooth@@{volumeMusikBluetooth}@@@@volumeMusikSpeaker@@{volumeMusikSpeaker}@@@@screenBrightness@@{screenBrightness}@@@@nextAlarmTime@@{next_alarmtime}@@@@nextAlarmDay@@{next_alarmday}@@@@screen@@{screen_state}@@@@automagicState@@{notification_text}@@@@screenOrientation@@{screen_orientation}@@@@currentMusicTrack@@{global_track}@@@@currentMusicAlbum@@{global_album}@@@@currentMusicArtist@@{global_artist}@@@@bluetooth@@{bluetooth_state}@@@@connectedBTdevices@@{connected_devices_names}@@@@connectedBTdevicesMAC@@{connected_devices_addresses}@@@@flow_SetCommands@@{setCommandFlow_state}@@@@checkActiveTask@@{runTask} + powerLevel@@{battery_percentage}@@@@powerPlugged@@{battery_plugged}@@@@volumeMusikBluetooth@@{volumeMusikBluetooth}@@@@volumeMusikSpeaker@@{volumeMusikSpeaker}@@@@screenBrightness@@{screenBrightness}@@@@nextAlarmTime@@{next_alarmtime}@@@@nextAlarmDay@@{next_alarmday}@@@@screen@@{screen_state}@@@@automagicState@@{notification_text}@@@@screenOrientation@@{screen_orientation}@@@@currentMusicTrack@@{global_track}@@@@currentMusicAlbum@@{global_album}@@@@currentMusicArtist@@{global_artist}@@@@bluetooth@@{bluetooth_state}@@@@connectedBTdevices@@{connected_devices_names}@@@@connectedBTdevicesMAC@@{connected_devices_addresses}@@@@flow_SetCommands@@{setCommandFlow_state}@@@@checkActiveTask@@{runTask}@@@@androidVersion@@{androidVersion} true text/plain @@ -651,16 +694,6 @@ global_album = getString("album"); volume_music_speaker volumeMusikSpeaker - - true - Kommandozeilenbefehl als Root ausführen: getevent -c 1 in - getevent -c 1 - - - stdout - stderr - exit_code - false Lautstärken setzen @@ -707,30 +740,21 @@ FHEMCMD: setreading true response /storage/emulated/0/Download/file.bin - - - true - Pause: 10s (Schlafmodus zulassen) - 10s - false - - - true - Pause: 15s (Gerät wach halten) - 15s - true + true true Pause: 2s (Gerät wach halten) 2s true + false true Pause: 3s (Gerät wach halten) 3s true + false false @@ -751,6 +775,7 @@ FHEMCMD: setreading true response /storage/emulated/0/Download/file.bin + true true @@ -776,42 +801,12 @@ FHEMCMD: setreading global_track = "no soundplayer activ"; global_album = "no soundplayer activ"; - - true - Script: global_display="an";global_own_reading="{getDate()}_display" - - - - true - Script: global_display="aus";global_own_reading="{getDate()}_display" - - true Script: global_fhemip = {header_fhemip} global_fhemdevice = {header_fhemdevice} - - true - Script: global_touch="ja";global_own_reading="{getDate()}_touch";global_touched="ja" - - - - true - Script: global_touch="nein";global_own_reading="{getDate()}_touch" - - - - true - Script: global_touched="ja" - - - - true - Script: global_touched="wait" - - true Script: informationFlow_state = "aktiv" @@ -834,8 +829,13 @@ global_fhemdevice = {header_fhemdevice} true - Script: notification_text = "no supported from your device" - + Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" + + + + true + Script: notification_text = "not supported from your device" + true @@ -847,6 +847,11 @@ global_fhemdevice = {header_fhemdevice} Script: runTask = "1" + + true + Script: runTask = "not supported android version" + + true Script: runTask = "null" @@ -887,6 +892,27 @@ global_fhemdevice = {header_fhemdevice} Script: setCommandFlow_state = "inaktiv" + + false + Send Voice Input Value to AMADCommBridge + http://{global_fhemip}:8090 + 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 Setze Alarm: um {param_hour}:{param_minute} @@ -974,14 +1000,21 @@ global_fhemdevice = {header_fhemdevice} true TRANSIENT - - true - Spracheingabe: ohne Benutzeroberfläche - false - - true - de-DE - false + + false + Spracheingabe wurde nicht erkannt + NOTIFICATION + Ihre Eingabe wurde nicht verstanden + de_DE + true + 1.0 + true + 1.0 + true + false + false + true + TRANSIENT false @@ -1002,6 +1035,7 @@ FHEMCMD: statusrequest true response /storage/emulated/0/Download/file.bin + true true @@ -1014,7 +1048,7 @@ FHEMCMD: statusrequest Informations - FHEM Info / Steuerung über AMAD Modul v0.8.1 + FHEM Info / Steuerung über AMAD Modul v0.9.3 true QUEUE 240 @@ -1023,382 +1057,352 @@ FHEMCMD: statusrequest com.android.music.metachanged Globale Variable: global_own_reading - Script: notification_text = "no supported from your device" - Script: screen_orientation = "auto" - Display automatisch drehen eingeschaltet - Script: screen_orientation = "portrait" - Display Orientierung: Portrait - Script: screen_orientation = "landscape" - Bluetooth eingeschaltet - Script: bluetooth_state = "off" - Script: screen_state = "off" - Script: screen_state = "on" - Display eingeschaltet - Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" - Initialisiere Variable Nächster Alarm: next_alarm - Script: next_alarmday = "{next_alarm,dateformat,c}" - Initialisiere Variable Systemeinstellung: screenBrightness - Initialisiere Variable Systemeinstellung: volumeMusikSpeaker - Initialisiere Variable Systemeinstellung: volumeMusikBluetooth - Flow Aktiv: SetCommands - Script: setCommandFlow_state = "aktiv" - Setze Flow Status: Aktivieren SetCommands - Script: global_artist = "no soundplayer activ"; global_track = "no soundplayer activ"; global_album = "no soundplayer activ"; - Musik Aktiv - Pause: 2s (Gerät wach halten) - Expression: trigger == "com.android.music.metachanged" - Expression: trigger == "Globale Variable: global_own_reading" - WLAN Verbunden: Alle SSIDs - WLAN Verbunden: Alle SSIDs - Script: bluetooth_state = "on" - Script: setCommandFlow_state = "inaktiv" - Benachrichtigung in Statusbar angezeigt: Automagic - Reading Music Metachanged - Own Reading - HTTP Response Information - Bluetooth Gerät verbunden: Beliebiges Geräte - Script: global_fhemip = {header_fhemip} global_fhemdevice = {header_fhemdevice} - Akku Ladestand: grösser als 0% - Script: runTask = "null" - Script: runTask = "0" - App Task läuft: {header_activetask} (neuster) - Expression: header_activetask != "none" - Script: runTask = "1" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Display eingeschaltet + Initialisiere Variable Nächster Alarm: next_alarm + Initialisiere Variable Systemeinstellung: screenBrightness + Initialisiere Variable Systemeinstellung: volumeMusikSpeaker + Initialisiere Variable Systemeinstellung: volumeMusikBluetooth + Flow Aktiv: SetCommands + Musik Aktiv + Pause: 2s (Gerät wach halten) + Expression: trigger == "com.android.music.metachanged" + Expression: trigger == "Globale Variable: global_own_reading" + WLAN Verbunden: Alle SSIDs + WLAN Verbunden: Alle SSIDs + Own Reading + Script: global_fhemip = {header_fhemip} global_fhemdevice = {header_fhemdevice} + Akku Ladestand: grösser als 0% + Reading Music Metachanged + Benachrichtigung in Statusbar angezeigt: Automagic + Get Android Version + Display automatisch drehen eingeschaltet + Script: runTask = "1" + Setze Flow Status: Aktivieren SetCommands + Script: setCommandFlow_state = "inaktiv" + Script: setCommandFlow_state = "aktiv" + Script: global_artist = "no soundplayer activ"; global_track = "no soundplayer activ"; global_album = "no soundplayer activ"; + Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" + Script: next_alarmday = "{next_alarm,dateformat,c}" + Script: screen_state = "on" + Script: screen_state = "off" + Script: screen_orientation = "auto" + Script: screen_orientation = "portrait" + Script: screen_orientation = "landscape" + Script: bluetooth_state = "on" + Bluetooth Gerät verbunden: Beliebiges Geräte + Script: bluetooth_state = "off" + HTTP Response Information + Display Orientierung: Portrait + Script: runTask = "0" + App Task läuft: {header_activetask} (neuster) + Expression: getAndroidSDKVersion() >= "19" + Expression: header_activetask != "none" + Script: runTask = "null" + Script: runTask = "not supported android version" + Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" + Script: notification_text = "not supported from your device" + Expression: getAndroidSDKVersion() >= "19" + Bluetooth eingeschaltet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + - - - - - Meldung Display An - AMAD FHEM / OwnReadings Examples - false - PARALLEL - - Display Status: Ein - - Script: global_display="an";global_own_reading="{getDate()}_display" - - - - Meldung Display Aus - AMAD FHEM / OwnReadings Examples - false - PARALLEL - - Display Status: Aus - - Script: global_display="aus";global_own_reading="{getDate()}_display" - - - - Meldung kein Touch - AMAD FHEM / OwnReadings Examples - false - STOP - - Globale Variable: global_touched - - Pause: 15s (Gerät wach halten) - Script: global_touched="wait" - Expression: global_touched=="ja" - Expression: global_touched=="wait" - Script: global_touch="nein";global_own_reading="{getDate()}_touch" - - - - - - - - Meldung Touch - AMAD FHEM / OwnReadings Examples - false - STOP - - Periodischer Timer: alle 4m - - Kommandozeilenbefehl als Root ausführen: getevent -c 1 in - Script: global_touched="ja" - Script: global_touch="ja";global_own_reading="{getDate()}_touch";global_touched="ja" - Pause: 10s (Schlafmodus zulassen) - - - - - + + + + + + + + + + SetCommands - FHEM Info / Steuerung über AMAD Modul v0.8.1 + FHEM Info / Steuerung über AMAD Modul v0.9.3 true QUEUE 240 - Expression: param_screen=="on" - Expression: setBrightness" - Expression: setAlarm" - Expression: screenMsg" - URL in Browser öffnen: {param_url} (mit Chrome) - Benachrichtigung auf Bildschirm: {param_message} (lange) - Expression: setScreenFullscreen" - Expression: param_orientation == "auto" - Setze Display Orientierung: Portrait - Setze Display Orientierung: Landscape - Expression: param_orientation == "landscape" - Expression: param_orientation == "portrait" - Setze Vollbild Modus: Navigation nicht anzeigen - Setze Vollbild Modus: Auf Default zurücksetzen - Audio Player steuern: Medienknopf Zurück (Google Play Musik) + + HTTP Request: /fhem-amad/deviceInfo/ + HTTP Request: /fhem-amad/setCommands/* + Sprachbefehl angefordert + + Expression: param_screen=="on" + Expression: setBrightness" + Expression: setAlarm" + Expression: screenMsg" + URL in Browser öffnen: {param_url} (mit Chrome) + Benachrichtigung auf Bildschirm: {param_message} (lange) + Expression: setScreenFullscreen" + Expression: param_orientation == "auto" + Setze Display Orientierung: Portrait + Setze Display Orientierung: Landscape + Expression: param_orientation == "landscape" + Expression: param_orientation == "portrait" + Setze Vollbild Modus: Navigation nicht anzeigen + Setze Vollbild Modus: Auf Default zurücksetzen Expression: param_button == "back" Expression: param_button == "next" Setze Display Orientierung: Auf Default zurücksetzen Expression: param_button == "play" Expression: mediaPlayer" - Audio Player steuern: Medienknopf Weiter (Google Play Musik) - Expression: param_button == "stop" - Expression: param_screen=="off" - Expression: setScreenOnOff" - App Task läuft: App5 (neuster) - Expression: App5 - Expression: App4 - App Task läuft: App3 (neuster) - Expression: App3 - App Starten: App3 - App Starten: App4 - App Task läuft: App4 (neuster) - Expression: tuneinradio - App Task läuft: tuneinradio (neuster) - App Starten: tuneinradio - App Starten: App5 - App Task läuft: gplay (neuster) - Expression: gplay - App Starten: PlayMusic - Expression: System Command" - Neustart - Flow Aktiv: Informations - Expression: ttsMsg" - Lautstärken setzen - Setze Systemeinstellung: System screen_brightness auf {param_brightness} - Schalte Display ein: Hell für 120s - Display automatisch drehen ein-/ausschalten: Aus - Display automatisch drehen ein-/ausschalten: Ein - Setze Alarm: um {param_hour}:{param_minute} - Audio Player steuern: Medienknopf Stopp (Google Play Musik) - Expression: setScreenOrientation" - Expression: param_fullscreen == "off" - Expression: param_fullscreen == "on" - Expression: setBluetooth" - Expression: openURL" - Expression: setVolume" - Sprachausgabe: {param_message} - Sound: /storage/emulated/0/Notifications/{param_notifyfile} als Benachrichtigung - Expression: param_bluetooth == "off" - Bluetooth ein-/ausschalten: Aus - Expression: param_bluetooth == "on" - Bluetooth ein-/ausschalten: Ein - Expression: notifysnd" - Audio Player steuern: Medienknopf Play (Google Play Musik) - Expression: openApp" - Expression: Reboot - Benachrichtigung aus Statusbar entfernen: Alle - Expression: All - Benachrichtigung aus Statusbar entfernen: Alle (Automagic) - Expression: Automagic - Setze Flow Status: Aktivieren Informations - Script: informationFlow_state = "inaktiv" - HTTP Response SetCommand - 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) - StatusRequest - Gerät sperren - Expression: Clear Automagic Meldungen" - Script: informationFlow_state = "aktiv" - Expression: setBTDevice" - Spracheingabe: ohne Benutzeroberfläche - Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*" - Expression: setVoiceCommand" - - HTTP Request: /fhem-amad/deviceInfo/ - HTTP Request: /fhem-amad/setCommands/* - Sprachbefehl angefordert - - Expression: trigger == "Sprachbefehl angefordert" - + Expression: param_button == "stop" + Expression: param_screen=="off" + Expression: setScreenOnOff" + App Task läuft: App5 (neuster) + Expression: App5 + Expression: App4 + App Task läuft: App3 (neuster) + Expression: App3 + App Starten: App3 + App Starten: App4 + App Task läuft: App4 (neuster) + Expression: tuneinradio + App Task läuft: tuneinradio (neuster) + App Starten: tuneinradio + App Starten: App5 + App Task läuft: gplay (neuster) + Expression: gplay + App Starten: PlayMusic + Expression: System Command" + Neustart + Flow Aktiv: Informations + Expression: ttsMsg" + Lautstärken setzen + Setze Systemeinstellung: System screen_brightness auf {param_brightness} + Schalte Display ein: Hell für 120s + Display automatisch drehen ein-/ausschalten: Aus + Display automatisch drehen ein-/ausschalten: Ein + Setze Alarm: um {param_hour}:{param_minute} + Expression: setScreenOrientation" + Expression: param_fullscreen == "off" + Expression: param_fullscreen == "on" + Expression: setBluetooth" + Expression: setVolume" + Sprachausgabe: {param_message} + Sound: /storage/emulated/0/Notifications/{param_notifyfile} als Benachrichtigung + Expression: param_bluetooth == "off" + Expression: param_bluetooth == "on" + Bluetooth ein-/ausschalten: Ein + Expression: notifysnd" + Expression: openApp" + Expression: Reboot + Benachrichtigung aus Statusbar entfernen: Alle + Expression: All + Benachrichtigung aus Statusbar entfernen: Alle (Automagic) + Expression: Automagic + Setze Flow Status: Aktivieren Informations + Script: informationFlow_state = "inaktiv" + HTTP Response SetCommand + 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) + Gerät sperren + Expression: Clear Automagic Meldungen" + Script: informationFlow_state = "aktiv" + Expression: setBTDevice" + Expression: trigger == "HTTP Request: /fhem-amad/setCommands/*" + Expression: trigger == "Sprachbefehl angefordert" + Expression: openURL" + Expression: setVoiceCommand" + Flows ausführen: VoiceControl + Audio Player steuern: Medienknopf Play (Google Play Musik) + Audio Player steuern: Medienknopf Weiter (Google Play Musik) + Audio Player steuern: Medienknopf Zurück (Google Play Musik) + StatusRequest + Bluetooth ein-/ausschalten: Aus + Audio Player steuern: Medienknopf Stopp (Google Play Musik) + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + VoiceControl + FHEM Info / Steuerung über AMAD Modul v0.9.3 + true + QUEUE + + Expression: value != "" + Spracheingabe wurde nicht erkannt + Benachrichtigung auf Bildschirm: {value} (lange) + Send Voice Input Value to AMADCommBridge + AMAD Voice Control + + + + + \ No newline at end of file