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