From 221f80b8787fb6867781cc7db06c07f851a25fef Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Mon, 20 Jun 2016 10:56:46 +0200 Subject: [PATCH] Support for older Androidversion in Conditions --- 74_AMAD.pm | 8 +- ...3.xml => 74_AMADautomagicFlowset_2.2.4.xml | 730 +++++++++--------- 2 files changed, 380 insertions(+), 358 deletions(-) rename 74_AMADautomagicFlowset_2.2.3.xml => 74_AMADautomagicFlowset_2.2.4.xml (87%) diff --git a/74_AMAD.pm b/74_AMAD.pm index 3509e44..aa8f22f 100644 --- a/74_AMAD.pm +++ b/74_AMAD.pm @@ -37,8 +37,8 @@ use TcpServerUtils; use Encode qw(encode); -my $modulversion = "2.2.3"; -my $flowsetversion = "2.2.3"; +my $modulversion = "2.2.4"; +my $flowsetversion = "2.2.4"; @@ -1091,6 +1091,8 @@ sub AMAD_CommBridge_Read($) { my $bhash = $modules{AMAD}{defptr}{BRIDGE}; my $bname = $bhash->{NAME}; + + ## Zum testen mal ausgeschalten if( $hash->{SERVERSOCKET} ) { # Accept and create a child TcpServer_Accept( $hash, "AMAD" ); @@ -1522,7 +1524,7 @@ sub AMAD_decrypt($) {
  • androidVersion - aktuell installierte Androidversion
  • automagicState - Statusmeldungen von der AutomagicApp (Voraussetzung Android >4.3). Ist Android größer 4.3 vorhanden und im Reading steht "wird nicht unterstützt", muß in den Androideinstellungen unter Ton und Benachrichtigungen -> Benachrichtigungszugriff ein Haken für Automagic gesetzt werden
  • batteryHealth - Zustand der Battery (1=unbekannt, 2=gut, 3=Überhitzt, 4=tot, 5=Überspannung, 6=unbekannter Fehler, 7=kalt)
  • -
  • batterytemperature - Temperatur der Batterie in Grad Fahrenheit
  • +
  • batterytemperature - Temperatur der Batterie
  • bluetooth - on/off, Bluetooth Status an oder aus
  • checkActiveTask - Zustand einer zuvor definierten APP. 0=nicht aktiv oder nicht aktiv im Vordergrund, 1=aktiv im Vordergrund, siehe Hinweis unten
  • connectedBTdevices - eine Liste der verbundenen Gerät
  • diff --git a/74_AMADautomagicFlowset_2.2.3.xml b/74_AMADautomagicFlowset_2.2.4.xml similarity index 87% rename from 74_AMADautomagicFlowset_2.2.3.xml rename to 74_AMADautomagicFlowset_2.2.4.xml index 0da0a14..b8bb2e7 100644 --- a/74_AMADautomagicFlowset_2.2.3.xml +++ b/74_AMADautomagicFlowset_2.2.4.xml @@ -2338,8 +2338,8 @@ FHEMCMD: setreading true - Script: amad_flowset_version = "2.2.3" - + Script: amad_flowset_version = "2.2.4" + true @@ -2549,11 +2549,21 @@ nextalarmstate = "snooze" Script: screen_state = "off {keyguard}" + + true + Script: screen_state = "off" + + true Script: screen_state = "on {keyguard}" + + true + Script: screen_state = "on" + + true Script: setCommandFlow_state = "aktiv" @@ -2830,131 +2840,11 @@ FHEMCMD: setreading Informations - AMAD2 Info/Control Flowset v2.2.3 + AMAD2 Info/Control Flowset v2.2.4 true PARALLEL 900 - Script: setCommandFlow_state = "inaktiv" - Script: daydream_state = "on" - Script: daydream_state = "off" - Script: next_alarmday = "{next_alarm,dateformat,c}" - Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" - Initialisiere Variable Nächster Alarm: next_alarm - Expression: getAndroidSDKVersion() >= "19" - Script: runTask = "1" - Script: runTask = "0" - Script: runTask = "not supported android version" - Script: runTask = "null" - Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker" - Expression: trigger == "Systemeinstellung verändert: System next_alarm" - Expression: trigger == "Systemeinstellung verändert: System screen_brightness" - Script: airplanemode = "off" - Expression: airpcount < 11 - Script: keyguard = "unlocked" - Script: screen_state = "off {keyguard}" - Display Orientierung: Portrait - Script: screen_orientation = "portrait" - Script: screen_orientation = "landscape" - Script: dock_state = "docked" - Script: dock_state = "undocked" - Script: keyguardSet = "0" - Script: screen_orientation_mode = "auto" - Script: screen_orientation_mode = "manual" - Expression: trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" - Script: setCommandFlow_state = "aktiv" - Flow Aktiv: SetCommands - Setze Flow Status: Aktivieren SetCommands - Script: screen_state = "on {keyguard}" - Script: scrcount = 0 - Script: keyguard = "locked" - Display eingeschaltet - Expression: scrcount < 5 - Script: scrcount = scrcount + 1 - Pause: 2s (Gerät wach halten) - Expression: trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" or trigger == "Systemeinstellung verändert: System volume_music_speaker" or trigger == "Systemeinstellung verändert: System volume_music_headphone" - Musik Aktiv - Script: bluetooth_state = "off" - Script: bluetooth_state = "on" - Script: connected_devices_names = "null"; connected_devices_addresses = "null" - Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt" - Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle" - Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" - Benachrichtigung in Statusbar angezeigt: Automagic - Expression: getAndroidSDKVersion() >= "19" - Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" - Benachrichtigung in Statusbar angezeigt: WhatsApp - Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE" - Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp" - Check run Task - Screen State - Bluetooth Status - Bluetooth Device Status - Notification Volume - Lautstärke / Volume - Nächster Alarm - Screen Brightness - Screen Orientation - Dock State - Incoming WhatsApp Message - IntentRadio Status - Flowsetversion - Flow Status SetCommands - Script: airpcount = airpcount + 1 - Script: airpcount = 0 - Pause: 2s (Gerät wach halten) - Expression: global_apssid != "usb-ethernet" - WLAN Verbunden: {global_apssid} - Dock Status: Docked - Expression: trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" - Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" - Expression: global_activetask != null - Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" - App Task läuft: {global_activetask} (neuster) - Automagic State - Script: notification_text = "not supported from your device" - Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2 - Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2 - Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution) - Script: volume = {volumeBT} - Script: volume = {volumeSP} - Initialisiere Variable Systemeinstellung: screenBrightness - Initialisiere Variable Systemeinstellung: volumeNotification - Script: androidVersion = "not supported funktion" - Android Version - Expression: trigger == "Flugmodus: Aus" - Expression: package_name == {global_activetask} - Daydream State - Get Android Version - Incoming Call - KeyGuard Set - Device State - Stromversorgung: Angeschlossen - Expression: trigger == "Akku Ladestand: grösser als 0%" - Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" - Script: global_artist = "no player active"; global_track = "no player active"; global_album = "no player active"; global_musicapp = "no player active"; - Reading Music Metachanged.2 - Pause: 3s (Gerät wach halten) - 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" - Next Alarm State - 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" } - Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen - Unterbrechnungen-Modus: Keine / Nicht unterbrechen - Unterbrechnungen-Modus: Nur Wecker (Android 6+) - Expression: trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" - Unterbrechnungen-Modus: Alle / Immer unterbrechen - Script: dndValue = "never" - Do Not Disturb State - Script: dndValue = "always" - Script: dndValue = "alarmClockOnly" - Script: dndValue = "onlyImportant" - WLAN Reassoziieren - WLAN verfügbar: {global_apssid} - Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" - Display automatisch drehen eingeschaltet - Expression: trigger == "Daydream Status: Gestartet" - Bluetooth Gerät verbunden: Beliebiges Geräte - Bluetooth eingeschaltet - + Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE Stromversorgung: Angeschlossen Genereller Broadcast: wenn org.smblott.intentradio.STATE @@ -2994,241 +2884,371 @@ FHEMCMD: setreading Systemeinstellung verändert: System volume_ring_speaker Unterbrechnungen-Modus: Nur Wecker (Android 6+) - Prüfe und setze globale Variablen - Expression: trigger == "App Task Beendet" - Expression: global_fhemip != null or header_fhemip != null - Expression: global_bridgeport == null or global_bridgeport != {header_bport} or global_fhemip == null or global_fhemip != {header_fhemip} or global_fhemdevice == null or global_fhemdevice != {header_fhemdevice} or global_activetask == null or global_activetask != {header_activetask} or global_apssid == null or global_apssid != {header_apssid} or global_deviceport != null or global_deviceport!= {header_dport} - WLAN Verbunden: {global_apssid} - Keyguard gesperrt - Expression: keyguard == "locked" - Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" - Expression: getAndroidSDKVersion() >= "19" - Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/" - Keyguard mit Sicherheit - Script: notification_text = "not supported from your device" - Script: keyguardSet = "1" - Expression: udef_trigger == "setLockPin" - Expression: getAndroidSDKVersion() >= "16" - Script: keyguardSet = "not supported from your device" - Script: amad_flowset_version = "2.2.3" - Airplainemode - Expression: global_apssid != "usb-ethernet" - Stromversorgung und Akkustand - - - - - - - - - - - - - - - - - - - - - - + Script: setCommandFlow_state = "inaktiv" + Script: daydream_state = "on" + Script: daydream_state = "off" + Script: next_alarmday = "{next_alarm,dateformat,c}" + Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}" + Initialisiere Variable Nächster Alarm: next_alarm + Expression: getAndroidSDKVersion() >= "19" + Script: runTask = "1" + Script: runTask = "0" + Script: runTask = "not supported android version" + Script: runTask = "null" + Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker" + Expression: trigger == "Systemeinstellung verändert: System next_alarm" + Expression: trigger == "Systemeinstellung verändert: System screen_brightness" + Script: airplanemode = "off" + Expression: airpcount < 11 + Script: keyguard = "unlocked" + Display Orientierung: Portrait + Script: screen_orientation = "portrait" + Script: screen_orientation = "landscape" + Script: dock_state = "docked" + Script: dock_state = "undocked" + Script: keyguardSet = "0" + Script: screen_orientation_mode = "auto" + Script: screen_orientation_mode = "manual" + Expression: trigger == "Display Orientierung: Landscape" or trigger == "Display Orientierung: Portrait" or trigger == "Display Status: Ein" or trigger == "Display Status: Aus" + Script: setCommandFlow_state = "aktiv" + Flow Aktiv: SetCommands + Setze Flow Status: Aktivieren SetCommands + Script: scrcount = 0 + Script: keyguard = "locked" + Expression: scrcount < 5 + Script: scrcount = scrcount + 1 + Pause: 2s (Gerät wach halten) + Expression: trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" or trigger == "Systemeinstellung verändert: System volume_music_speaker" or trigger == "Systemeinstellung verändert: System volume_music_headphone" + Musik Aktiv + Script: bluetooth_state = "off" + Script: bluetooth_state = "on" + Script: connected_devices_names = "null"; connected_devices_addresses = "null" + Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt" + Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle" + Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" + Benachrichtigung in Statusbar angezeigt: Automagic + Expression: getAndroidSDKVersion() >= "19" + Script: notification_text = "Aktiviere Automagic unter Einstellungen -> Benachrichtigungen -> Benachrichtigungszugriff" + Benachrichtigung in Statusbar angezeigt: WhatsApp + Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE" + Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp" + Check run Task + Bluetooth Status + Bluetooth Device Status + Notification Volume + Lautstärke / Volume + Nächster Alarm + Screen Brightness + Screen Orientation + Dock State + Incoming WhatsApp Message + IntentRadio Status + Flowsetversion + Flow Status SetCommands + Script: airpcount = airpcount + 1 + Script: airpcount = 0 + Pause: 2s (Gerät wach halten) + Expression: global_apssid != "usb-ethernet" + WLAN Verbunden: {global_apssid} + Dock Status: Docked + Expression: trigger == "Benachrichtigung in Statusbar angezeigt: ch.gridvision.ppam.androidautomagic" or trigger == "Benachrichtigung in Statusbar entfernt: ch.gridvision.ppam.androidautomagic" + Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" + Expression: global_activetask != null + Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" + App Task läuft: {global_activetask} (neuster) + Automagic State + Script: notification_text = "not supported from your device" + Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2 + Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2 + Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution) + Script: volume = {volumeBT} + Script: volume = {volumeSP} + Initialisiere Variable Systemeinstellung: screenBrightness + Initialisiere Variable Systemeinstellung: volumeNotification + Script: androidVersion = "not supported funktion" + Android Version + Expression: trigger == "Flugmodus: Aus" + Expression: package_name == {global_activetask} + Daydream State + Get Android Version + Incoming Call + KeyGuard Set + Device State + Stromversorgung: Angeschlossen + Expression: trigger == "Akku Ladestand: grösser als 0%" + Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" + Script: global_artist = "no player active"; global_track = "no player active"; global_album = "no player active"; global_musicapp = "no player active"; + Reading Music Metachanged.2 + Pause: 3s (Gerät wach halten) + WLAN Reassoziieren + WLAN verfügbar: {global_apssid} + Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Display automatisch drehen eingeschaltet + Expression: trigger == "Daydream Status: Gestartet" + Bluetooth Gerät verbunden: Beliebiges Geräte + Bluetooth eingeschaltet + Prüfe und setze globale Variablen + Expression: trigger == "App Task Beendet" + Expression: global_fhemip != null or header_fhemip != null + Expression: global_bridgeport == null or global_bridgeport != {header_bport} or global_fhemip == null or global_fhemip != {header_fhemip} or global_fhemdevice == null or global_fhemdevice != {header_fhemdevice} or global_activetask == null or global_activetask != {header_activetask} or global_apssid == null or global_apssid != {header_apssid} or global_deviceport != null or global_deviceport!= {header_dport} + WLAN Verbunden: {global_apssid} + Keyguard gesperrt + Expression: keyguard == "locked" + Expression: getAndroidSDKVersion() >= "19" + Keyguard mit Sicherheit + Script: notification_text = "not supported from your device" + Script: keyguardSet = "1" + Expression: udef_trigger == "setLockPin" + Expression: getAndroidSDKVersion() >= "16" + Script: keyguardSet = "not supported from your device" + Airplainemode + Stromversorgung und Akkustand + Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Script: screen_state = "on {keyguard}" + Script: screen_state = "off {keyguard}" + Display eingeschaltet + Script: screen_state = "on" + Script: screen_state = "off" + Display eingeschaltet + Screen State + Expression: getAndroidSDKVersion() >= "16" + Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" + Expression: trigger == "Unterbrechnungen-Modus: Alle / Immer unterbrechen" or trigger == "Unterbrechnungen-Modus: Keine / Nicht unterbrechen" or trigger == "Unterbrechnungen-Modus: Nur Wecker (Android 6+)" or trigger == "Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen" + Unterbrechnungen-Modus: Nur Wecker (Android 6+) + Unterbrechnungen-Modus: Keine / Nicht unterbrechen + Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen + Unterbrechnungen-Modus: Alle / Immer unterbrechen + Script: dndValue = "alarmClockOnly" + Script: dndValue = "never" + Script: dndValue = "onlyImportant" + Script: dndValue = "always" + Next Alarm State + Do Not Disturb State + Expression: trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE" or trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE" + Script: if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_ALERT") { nextalarmstate = "alert" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DISMISS") { nextalarmstate = "dismiss" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE") { nextalarmstate = "done" } if(trigger == "Genereller Broadcast: wenn com.android.deskclock.ALARM_SNOOZE") { nextalarmstate = "snooze" } + Script: amad_flowset_version = "2.2.4" + Expression: global_apssid != "usb-ethernet" + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MultimediaControl - AMAD2 Info/Control Flowset v2.2.3 + AMAD2 Info/Control Flowset v2.2.4 true PARALLEL @@ -3309,7 +3329,7 @@ FHEMCMD: setreading SetCommands - AMAD2 Info/Control Flowset v2.2.3 + AMAD2 Info/Control Flowset v2.2.4 true QUEUE 900 @@ -3600,7 +3620,7 @@ FHEMCMD: setreading Update AMAD Flowset - AMAD2 Info/Control Flowset v2.2.3 + AMAD2 Info/Control Flowset v2.2.4 true PARALLEL @@ -3648,7 +3668,7 @@ FHEMCMD: setreading VoiceControl - AMAD2 Info/Control Flowset v2.2.3 + AMAD2 Info/Control Flowset v2.2.4 true QUEUE 60