http header Connection: close hinzugefügt

This commit is contained in:
Marko Oldenburg 2016-06-22 12:56:21 +02:00
parent ada1acffcc
commit 27eae98be2
2 changed files with 436 additions and 416 deletions

View File

@ -37,8 +37,8 @@ use TcpServerUtils;
use Encode qw(encode); use Encode qw(encode);
my $modulversion = "2.3.7"; my $modulversion = "2.3.10";
my $flowsetversion = "2.3.15"; my $flowsetversion = "2.3.16";
@ -283,10 +283,10 @@ sub AMAD_statusRequest($) {
HttpUtils_NonblockingGet( HttpUtils_NonblockingGet(
{ {
url => $url, url => $url,
timeout => 5, timeout => 15,
hash => $hash, hash => $hash,
method => "GET", method => "GET",
header => "fhemip: $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",
doTrigger => 1, doTrigger => 1,
callback => \&AMAD_statusRequestErrorHandling, callback => \&AMAD_statusRequestErrorHandling,
} }
@ -904,6 +904,7 @@ sub AMAD_HTTP_POST($$) {
timeout => 15, timeout => 15,
hash => $hash, hash => $hash,
method => "POST", method => "POST",
header => "Connection: close",
doTrigger => 1, doTrigger => 1,
callback => \&AMAD_HTTP_POSTerrorHandling, callback => \&AMAD_HTTP_POSTerrorHandling,
} }
@ -1122,12 +1123,13 @@ sub AMAD_CommBridge_Read($) {
my @data = split( '\R\R', $buf ); my @data = split( '\R\R', $buf );
my $header = AMAD_Header2Hash( $data[0] ); my $header = AMAD_Header2Hash( $data[0] );
my $device = $header->{FHEMDEVICE} if(defined($header->{FHEMDEVICE}));
my $dhash = $defs{$device};
my $response; my $response;
my $c; my $c;
my $device = $header->{FHEMDEVICE} if(defined($header->{FHEMDEVICE}));
my $fhemcmd = $header->{FHEMCMD} if(defined($header->{FHEMCMD}));
my $dhash = $defs{$device};
my $fhemcmd = $header->{FHEMCMD};
if ( $data[0] =~ /currentFlowsetUpdate.xml/ ) { if ( $data[0] =~ /currentFlowsetUpdate.xml/ ) {
@ -1137,6 +1139,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1150,6 +1153,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1157,6 +1161,18 @@ sub AMAD_CommBridge_Read($) {
} }
} }
elsif( !defined($device) ) {
readingsSingleUpdate( $bhash, "transmitterERROR", $name." has no device name sends", 1 );
Log3 $name, 4, "AMAD ($name) - ERROR - no device name given. please check your global variable in automagic";
return;
}
elsif ( $fhemcmd =~ /setreading\b/ ) { elsif ( $fhemcmd =~ /setreading\b/ ) {
my $tv = $data[1]; my $tv = $data[1];
@ -1168,6 +1184,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1185,6 +1202,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1204,6 +1222,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1218,6 +1237,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1242,6 +1262,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
@ -1253,6 +1274,7 @@ sub AMAD_CommBridge_Read($) {
$c = $hash->{CD}; $c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n", print $c "HTTP/1.1 200 OK\r\n",
"Content-Type: text/plain\r\n", "Content-Type: text/plain\r\n",
"Connection: close\r\n",
"Content-Length: ".length($response)."\r\n\r\n", "Content-Length: ".length($response)."\r\n\r\n",
$response; $response;
} }

View File

@ -966,17 +966,15 @@ or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</expression>
</condition> </condition>
<condition type="expression"> <condition type="expression">
<useDefaultName>true</useDefaultName> <useDefaultName>true</useDefaultName>
<name>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 == "HTTP Request: /fhem-amad/deviceInfo/"</name> <name>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"</name>
<expression>trigger == "Systemeinstellung verändert: System volume_music_bt_a2dp" <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_speaker"
or trigger == "Systemeinstellung verändert: System volume_music_headphone" or trigger == "Systemeinstellung verändert: System volume_music_headphone"</expression>
or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</expression>
</condition> </condition>
<condition type="expression"> <condition type="expression">
<useDefaultName>true</useDefaultName> <useDefaultName>true</useDefaultName>
<name>Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</name> <name>Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker"</name>
<expression>trigger == "Systemeinstellung verändert: System volume_ring_speaker" <expression>trigger == "Systemeinstellung verändert: System volume_ring_speaker"</expression>
or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</expression>
</condition> </condition>
<condition type="expression"> <condition type="expression">
<useDefaultName>true</useDefaultName> <useDefaultName>true</useDefaultName>
@ -2328,7 +2326,7 @@ fhemcmd = "setreading";</script>
<action type="script"> <action type="script">
<useDefaultName>false</useDefaultName> <useDefaultName>false</useDefaultName>
<name>Script: Set FHEMDATA</name> <name>Script: Set FHEMDATA</name>
<script>fhemdata = "flowsetVersionAtDevice@@2.3.15@@@@"; <script>fhemdata = "flowsetVersionAtDevice@@2.3.16@@@@";
@ -2356,8 +2354,8 @@ if ( btdeviceinfo != null ) {
if ( volumeNotification != null ) { if ( volumeNotification != null ) {
fhemdata = fhemdata + "{volumeNotification}" + "@@@@" } fhemdata = fhemdata + "{volumeNotification}" + "@@@@" }
if ( volume != null ) { if ( volumevalue != null ) {
fhemdata = fhemdata + "{volume}" + "@@@@"} fhemdata = fhemdata + "{volumevalue}" + "@@@@"}
if ( nextAlarm != null ) { if ( nextAlarm != null ) {
fhemdata = fhemdata + "{nextAlarm}" + "@@@@" } fhemdata = fhemdata + "{nextAlarm}" + "@@@@" }
@ -2422,12 +2420,6 @@ if ( flow_informations != null ) {
<name>Script: udef_trigger = "setLockPin"</name> <name>Script: udef_trigger = "setLockPin"</name>
<script>udef_trigger = "setLockPin"</script> <script>udef_trigger = "setLockPin"</script>
</action> </action>
<action type="script">
<useDefaultName>true</useDefaultName>
<name>Script: volume = "volume@@" + {volume}; fhemcmd = "setreading";</name>
<script>volume = "volume@@" + {volume};
fhemcmd = "setreading";</script>
</action>
<action type="script"> <action type="script">
<useDefaultName>true</useDefaultName> <useDefaultName>true</useDefaultName>
<name>Script: volume = {volumeBT}</name> <name>Script: volume = {volumeBT}</name>
@ -2442,6 +2434,12 @@ fhemcmd = "setreading";</script>
<useDefaultName>true</useDefaultName> <useDefaultName>true</useDefaultName>
<name>Script: volumeNotification = "volumeNotification@@" + {volumeNotification}; fhemcmd = "setreading";</name> <name>Script: volumeNotification = "volumeNotification@@" + {volumeNotification}; fhemcmd = "setreading";</name>
<script>volumeNotification = "volumeNotification@@" + {volumeNotification}; <script>volumeNotification = "volumeNotification@@" + {volumeNotification};
fhemcmd = "setreading";</script>
</action>
<action type="script">
<useDefaultName>true</useDefaultName>
<name>Script: volumevalue = "volume@@" + {volume}; fhemcmd = "setreading";</name>
<script>volumevalue = "volume@@" + {volume};
fhemcmd = "setreading";</script> fhemcmd = "setreading";</script>
</action> </action>
<action type="http_request"> <action type="http_request">
@ -2674,113 +2672,11 @@ FHEMCMD: voiceinputvalue</customHTTPHeaders>
</action> </action>
<flow type="flow"> <flow type="flow">
<name>Informations</name> <name>Informations</name>
<group>AMAD2 Info/Control Flowset v2.3.15</group> <group>AMAD2 Info/Control Flowset v2.3.16</group>
<enabled>true</enabled> <enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy> <executionPolicy>QUEUE</executionPolicy>
<emergencyStopCount>900</emergencyStopCount> <emergencyStopCount>900</emergencyStopCount>
<actioncontainer id="t1" x="1085.0" y="-3482.5">Script: daydream_state = "on"</actioncontainer> <triggercontainer id="t1" x="1015.0" y="-927.5">
<actioncontainer id="t2" x="1225.0" y="-3482.5">Script: daydream_state = "off"</actioncontainer>
<actioncontainer id="t3" x="420.0" y="-3587.5">Script: next_alarmday = "{next_alarm,dateformat,c}"</actioncontainer>
<actioncontainer id="t4" x="630.0" y="-3587.5">Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"</actioncontainer>
<conditioncontainer id="t5" x="-1050.0" y="-3657.5">Expression: airpcount &lt; 11</conditioncontainer>
<actioncontainer id="t6" x="-1540.0" y="-3517.5">Script: keyguard = "unlocked"</actioncontainer>
<conditioncontainer id="t7" x="1855.0" y="-3027.5">Display Orientierung: Portrait</conditioncontainer>
<actioncontainer id="t8" x="1785.0" y="-3272.5">Script: screen_orientation = "portrait"</actioncontainer>
<actioncontainer id="t9" x="1925.0" y="-3272.5">Script: screen_orientation = "landscape"</actioncontainer>
<actioncontainer id="t10" x="2730.0" y="-3482.5">Script: dock_state = "docked"</actioncontainer>
<actioncontainer id="t11" x="2870.0" y="-3482.5">Script: dock_state = "undocked"</actioncontainer>
<actioncontainer id="t12" x="3290.0" y="-3482.5">Script: keyguardSet = "0"</actioncontainer>
<actioncontainer id="t13" x="1925.0" y="-3657.5">Script: screen_orientation_mode = "manual"</actioncontainer>
<actioncontainer id="t14" x="-1610.0" y="-3097.5">Script: scrcount = 0</actioncontainer>
<actioncontainer id="t15" x="-1680.0" y="-3517.5">Script: keyguard = "locked"</actioncontainer>
<conditioncontainer id="t16" x="-1855.0" y="-3832.5">Expression: scrcount &lt; 5</conditioncontainer>
<actioncontainer id="t17" x="-1855.0" y="-3657.5">Script: scrcount = scrcount + 1</actioncontainer>
<actioncontainer id="t18" x="-1855.0" y="-3517.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t19" x="2170.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<conditioncontainer id="t20" x="2310.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: Automagic</conditioncontainer>
<conditioncontainer id="t21" x="3885.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t22" x="3745.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<conditioncontainer id="t23" x="3885.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: WhatsApp</conditioncontainer>
<actioncontainer id="t24" x="-1050.0" y="-3517.5">Script: airpcount = airpcount + 1</actioncontainer>
<actioncontainer id="t25" x="-1120.0" y="-3097.5">Script: airpcount = 0</actioncontainer>
<actioncontainer id="t26" x="-1050.0" y="-3342.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<conditioncontainer id="t27" x="-1225.0" y="-3517.5">Expression: global_apssid != "usb-ethernet"</conditioncontainer>
<conditioncontainer id="t28" x="-1225.0" y="-3342.5">WLAN Verbunden: {global_apssid}</conditioncontainer>
<conditioncontainer id="t29" x="2800.0" y="-3132.5">Dock Status: Docked</conditioncontainer>
<actioncontainer id="t30" x="2450.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<actioncontainer id="t31" x="-770.0" y="-3097.5">Pause: 3s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t32" x="3885.0" y="-892.5">WLAN Reassoziieren</actioncontainer>
<conditioncontainer id="t33" x="3885.0" y="-1592.5">WLAN verfügbar: {global_apssid}</conditioncontainer>
<conditioncontainer id="t34" x="1855.0" y="-3482.5">Display automatisch drehen eingeschaltet</conditioncontainer>
<conditioncontainer id="t35" x="1155.0" y="-3132.5">Expression: trigger == "Daydream Status: Gestartet"</conditioncontainer>
<conditioncontainer id="t36" x="-455.0" y="-3097.5">Bluetooth eingeschaltet</conditioncontainer>
<conditioncontainer id="t37" x="1015.0" y="-227.5">Expression: trigger == "App Task Beendet"</conditioncontainer>
<conditioncontainer id="t38" x="805.0" y="1207.5">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}</conditioncontainer>
<conditioncontainer id="t39" x="-1610.0" y="-3342.5">Keyguard gesperrt</conditioncontainer>
<conditioncontainer id="t40" x="-1855.0" y="-3342.5">Expression: keyguard == "locked"</conditioncontainer>
<conditioncontainer id="t41" x="2310.0" y="-3027.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t42" x="4025.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<conditioncontainer id="t43" x="3150.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<actioncontainer id="t44" x="3290.0" y="-3132.5">Script: keyguardSet = "not supported from your device"</actioncontainer>
<conditioncontainer id="t45" x="-1610.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<conditioncontainer id="t46" x="-2100.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<conditioncontainer id="t47" x="-2100.0" y="-3097.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<conditioncontainer id="t48" x="-2730.0" y="-3342.5">Unterbrechnungen-Modus: Nur Wecker (Android 6+)</conditioncontainer>
<conditioncontainer id="t49" x="-2870.0" y="-3342.5">Unterbrechnungen-Modus: Keine / Nicht unterbrechen</conditioncontainer>
<conditioncontainer id="t50" x="-3010.0" y="-3342.5">Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen</conditioncontainer>
<conditioncontainer id="t51" x="-3150.0" y="-3342.5">Unterbrechnungen-Modus: Alle / Immer unterbrechen</conditioncontainer>
<actioncontainer id="t52" x="805.0" y="1417.5">Prüfe und setze globale Variablen</actioncontainer>
<actioncontainer id="t53" x="-3150.0" y="-3552.5">Script: dndValue = "always"</actioncontainer>
<actioncontainer id="t54" x="-3010.0" y="-3552.5">Script: dndValue = "onlyImportant"</actioncontainer>
<actioncontainer id="t55" x="-2870.0" y="-3552.5">Script: dndValue = "never"</actioncontainer>
<actioncontainer id="t56" x="-2730.0" y="-3552.5">Script: dndValue = "alarmClockOnly"</actioncontainer>
<actioncontainer id="t57" x="-2170.0" y="-3832.5">Script: screen_state = "on"</actioncontainer>
<actioncontainer id="t58" x="-2030.0" y="-3832.5">Script: screen_state = "off"</actioncontainer>
<actioncontainer id="t59" x="-1680.0" y="-3832.5">Script: screen_state = "on {keyguard}"</actioncontainer>
<actioncontainer id="t60" x="-1540.0" y="-3832.5">Script: screen_state = "off {keyguard}"</actioncontainer>
<actioncontainer id="t61" x="-1225.0" y="-3657.5">Script: airplanemode = "off"</actioncontainer>
<conditioncontainer id="t62" x="-770.0" y="-3342.5">Musik Aktiv</conditioncontainer>
<actioncontainer id="t63" x="-455.0" y="-3342.5">Script: bluetooth_state = "on"</actioncontainer>
<actioncontainer id="t64" x="-770.0" y="-3587.5">Script: artist = "no player active"; track = "no player active"; album = "no player active"; musicapp = "no player active";</actioncontainer>
<actioncontainer id="t65" x="525.0" y="-3097.5">Initialisiere Variable Nächster Alarm: next_alarm</actioncontainer>
<conditioncontainer id="t66" x="1015.0" y="157.5">Expression: global_fhemip != null or header_fhemip != null</conditioncontainer>
<actioncontainer id="t67" x="1260.0" y="1207.5">Script: androidVersion = "not supported funktion"</actioncontainer>
<actioncontainer id="t68" x="0.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2</actioncontainer>
<actioncontainer id="t69" x="210.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2</actioncontainer>
<conditioncontainer id="t70" x="105.0" y="1172.5">Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution)</conditioncontainer>
<actioncontainer id="t71" x="-455.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeNotification</actioncontainer>
<conditioncontainer id="t72" x="3255.0" y="-1802.5">Expression: package_name == {global_activetask}</conditioncontainer>
<conditioncontainer id="t73" x="3395.0" y="-2047.5">App Task läuft: {global_activetask} (neuster)</conditioncontainer>
<actioncontainer id="t74" x="3465.0" y="-2257.5">Script: runTask = "1"</actioncontainer>
<actioncontainer id="t75" x="3325.0" y="-2257.5">Script: runTask = "0"</actioncontainer>
<conditioncontainer id="t76" x="3115.0" y="-2047.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t77" x="3115.0" y="-2257.5">Script: runTask = "not supported android version"</actioncontainer>
<actioncontainer id="t78" x="2905.0" y="-2292.5">Script: runTask = "null"</actioncontainer>
<conditioncontainer id="t79" x="4270.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t80" x="3255.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 30s"</conditioncontainer>
<conditioncontainer id="t81" x="3185.0" y="-1872.5">Expression: global_activetask != null</conditioncontainer>
<conditioncontainer id="t82" x="1015.0" y="-1767.5">WLAN Verbunden: {global_apssid}</conditioncontainer>
<conditioncontainer id="t83" x="1015.0" y="-2082.5">Expression: global_apssid != "usb-ethernet"</conditioncontainer>
<conditioncontainer id="t84" x="-1855.0" y="-1802.5">Flow Aktiv: SetCommands</conditioncontainer>
<actioncontainer id="t85" x="-1960.0" y="-1977.5">Script: setCommandFlow_state = "inaktiv"</actioncontainer>
<actioncontainer id="t86" x="-1750.0" y="-1977.5">Script: setCommandFlow_state = "aktiv"</actioncontainer>
<actioncontainer id="t87" x="-1855.0" y="-2152.5">Setze Flow Status: Aktivieren SetCommands</actioncontainer>
<conditioncontainer id="t88" x="-1855.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 30s"</conditioncontainer>
<conditioncontainer id="t89" x="-2940.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t90" x="-2450.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t91" x="-1855.0" y="-2782.5">Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t92" x="-1120.0" y="-2782.5">Expression: trigger == "Flugmodus: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t93" x="1155.0" y="-2782.5">Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt"</conditioncontainer>
<conditioncontainer id="t94" x="1855.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t95" x="2310.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t96" x="2800.0" y="-2782.5">Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t97" x="840.0" y="-2782.5">Expression: trigger == "Akku Ladestand: grösser als 0%"</conditioncontainer>
<conditioncontainer id="t98" x="-245.0" y="997.5">Stromversorgung: Angeschlossen</conditioncontainer>
<actioncontainer id="t99" x="-665.0" y="997.5">Initialisiere Variable Systemeinstellung: screenBrightness</actioncontainer>
<actioncontainer id="t100" x="1785.0" y="-3657.5">Script: screen_orientation_mode = "auto"</actioncontainer>
<conditioncontainer id="t101" x="1505.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System screen_brightness"</conditioncontainer>
<conditioncontainer id="t102" x="-770.0" y="-2782.5">Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<triggercontainer id="t103" x="1015.0" y="-927.5">
<trigger>Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE</trigger> <trigger>Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE</trigger>
<trigger>Stromversorgung: Angeschlossen</trigger> <trigger>Stromversorgung: Angeschlossen</trigger>
<trigger>Genereller Broadcast: wenn org.smblott.intentradio.STATE</trigger> <trigger>Genereller Broadcast: wenn org.smblott.intentradio.STATE</trigger>
@ -2821,282 +2717,384 @@ FHEMCMD: voiceinputvalue</customHTTPHeaders>
<trigger>Flugmodus: Aus</trigger> <trigger>Flugmodus: Aus</trigger>
<trigger>Systemeinstellung verändert: System volume_ring_speaker</trigger> <trigger>Systemeinstellung verändert: System volume_ring_speaker</trigger>
</triggercontainer> </triggercontainer>
<actioncontainer id="t104" x="-1855.0" y="-4007.5">Script: screen = "screen@@" + {screen_state}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t2" x="1085.0" y="-3482.5">Script: daydream_state = "on"</actioncontainer>
<actioncontainer id="t105" x="-1120.0" y="-3832.5">Script: airplanemode = "airplanemode@@" + {airplanemode}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t3" x="1225.0" y="-3482.5">Script: daydream_state = "off"</actioncontainer>
<actioncontainer id="t106" x="-770.0" y="-3832.5">Script: currentMusic = "currentMusicTrack@@" + {track} + "@@@@currentMusicAlbum@@" + {album} + "@@@@currentMusicArtist@@" + {artist} + "@@@@currentMusicApp@@" + {musicapp}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t4" x="420.0" y="-3587.5">Script: next_alarmday = "{next_alarm,dateformat,c}"</actioncontainer>
<actioncontainer id="t107" x="-455.0" y="-3832.5">Script: bluetooth = "bluetooth@@" + {bluetooth_state}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t5" x="630.0" y="-3587.5">Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"</actioncontainer>
<actioncontainer id="t108" x="-2975.0" y="-3867.5">Script: doNotDisturb = "doNotDisturb@@" + {dndValue}; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t6" x="-1050.0" y="-3657.5">Expression: airpcount &lt; 11</conditioncontainer>
<actioncontainer id="t109" x="0.0" y="-3832.5">Script: volumeNotification = "volumeNotification@@" + {volumeNotification}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t7" x="-1540.0" y="-3517.5">Script: keyguard = "unlocked"</actioncontainer>
<actioncontainer id="t110" x="210.0" y="-3832.5">Script: volume = "volume@@" + {volume}; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t8" x="1855.0" y="-3027.5">Display Orientierung: Portrait</conditioncontainer>
<actioncontainer id="t111" x="525.0" y="-3832.5">Script: nextAlarm = "nextAlarmTime@@" + {next_alarmtime} + "@@@@nextAlarmDay@@" + {next_alarmday}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t9" x="1785.0" y="-3272.5">Script: screen_orientation = "portrait"</actioncontainer>
<actioncontainer id="t112" x="840.0" y="-3832.5">Script: powerinfo = "powerLevel@@" + "{battery_percentage,numberformat,0}" + "@@@@powerPlugged@@" + {battery_plugged} + "@@@@batteryTemperature@@" + "{battery_temperature/10.0,numberformat.0.0}" + "@@@@batteryHealth@@" + {battery_health}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t10" x="1925.0" y="-3272.5">Script: screen_orientation = "landscape"</actioncontainer>
<actioncontainer id="t113" x="1155.0" y="-3832.5">Script: daydream = "daydream@@" + {daydream_state}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t11" x="2730.0" y="-3482.5">Script: dock_state = "docked"</actioncontainer>
<actioncontainer id="t114" x="1505.0" y="-3832.5">Script: screenBrightness = "screenBrightness@@" + {screenBrightness}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t12" x="2870.0" y="-3482.5">Script: dock_state = "undocked"</actioncontainer>
<actioncontainer id="t115" x="1855.0" y="-3832.5">Script: screenOrientation = "screenOrientation@@" + {screen_orientation} + "@@@@screenOrientationMode@@" + {screen_orientation_mode}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t13" x="3290.0" y="-3482.5">Script: keyguardSet = "0"</actioncontainer>
<actioncontainer id="t116" x="2310.0" y="-3832.5">Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t14" x="1925.0" y="-3657.5">Script: screen_orientation_mode = "manual"</actioncontainer>
<actioncontainer id="t117" x="2800.0" y="-3832.5">Script: dockingState = "dockingState@@" + {dock_state}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t15" x="-1610.0" y="-3097.5">Script: scrcount = 0</actioncontainer>
<actioncontainer id="t118" x="3535.0" y="-3832.5">Script: incomingCaller = "incomingCallerName@@" + {contact_name} + "@@@@incomingCallerNumber@@" + {incoming_number}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t16" x="-1680.0" y="-3517.5">Script: keyguard = "locked"</actioncontainer>
<actioncontainer id="t119" x="4270.0" y="-3832.5">Script: intentRadioState = "intentRadioState@@" + {irstate} + "@@@@intentRadioName@@" + {irname}; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t17" x="-1855.0" y="-3832.5">Expression: scrcount &lt; 5</conditioncontainer>
<actioncontainer id="t120" x="1330.0" y="1417.5">Script: androidVersion = "androidVersion@@" + {androidVersion}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t18" x="-1855.0" y="-3657.5">Script: scrcount = scrcount + 1</actioncontainer>
<actioncontainer id="t121" x="-1855.0" y="-2327.5">Script: flow_SetCommands = "flow_SetCommands@@" + {setCommandFlow_state}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t19" x="-1855.0" y="-3517.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t122" x="3220.0" y="-2467.5">Script: checkActiveTask = "checkActiveTask@@" + {runTask}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t20" x="2170.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<actioncontainer id="t123" x="1015.0001" y="-4602.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer> <conditioncontainer id="t21" x="2310.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: Automagic</conditioncontainer>
<actioncontainer id="t124" x="4270.0" y="-892.5">Script: deviceState = "deviceState@@online"; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t22" x="3885.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<conditioncontainer id="t125" x="1015.0" y="682.5">Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer> <actioncontainer id="t23" x="3745.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<actioncontainer id="t126" x="1295.0" y="997.5">Get Android Version</actioncontainer> <conditioncontainer id="t24" x="3885.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: WhatsApp</conditioncontainer>
<actioncontainer id="t127" x="-455.0" y="-3552.5">Script: bluetooth_state = "off"</actioncontainer> <actioncontainer id="t25" x="-1050.0" y="-3517.5">Script: airpcount = airpcount + 1</actioncontainer>
<actioncontainer id="t128" x="-2450.0" y="-3552.5">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" }</actioncontainer> <actioncontainer id="t26" x="-1120.0" y="-3097.5">Script: airpcount = 0</actioncontainer>
<actioncontainer id="t129" x="-2450.0" y="-3867.5">Script: nextAlarmState = "nextAlarmState@@" + {nextalarmstate}; fhemcmd = "setreading";</actioncontainer> <actioncontainer id="t27" x="-1050.0" y="-3342.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<conditioncontainer id="t130" x="-315.00003" y="-3097.5">Bluetooth Gerät verbunden: Beliebiges Geräte</conditioncontainer> <conditioncontainer id="t28" x="-1225.0" y="-3517.5">Expression: global_apssid != "usb-ethernet"</conditioncontainer>
<actioncontainer id="t131" x="-315.0" y="-3832.5">Script: btdeviceinfo = "connectedBTdevices@@" + {connected_devices_names} + "@@@@connectedBTdevicesMAC@@" + {connected_devices_addresses}; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t29" x="-1225.0" y="-3342.5">WLAN Verbunden: {global_apssid}</conditioncontainer>
<actioncontainer id="t132" x="-315.0" y="-3552.5">Script: connected_devices_names = "none"; connected_devices_addresses = "none"</actioncontainer> <conditioncontainer id="t30" x="2800.0" y="-3132.5">Dock Status: Docked</conditioncontainer>
<actioncontainer id="t133" x="35.0" y="1347.5">Script: volume = {volumeBT}</actioncontainer> <actioncontainer id="t31" x="2450.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<actioncontainer id="t134" x="175.0" y="1347.5">Script: volume = {volumeSP}</actioncontainer> <actioncontainer id="t32" x="-770.0" y="-3097.5">Pause: 3s (Gerät wach halten)</actioncontainer>
<conditioncontainer id="t135" x="525.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System next_alarm" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer> <actioncontainer id="t33" x="3885.0" y="-892.5">WLAN Reassoziieren</actioncontainer>
<conditioncontainer id="t136" x="210.0" y="-2782.5">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 == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer> <conditioncontainer id="t34" x="3885.0" y="-1592.5">WLAN verfügbar: {global_apssid}</conditioncontainer>
<conditioncontainer id="t137" x="-420.0" y="-2782.5">Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer> <conditioncontainer id="t35" x="1855.0" y="-3482.5">Display automatisch drehen eingeschaltet</conditioncontainer>
<conditioncontainer id="t138" x="0.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer> <conditioncontainer id="t36" x="1155.0" y="-3132.5">Expression: trigger == "Daydream Status: Gestartet"</conditioncontainer>
<conditioncontainer id="t139" x="3220.0" y="-3307.5">Keyguard mit Sicherheit</conditioncontainer> <conditioncontainer id="t37" x="-455.0" y="-3097.5">Bluetooth eingeschaltet</conditioncontainer>
<actioncontainer id="t140" x="3150.0" y="-3482.5">Script: keyguardSet = "1"</actioncontainer> <conditioncontainer id="t38" x="1015.0" y="-227.5">Expression: trigger == "App Task Beendet"</conditioncontainer>
<actioncontainer id="t141" x="3220.0" y="-3832.5">Script: keyguardSet = "keyguardSet@@" + {keyguardSet}; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t39" x="805.0" y="1207.5">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}</conditioncontainer>
<conditioncontainer id="t142" x="3220.0" y="-2782.5">Expression: udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer> <conditioncontainer id="t40" x="-1610.0" y="-3342.5">Keyguard gesperrt</conditioncontainer>
<conditioncontainer id="t143" x="3535.0" y="-2782.5">Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle"</conditioncontainer> <conditioncontainer id="t41" x="-1855.0" y="-3342.5">Expression: keyguard == "locked"</conditioncontainer>
<actioncontainer id="t144" x="3885.0" y="-3832.5">Script: incommingWhatsAppMessage = "incommingWhatsAppMessageFrom@@" + {notification_text}; fhemcmd = "setreading";</actioncontainer> <conditioncontainer id="t42" x="2310.0" y="-3027.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<conditioncontainer id="t145" x="3885.0" y="-2782.5">Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp"</conditioncontainer> <actioncontainer id="t43" x="4025.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<conditioncontainer id="t146" x="4270.0" y="-2782.5">Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE"</conditioncontainer> <conditioncontainer id="t44" x="3150.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<connection from="t1" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t45" x="3290.0" y="-3132.5">Script: keyguardSet = "not supported from your device"</actioncontainer>
<connection from="t2" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t46" x="-1610.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<connection from="t3" to="t111" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t47" x="-2100.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<connection from="t4" to="t111" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t48" x="-2100.0" y="-3097.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<connection from="t5" to="t24" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t49" x="-2730.0" y="-3342.5">Unterbrechnungen-Modus: Nur Wecker (Android 6+)</conditioncontainer>
<connection from="t6" to="t45" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t50" x="-2870.0" y="-3342.5">Unterbrechnungen-Modus: Keine / Nicht unterbrechen</conditioncontainer>
<connection from="t7" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t51" x="-3010.0" y="-3342.5">Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen</conditioncontainer>
<connection from="t7" to="t9" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t52" x="-3150.0" y="-3342.5">Unterbrechnungen-Modus: Alle / Immer unterbrechen</conditioncontainer>
<connection from="t8" to="t34" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t53" x="805.0" y="1417.5">Prüfe und setze globale Variablen</actioncontainer>
<connection from="t9" to="t34" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t54" x="-3150.0" y="-3552.5">Script: dndValue = "always"</actioncontainer>
<connection from="t10" to="t117" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t55" x="-3010.0" y="-3552.5">Script: dndValue = "onlyImportant"</actioncontainer>
<connection from="t11" to="t117" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t56" x="-2870.0" y="-3552.5">Script: dndValue = "never"</actioncontainer>
<connection from="t12" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t57" x="-2730.0" y="-3552.5">Script: dndValue = "alarmClockOnly"</actioncontainer>
<connection from="t13" to="t115" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t58" x="-2170.0" y="-3832.5">Script: screen_state = "on"</actioncontainer>
<connection from="t14" to="t39" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t59" x="-2030.0" y="-3832.5">Script: screen_state = "off"</actioncontainer>
<connection from="t15" to="t45" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t60" x="-1680.0" y="-3832.5">Script: screen_state = "on {keyguard}"</actioncontainer>
<connection from="t16" to="t17" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t61" x="-1540.0" y="-3832.5">Script: screen_state = "off {keyguard}"</actioncontainer>
<connection from="t17" to="t18" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t62" x="-1225.0" y="-3657.5">Script: airplanemode = "off"</actioncontainer>
<connection from="t18" to="t40" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t63" x="-770.0" y="-3342.5">Musik Aktiv</conditioncontainer>
<connection from="t19" to="t116" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t64" x="-455.0" y="-3342.5">Script: bluetooth_state = "on"</actioncontainer>
<connection from="t20" to="t19" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t65" x="-770.0" y="-3587.5">Script: artist = "no player active"; track = "no player active"; album = "no player active"; musicapp = "no player active";</actioncontainer>
<connection from="t20" to="t116" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t66" x="525.0" y="-3097.5">Initialisiere Variable Nächster Alarm: next_alarm</actioncontainer>
<connection from="t21" to="t42" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t67" x="1015.0" y="157.5">Expression: global_fhemip != null or header_fhemip != null</conditioncontainer>
<connection from="t21" to="t23" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t68" x="1260.0" y="1207.5">Script: androidVersion = "not supported funktion"</actioncontainer>
<connection from="t22" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t69" x="3255.0" y="-1802.5">Expression: package_name == {global_activetask}</conditioncontainer>
<connection from="t23" to="t22" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" /> <conditioncontainer id="t70" x="3395.0" y="-2047.5">App Task läuft: {global_activetask} (neuster)</conditioncontainer>
<connection from="t23" to="t144" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t71" x="3465.0" y="-2257.5">Script: runTask = "1"</actioncontainer>
<connection from="t24" to="t26" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <actioncontainer id="t72" x="3325.0" y="-2257.5">Script: runTask = "0"</actioncontainer>
<conditioncontainer id="t73" x="3115.0" y="-2047.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t74" x="3115.0" y="-2257.5">Script: runTask = "not supported android version"</actioncontainer>
<actioncontainer id="t75" x="2905.0" y="-2292.5">Script: runTask = "null"</actioncontainer>
<conditioncontainer id="t76" x="4270.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 30s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t77" x="3255.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 30s"</conditioncontainer>
<conditioncontainer id="t78" x="3185.0" y="-1872.5">Expression: global_activetask != null</conditioncontainer>
<conditioncontainer id="t79" x="1015.0" y="-1767.5">WLAN Verbunden: {global_apssid}</conditioncontainer>
<conditioncontainer id="t80" x="1015.0" y="-2082.5">Expression: global_apssid != "usb-ethernet"</conditioncontainer>
<conditioncontainer id="t81" x="-1855.0" y="-1802.5">Flow Aktiv: SetCommands</conditioncontainer>
<actioncontainer id="t82" x="-1960.0" y="-1977.5">Script: setCommandFlow_state = "inaktiv"</actioncontainer>
<actioncontainer id="t83" x="-1750.0" y="-1977.5">Script: setCommandFlow_state = "aktiv"</actioncontainer>
<actioncontainer id="t84" x="-1855.0" y="-2152.5">Setze Flow Status: Aktivieren SetCommands</actioncontainer>
<conditioncontainer id="t85" x="-1855.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 30s"</conditioncontainer>
<conditioncontainer id="t86" x="-2940.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t87" x="-2450.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t88" x="-1855.0" y="-2782.5">Expression: trigger == "Display Status: Aus" or trigger == "Display Status: Ein" or udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t89" x="1155.0" y="-2782.5">Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt"</conditioncontainer>
<conditioncontainer id="t90" x="1855.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t91" x="2310.0" y="-2782.5">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/"</conditioncontainer>
<conditioncontainer id="t92" x="2800.0" y="-2782.5">Expression: trigger == "Dock Event: Docked" or trigger == "Dock Event: Undocked" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t93" x="840.0" y="-2782.5">Expression: trigger == "Akku Ladestand: grösser als 0%"</conditioncontainer>
<conditioncontainer id="t94" x="-245.0" y="997.5">Stromversorgung: Angeschlossen</conditioncontainer>
<actioncontainer id="t95" x="1785.0" y="-3657.5">Script: screen_orientation_mode = "auto"</actioncontainer>
<conditioncontainer id="t96" x="-770.0" y="-2782.5">Expression: trigger == "com.android.music.playstatechanged" or trigger == "com.android.music.metachanged" or trigger == "com.amazon.mp3.metachanged" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t97" x="-1855.0" y="-4007.5">Script: screen = "screen@@" + {screen_state}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t98" x="-1120.0" y="-3832.5">Script: airplanemode = "airplanemode@@" + {airplanemode}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t99" x="-770.0" y="-3832.5">Script: currentMusic = "currentMusicTrack@@" + {track} + "@@@@currentMusicAlbum@@" + {album} + "@@@@currentMusicArtist@@" + {artist} + "@@@@currentMusicApp@@" + {musicapp}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t100" x="-455.0" y="-3832.5">Script: bluetooth = "bluetooth@@" + {bluetooth_state}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t101" x="-2975.0" y="-3867.5">Script: doNotDisturb = "doNotDisturb@@" + {dndValue}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t102" x="525.0" y="-3832.5">Script: nextAlarm = "nextAlarmTime@@" + {next_alarmtime} + "@@@@nextAlarmDay@@" + {next_alarmday}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t103" x="840.0" y="-3832.5">Script: powerinfo = "powerLevel@@" + "{battery_percentage,numberformat,0}" + "@@@@powerPlugged@@" + {battery_plugged} + "@@@@batteryTemperature@@" + "{battery_temperature/10.0,numberformat.0.0}" + "@@@@batteryHealth@@" + {battery_health}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t104" x="1155.0" y="-3832.5">Script: daydream = "daydream@@" + {daydream_state}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t105" x="1855.0" y="-3832.5">Script: screenOrientation = "screenOrientation@@" + {screen_orientation} + "@@@@screenOrientationMode@@" + {screen_orientation_mode}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t106" x="2310.0" y="-3832.5">Script: automagicState = "automagicState@@" + {notification_text}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t107" x="2800.0" y="-3832.5">Script: dockingState = "dockingState@@" + {dock_state}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t108" x="3535.0" y="-3832.5">Script: incomingCaller = "incomingCallerName@@" + {contact_name} + "@@@@incomingCallerNumber@@" + {incoming_number}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t109" x="4270.0" y="-3832.5">Script: intentRadioState = "intentRadioState@@" + {irstate} + "@@@@intentRadioName@@" + {irname}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t110" x="1330.0" y="1417.5">Script: androidVersion = "androidVersion@@" + {androidVersion}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t111" x="-1855.0" y="-2327.5">Script: flow_SetCommands = "flow_SetCommands@@" + {setCommandFlow_state}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t112" x="3220.0" y="-2467.5">Script: checkActiveTask = "checkActiveTask@@" + {runTask}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t113" x="1015.0" y="-4602.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t114" x="4270.0" y="-892.5">Script: deviceState = "deviceState@@online"; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t115" x="1015.0" y="682.5">Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t116" x="1295.0" y="997.5">Get Android Version</actioncontainer>
<actioncontainer id="t117" x="-455.0" y="-3552.5">Script: bluetooth_state = "off"</actioncontainer>
<actioncontainer id="t118" x="-2450.0" y="-3552.5">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" }</actioncontainer>
<actioncontainer id="t119" x="-2450.0" y="-3867.5">Script: nextAlarmState = "nextAlarmState@@" + {nextalarmstate}; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t120" x="-315.0" y="-3097.5">Bluetooth Gerät verbunden: Beliebiges Geräte</conditioncontainer>
<actioncontainer id="t121" x="-315.0" y="-3832.5">Script: btdeviceinfo = "connectedBTdevices@@" + {connected_devices_names} + "@@@@connectedBTdevicesMAC@@" + {connected_devices_addresses}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t122" x="-315.0" y="-3552.5">Script: connected_devices_names = "none"; connected_devices_addresses = "none"</actioncontainer>
<conditioncontainer id="t123" x="525.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System next_alarm" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t124" x="-420.0" y="-2782.5">Expression: trigger == "Bluetooth Status: Schaltet aus, Aus" or trigger == "Bluetooth Status: Schaltet ein, Ein" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t125" x="3220.0" y="-3307.5">Keyguard mit Sicherheit</conditioncontainer>
<actioncontainer id="t126" x="3150.0" y="-3482.5">Script: keyguardSet = "1"</actioncontainer>
<actioncontainer id="t127" x="3220.0" y="-3832.5">Script: keyguardSet = "keyguardSet@@" + {keyguardSet}; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t128" x="3220.0" y="-2782.5">Expression: udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t129" x="3535.0" y="-2782.5">Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle"</conditioncontainer>
<actioncontainer id="t130" x="3885.0" y="-3832.5">Script: incommingWhatsAppMessage = "incommingWhatsAppMessageFrom@@" + {notification_text}; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t131" x="3885.0" y="-2782.5">Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp"</conditioncontainer>
<conditioncontainer id="t132" x="4270.0" y="-2782.5">Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE"</conditioncontainer>
<conditioncontainer id="t133" x="-1119.9999" y="-2782.5">Expression: trigger == "Flugmodus: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t134" x="-665.0" y="997.5">Initialisiere Variable Systemeinstellung: screenBrightness</actioncontainer>
<actioncontainer id="t135" x="1505.0" y="-3832.5">Script: screenBrightness = "screenBrightness@@" + {screenBrightness}; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t136" x="1505.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System screen_brightness"</conditioncontainer>
<conditioncontainer id="t137" x="0.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker"</conditioncontainer>
<actioncontainer id="t138" x="-455.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeNotification</actioncontainer>
<actioncontainer id="t139" x="35.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2</actioncontainer>
<actioncontainer id="t140" x="175.00002" y="997.49994">Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2</actioncontainer>
<conditioncontainer id="t141" x="105.000015" y="1102.5">Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution)</conditioncontainer>
<actioncontainer id="t142" x="0.0" y="-3832.5">Script: volumeNotification = "volumeNotification@@" + {volumeNotification}; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t143" x="210.0" y="-2782.5">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"</conditioncontainer>
<actioncontainer id="t144" x="210.0" y="-3832.5">Script: volumevalue = "volume@@" + {volume}; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t145" x="35.000088" y="1207.4995">Script: volume = {volumeBT}</actioncontainer>
<actioncontainer id="t146" x="175.00018" y="1207.4995">Script: volume = {volumeSP}</actioncontainer>
<connection from="t1" to="t38" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t2" to="t104" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t104" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t102" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t102" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t25" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t7" to="t46" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t9" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t10" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t35" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t10" to="t35" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t11" to="t107" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t12" to="t107" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t13" to="t127" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t14" to="t105" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t15" to="t40" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t16" to="t46" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t17" to="t18" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t18" to="t19" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t19" to="t41" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t20" to="t106" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t21" to="t20" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t21" to="t106" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t43" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t24" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t23" to="t130" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t24" to="t23" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t24" to="t130" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t25" to="t27" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t25" to="t27" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t26" to="t27" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t26" to="t28" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t27" to="t28" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t27" to="t28" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t27" to="t61" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t28" to="t29" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t61" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t28" to="t62" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t5" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t29" to="t62" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t29" to="t10" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t29" to="t6" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t29" to="t11" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t30" to="t11" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t30" to="t116" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t30" to="t12" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t31" to="t62" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t31" to="t106" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t33" to="t32" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t32" to="t63" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t34" to="t100" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t34" to="t33" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t34" to="t13" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t35" to="t95" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t35" to="t1" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t35" to="t14" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t35" to="t2" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t36" to="t2" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t36" to="t63" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t36" to="t3" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t36" to="t127" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t37" to="t64" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t37" to="t66" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t37" to="t117" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t37" to="t92" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t38" to="t67" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t37" to="t72" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t38" to="t133" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t38" to="t52" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t38" to="t69" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t39" to="t6" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t39" to="t53" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t39" to="t15" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t40" to="t7" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t40" to="t39" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t40" to="t16" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t41" to="t20" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t41" to="t40" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t41" to="t30" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t42" to="t21" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t41" to="t30" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t42" to="t31" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t42" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t42" to="t31" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t43" to="t139" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t43" to="t130" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t43" to="t44" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t44" to="t125" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t44" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t44" to="t45" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t45" to="t59" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t45" to="t127" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t45" to="t60" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t46" to="t60" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t45" to="t16" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t46" to="t61" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t46" to="t57" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t46" to="t17" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t46" to="t58" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t47" to="t58" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t47" to="t14" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t47" to="t59" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t47" to="t46" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t48" to="t15" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t48" to="t56" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t48" to="t47" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t49" to="t55" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t49" to="t57" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t50" to="t54" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t50" to="t56" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t51" to="t53" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t51" to="t55" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t53" to="t108" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t52" to="t54" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t54" to="t108" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t54" to="t101" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t55" to="t108" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t55" to="t101" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t56" to="t108" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t56" to="t101" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t57" to="t104" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t57" to="t101" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t58" to="t104" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t58" to="t97" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t59" to="t104" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t59" to="t97" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t60" to="t104" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t60" to="t97" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t61" to="t105" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t61" to="t97" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t62" to="t64" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t62" to="t98" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t62" to="t106" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t63" to="t65" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t63" to="t107" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t63" to="t99" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t64" to="t106" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t64" to="t100" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t65" to="t3" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t65" to="t99" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t65" to="t4" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t66" to="t4" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t66" to="t83" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t66" to="t5" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t66" to="t125" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t67" to="t80" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t67" to="t120" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t67" to="t115" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t68" to="t70" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t68" to="t110" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t69" to="t70" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t69" to="t78" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t70" to="t133" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t70" to="t71" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t70" to="t134" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t70" to="t72" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t71" to="t138" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t71" to="t112" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t72" to="t81" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t72" to="t112" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t73" to="t74" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t73" to="t70" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t73" to="t75" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t73" to="t74" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t74" to="t122" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t73" to="t74" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t75" to="t122" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t74" to="t112" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t76" to="t73" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t75" to="t112" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t76" to="t77" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t76" to="t114" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t76" to="t77" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t77" to="t78" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t77" to="t122" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t78" to="t75" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t78" to="t122" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t78" to="t73" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t123" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t143" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t136" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t137" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t88" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t124" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t124" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t80" to="t81" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t91" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t81" to="t78" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t93" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t81" to="t76" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t90" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t135" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t89" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t136" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t92" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t101" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t96" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t138" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t128" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t91" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t129" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t137" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t131" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t95" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t87" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t97" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t132" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t94" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t76" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t93" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t86" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t96" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t34" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t102" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t77" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t142" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t79" to="t85" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t143" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t79" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t145" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t87" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t90" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t88" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t146" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t133" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t79" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t96" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t89" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t124" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t33" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t137" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t80" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t143" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t88" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t123" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t82" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t93" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t90" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t89" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t91" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t136" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t92" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t90" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t102" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t91" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t137" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t92" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t138" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t128" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t136" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t129" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t135" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t131" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t97" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t132" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t93" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t86" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t101" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t76" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t94" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t77" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t95" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t80" to="t85" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t96" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t81" to="t83" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t142" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t81" to="t82" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t143" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t82" to="t84" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t145" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t82" to="t111" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t146" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t83" to="t111" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t89" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t85" to="t81" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t79" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t86" to="t52" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t80" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t86" to="t51" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t88" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t86" to="t50" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t84" to="t86" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t86" to="t49" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t84" to="t85" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t87" to="t118" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t85" to="t87" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t88" to="t48" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t85" to="t121" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t89" to="t36" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t86" to="t121" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t90" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t88" to="t84" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t91" to="t42" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t89" to="t51" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t92" to="t30" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t89" to="t50" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t93" to="t103" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t89" to="t49" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t94" to="t103" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t89" to="t48" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t94" to="t103" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t90" to="t128" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t95" to="t105" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t91" to="t47" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t96" to="t32" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t92" to="t25" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t97" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t93" to="t35" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t98" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t94" to="t7" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t99" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t95" to="t41" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t100" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t96" to="t29" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t101" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t97" to="t112" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t102" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t112" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t103" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t112" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t104" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t99" to="t114" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t105" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t100" to="t115" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t106" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t101" to="t114" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t107" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t102" to="t31" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t108" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t103" to="t37" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t109" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t104" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t110" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t105" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t111" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t106" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t112" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t107" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t114" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t108" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t39" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t140" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t110" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t139" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t111" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t138" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t94" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t113" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t134" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t114" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t115" to="t116" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t116" to="t68" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t116" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t116" to="t110" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t117" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t117" to="t100" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t118" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t118" to="t119" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t119" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t119" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t120" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t120" to="t121" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t121" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t120" to="t122" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t122" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t121" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t124" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t122" to="t121" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t38" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t123" to="t66" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t69" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t124" to="t37" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t68" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t124" to="t120" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t71" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t98" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t99" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t126" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t125" to="t126" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t126" to="t67" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t125" to="t13" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t126" to="t120" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t126" to="t127" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t127" to="t107" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t127" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t128" to="t129" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t128" to="t44" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t129" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t129" to="t108" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t130" to="t131" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t130" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t130" to="t132" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t131" to="t22" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t131" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t132" to="t109" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t132" to="t131" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t133" to="t26" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t133" to="t136" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t134" to="t135" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t134" to="t136" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t135" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t135" to="t65" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t136" to="t135" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t136" to="t110" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t137" to="t142" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t137" to="t36" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t138" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t137" to="t130" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t139" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t138" to="t109" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t139" to="t140" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t139" to="t12" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t140" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t140" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t141" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t141" to="t145" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t142" to="t43" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t141" to="t146" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t143" to="t118" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t142" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t144" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t143" to="t144" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t145" to="t21" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t144" to="t113" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t146" to="t119" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t145" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t146" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
</flow> </flow>
<flow type="flow"> <flow type="flow">
<name>MultimediaControl</name> <name>MultimediaControl</name>
<group>AMAD2 Info/Control Flowset v2.3.15</group> <group>AMAD2 Info/Control Flowset v2.3.16</group>
<enabled>true</enabled> <enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy> <executionPolicy>QUEUE</executionPolicy>
<triggercontainer id="t1" x="0.0" y="-1032.5"> <triggercontainer id="t1" x="0.0" y="-1032.5">
@ -3177,29 +3175,29 @@ FHEMCMD: voiceinputvalue</customHTTPHeaders>
</flow> </flow>
<flow type="flow"> <flow type="flow">
<name>Send Data to AMADCommBridge</name> <name>Send Data to AMADCommBridge</name>
<group>AMAD2 Info/Control Flowset v2.3.15</group> <group>AMAD2 Info/Control Flowset v2.3.16</group>
<enabled>true</enabled> <enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy> <executionPolicy>QUEUE</executionPolicy>
<emergencyStopCount>900</emergencyStopCount> <emergencyStopCount>900</emergencyStopCount>
<actioncontainer id="t1" x="1.5258789E-5" y="682.49994">HTTP Request: send READINGSVAL data to AMADCommBridge </actioncontainer> <triggercontainer id="t1" x="-245.0" y="-262.5" />
<conditioncontainer id="t2" x="-525.0001" y="192.5">Expression: fhemcmd == "setreading"</conditioncontainer> <actioncontainer id="t2" x="0.0" y="682.5">HTTP Request: send READINGSVAL data to AMADCommBridge </actioncontainer>
<conditioncontainer id="t3" x="-245.00014" y="192.49997">Expression: fhemcmd == "set"</conditioncontainer> <conditioncontainer id="t3" x="-525.0" y="192.5">Expression: fhemcmd == "setreading"</conditioncontainer>
<conditioncontainer id="t4" x="-9.1552734E-5" y="192.50009">Expression: fhemcmd == "readingsval"</conditioncontainer> <conditioncontainer id="t4" x="-245.0" y="192.5">Expression: fhemcmd == "set"</conditioncontainer>
<triggercontainer id="t5" x="-244.99988" y="-262.50003" /> <conditioncontainer id="t5" x="0.0" y="192.5">Expression: fhemcmd == "readingsval"</conditioncontainer>
<actioncontainer id="t6" x="-244.99997" y="682.49994">HTTP Request: send SET data to AMADCommBridge </actioncontainer> <actioncontainer id="t6" x="-245.0" y="682.5">HTTP Request: send SET data to AMADCommBridge </actioncontainer>
<actioncontainer id="t7" x="-524.99994" y="682.49994">HTTP Request: send READINGS data to AMADCommBridge </actioncontainer> <actioncontainer id="t7" x="-525.0" y="682.5">HTTP Request: send READINGS data to AMADCommBridge </actioncontainer>
<actioncontainer id="t8" x="-524.99994" y="402.49997">Script: Set FHEMDATA</actioncontainer> <actioncontainer id="t8" x="-525.0" y="402.5">Script: Set FHEMDATA</actioncontainer>
<connection from="t2" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t1" to="t3" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t6" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t1" to="t4" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t1" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t1" to="t5" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t2" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t3" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t3" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t4" to="t6" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t4" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t5" to="t2" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t7" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" /> <connection from="t8" to="t7" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
</flow> </flow>
<flow type="flow"> <flow type="flow">
<name>SetCommands</name> <name>SetCommands</name>
<group>AMAD2 Info/Control Flowset v2.3.15</group> <group>AMAD2 Info/Control Flowset v2.3.16</group>
<enabled>true</enabled> <enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy> <executionPolicy>QUEUE</executionPolicy>
<emergencyStopCount>900</emergencyStopCount> <emergencyStopCount>900</emergencyStopCount>
@ -3494,7 +3492,7 @@ FHEMCMD: voiceinputvalue</customHTTPHeaders>
</flow> </flow>
<flow type="flow"> <flow type="flow">
<name>Update AMAD Flowset</name> <name>Update AMAD Flowset</name>
<group>AMAD2 Info/Control Flowset v2.3.15</group> <group>AMAD2 Info/Control Flowset v2.3.16</group>
<enabled>true</enabled> <enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy> <executionPolicy>QUEUE</executionPolicy>
<triggercontainer id="t1" x="420.0" y="-682.5"> <triggercontainer id="t1" x="420.0" y="-682.5">
@ -3544,7 +3542,7 @@ FHEMCMD: voiceinputvalue</customHTTPHeaders>
</flow> </flow>
<flow type="flow"> <flow type="flow">
<name>VoiceControl</name> <name>VoiceControl</name>
<group>AMAD2 Info/Control Flowset v2.3.15</group> <group>AMAD2 Info/Control Flowset v2.3.16</group>
<enabled>true</enabled> <enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy> <executionPolicy>QUEUE</executionPolicy>
<triggercontainer id="t1" x="70.0" y="-52.5" /> <triggercontainer id="t1" x="70.0" y="-52.5" />