From bedbab8fba9c6823408a0cc8ea66e7e2bf66b65c Mon Sep 17 00:00:00 2001 From: Marko Oldenburg Date: Thu, 16 Jun 2016 09:30:10 +0200 Subject: [PATCH] =?UTF-8?q?Hinzuf=C3=BCgen=20einer=20weiteren=20KeepAlive?= =?UTF-8?q?=20Methode=20des=20WLan's,=20neue=20Readings=20f=C3=BCr=20den?= =?UTF-8?q?=20Zustand=20der=20Batterie.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 74_AMAD.pm | 8 +- ...1.xml => 74_AMADautomagicFlowset_2.2.2.xml | 701 +++++++++--------- 2 files changed, 363 insertions(+), 346 deletions(-) rename 74_AMADautomagicFlowset_2.2.1.xml => 74_AMADautomagicFlowset_2.2.2.xml (87%) diff --git a/74_AMAD.pm b/74_AMAD.pm index 8a15f98..2f551b9 100644 --- a/74_AMAD.pm +++ b/74_AMAD.pm @@ -37,8 +37,8 @@ use TcpServerUtils; use Encode qw(encode); -my $modulversion = "2.2.2"; -my $flowsetversion = "2.2.1"; +my $modulversion = "2.2.3"; +my $flowsetversion = "2.2.2"; @@ -1363,6 +1363,8 @@ sub AMAD_decrypt($) {
  • airplanemode - on/off, state of the aeroplane mode
  • androidVersion - currently installed version of Android
  • automagicState - state of the Automagic App (prerequisite Android >4.3). In case you have Android >4.3 and the reading says "not supported", you need to enable Automagic inside Android / Settings / Sound & notification / Notification access
  • +
  • batteryHealth - the health of the battery (1=unknown, 2=good, 3=overheat, 4=dead, 5=over voltage, 6=unspecified failure, 7=cold)
  • +
  • batterytemperature - the temperature of the battery
  • bluetooth - on/off, bluetooth state
  • checkActiveTask - state of an app (needs to be defined beforehand). 0=not active or not active in foreground, 1=active in foreground, see note below
  • connectedBTdevices - list of all devices connected via bluetooth
  • @@ -1519,6 +1521,8 @@ sub AMAD_decrypt($) {
  • airplanemode - Status des Flugmodus
  • 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
  • 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.1.xml b/74_AMADautomagicFlowset_2.2.2.xml similarity index 87% rename from 74_AMADautomagicFlowset_2.2.1.xml rename to 74_AMADautomagicFlowset_2.2.2.xml index 7702f47..3ab775d 100644 --- a/74_AMADautomagicFlowset_2.2.1.xml +++ b/74_AMADautomagicFlowset_2.2.2.xml @@ -1013,6 +1013,11 @@ or global_deviceport!= {header_dport} false {global_apssid} + + true + WLAN verfügbar: {global_apssid} + {global_apssid} + false Airplainemode @@ -2328,8 +2333,8 @@ FHEMCMD: setreading true - Script: amad_flowset_version = "2.2.1" - + Script: amad_flowset_version = "2.2.2" + true @@ -2782,7 +2787,7 @@ FHEMCMD: voiceinputvalue POST GENERAL_TEXT text/plain - powerLevel@@{battery_percentage,numberformat,0}@@@@powerPlugged@@{battery_plugged}@@@@ + powerLevel@@{battery_percentage,numberformat,0}@@@@powerPlugged@@{battery_plugged}@@@@batteryTemperature@@{battery_temperature}@@@@batteryHealth@@{battery_health}@@@@ @@@@readingsNameXYZ@@readingsValueABC 60000 true @@ -2809,134 +2814,17 @@ FHEMCMD: setreading vibrate_pattern_2 0,500 + + true + WLAN Reassoziieren + Informations - AMAD2 Info/Control Flowset v2.2.1 + AMAD2 Info/Control Flowset v2.2.2 true PARALLEL 900 - Expression: trigger == "Daydream Status: Gestartet" - 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" - Display automatisch drehen eingeschaltet - Script: dock_state = "docked" - Script: dock_state = "undocked" - Script: keyguardSet = "1" - 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 - Keyguard gesperrt - Expression: scrcount < 5 - Script: scrcount = scrcount + 1 - Pause: 2s (Gerät wach halten) - Expression: keyguard == "locked" - 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 - Bluetooth eingeschaltet - Script: bluetooth_state = "off" - Script: bluetooth_state = "on" - Bluetooth Gerät verbunden: Beliebiges Geräte - 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" - Script: notification_text = "not supported from your device" - 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 - Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" - 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" - Expression: global_fhemip != null or header_fhemip != null - 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 - 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} - Script: androidVersion = "not supported funktion" - Android Version - Expression: trigger == "Flugmodus: Aus" - Expression: package_name == {global_activetask} - Expression: trigger == "App Task Beendet" - Keyguard mit Sicherheit - Daydream State - Expression: getAndroidSDKVersion() >= "19" - Get Android Version - Expression: udef_trigger == "setLockPin" - Incoming Call - KeyGuard Set - Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/" - Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" - Device State - Stromversorgung: Angeschlossen - Expression: trigger == "Akku Ladestand: grösser als 0%" - Stromversorgung und Akkustand - Prüfe und setze globale Variablen - 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"; - Airplainemode - Reading Music Metachanged.2 - Pause: 3s (Gerät wach halten) - Script: amad_flowset_version = "2.2.1" - + Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE Stromversorgung: Angeschlossen Genereller Broadcast: wenn org.smblott.intentradio.STATE @@ -2976,230 +2864,355 @@ FHEMCMD: setreading Systemeinstellung verändert: System volume_ring_speaker Unterbrechnungen-Modus: Nur Wecker (Android 6+) - 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" - Expression: global_apssid != "usb-ethernet" - WLAN Verbunden: {global_apssid} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Expression: trigger == "Daydream Status: Gestartet" + 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" + Display automatisch drehen eingeschaltet + Script: dock_state = "docked" + Script: dock_state = "undocked" + Script: keyguardSet = "1" + 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 + Keyguard gesperrt + Expression: scrcount < 5 + Script: scrcount = scrcount + 1 + Pause: 2s (Gerät wach halten) + Expression: keyguard == "locked" + 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 + Bluetooth eingeschaltet + Script: bluetooth_state = "off" + Script: bluetooth_state = "on" + Bluetooth Gerät verbunden: Beliebiges Geräte + 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" + Script: notification_text = "not supported from your device" + 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 + Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" + 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" + Expression: global_fhemip != null or header_fhemip != null + 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 + 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} + Script: androidVersion = "not supported funktion" + Android Version + Expression: trigger == "Flugmodus: Aus" + Expression: package_name == {global_activetask} + Expression: trigger == "App Task Beendet" + Keyguard mit Sicherheit + Daydream State + Expression: getAndroidSDKVersion() >= "19" + Get Android Version + Expression: udef_trigger == "setLockPin" + Incoming Call + KeyGuard Set + Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/" + Device State + Stromversorgung: Angeschlossen + Expression: trigger == "Akku Ladestand: grösser als 0%" + Prüfe und setze globale Variablen + 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"; + Airplainemode + 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" + Script: amad_flowset_version = "2.2.2" + Expression: global_apssid != "usb-ethernet" + WLAN Reassoziieren + WLAN verfügbar: {global_apssid} + WLAN Verbunden: {global_apssid} + Stromversorgung und Akkustand + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MultimediaControl - AMAD2 Info/Control Flowset v2.2.1 + AMAD2 Info/Control Flowset v2.2.2 true PARALLEL @@ -3280,7 +3293,7 @@ FHEMCMD: setreading SetCommands - AMAD2 Info/Control Flowset v2.2.1 + AMAD2 Info/Control Flowset v2.2.2 true QUEUE 900 @@ -3571,7 +3584,7 @@ FHEMCMD: setreading Update AMAD Flowset - AMAD2 Info/Control Flowset v2.2.1 + AMAD2 Info/Control Flowset v2.2.2 true PARALLEL @@ -3619,7 +3632,7 @@ FHEMCMD: setreading VoiceControl - AMAD2 Info/Control Flowset v2.2.1 + AMAD2 Info/Control Flowset v2.2.2 true QUEUE 60