besserer online check für keep alive, neue Attribute für die Bridge, VoiceInput Attribut angepasst

This commit is contained in:
Marko Oldenburg 2017-06-06 00:30:54 +02:00
parent 1c368d0e96
commit 3fdfb61942
3 changed files with 478 additions and 469 deletions

View File

@ -68,8 +68,8 @@ use TcpServerUtils;
eval "use JSON;1" or $missingModul .= "JSON ";
my $modulversion = "3.9.61";
my $flowsetversion = "3.9.62";
my $modulversion = "3.9.65";
my $flowsetversion = "3.9.65";
@ -110,8 +110,10 @@ sub AMADCommBridge_Initialize($) {
$hash->{UndefFn} = "AMADCommBridge_Undef";
$hash->{AttrFn} = "AMADCommBridge_Attr";
$hash->{AttrList} = "expertMode:1 ".
$hash->{AttrList} = "fhemControlMode:trigger,setControl,thirdPartControl ".
"debugJSON:0,1 ".
"disable:1 ".
"allowFrom ".
$readingFnAttributes;
foreach my $d(sort keys %{$modules{AMADCommBridge}{defptr}}) {
@ -195,6 +197,19 @@ sub AMADCommBridge_Attr(@) {
}
}
elsif( $attrName eq "fhemControlMode" ) {
if( $cmd eq "set" ) {
CommandSet(undef,'set TYPE=AMADDevice:FILTER=deviceState=online statusRequest');
Log3 $name, 3, "AMADCommBridge ($name) - set fhemControlMode global Variable at Device";
} else {
CommandSet(undef,'set TYPE=AMADDevice:FILTER=deviceState=online statusRequest');
Log3 $name, 3, "AMADCommBridge ($name) - set fhemControlMode global Variable NONE at Device";
}
}
return undef;
}
@ -705,7 +720,14 @@ sub AMADCommBridge_ResponseProcessing($$) {
if($@){
Log3 $bname, 4, "AMADCommBridge ($name) - ERROR while request: $@";
readingsSingleUpdate($bhash, "JSON info", "JSON ERROR", 1);
if( AttrVal( $bname, 'debugJSON', 0 ) == 1 ) {
readingsBeginUpdate($bhash);
readingsBulkUpdate($bhash, 'JSON_ERROR', $@, 1);
readingsBulkUpdate($bhash, 'JSON_ERROR_STRING', $json, 1);
readingsEndUpdate($bhash, 1);
}
$response = "header lines: \r\n AMADCommBridge receive a JSON error\r\n AMADCommBridge to do nothing\r\n";
$c = $hash->{CD};
print $c "HTTP/1.1 200 OK\r\n",
@ -773,8 +795,8 @@ sub AMADCommBridge_ResponseProcessing($$) {
elsif ( $fhemcmd eq 'set' ) {
my $fhemCmd = $decode_json->{payload}{setcmd};
fhem ("set $fhemCmd") if( ReadingsVal( $bname, "expertMode", 0 ) eq "1" );
readingsSingleUpdate( $bhash, "receiveFhemCommand", "set ".$fhemCmd, 0 );
fhem ("set $fhemCmd") if( AttrVal( $bname, 'fhemControlMode', 'trigger' ) eq 'setControl' );
readingsSingleUpdate( $bhash, "receiveFhemCommand", "set ".$fhemCmd, 1 ) if( AttrVal( $bname, 'fhemControlMode', 'trigger' ) eq 'trigger' );;
Log3 $bname, 4, "AMADCommBridge ($name) - AMADCommBridge_CommBridge: set reading receive fhem command";
$response = "header lines: \r\n AMADCommBridge receive Data complete\r\n FHEM execute set command now\r\n";
@ -792,8 +814,8 @@ sub AMADCommBridge_ResponseProcessing($$) {
my $fhemCmd = $decode_json->{payload}{voiceinputdata};
readingsBeginUpdate( $bhash);
readingsBulkUpdateIfChanged( $bhash, "receiveVoiceCommand", $fhemCmd, 1 );
readingsBulkUpdateIfChanged( $bhash, "receiveVoiceDevice", $fhemDevice, 1 );
readingsBulkUpdate( $bhash, "receiveVoiceCommand", $fhemCmd, 1 );
readingsBulkUpdate( $bhash, "receiveVoiceDevice", $fhemDevice, 1 );
readingsEndUpdate( $bhash, 1 );
Log3 $bname, 4, "AMADCommBridge ($name) - AMADCommBridge_CommBridge: set reading receive voice command: $fhemCmd from Device $fhemDevice";

View File

@ -54,8 +54,8 @@ use Encode qw(encode);
eval "use JSON;1" or $missingModul .= "JSON ";
my $modulversion = "3.9.61";
my $flowsetversion = "3.9.62";
my $modulversion = "3.9.65";
my $flowsetversion = "3.9.65";
@ -104,7 +104,6 @@ sub AMADDevice_Initialize($) {
"setTtsMsgLang:de,en ".
"setAPSSID ".
"root:0,1 ".
"port ".
"disable:1 ".
$readingFnAttributes;
@ -251,34 +250,6 @@ sub AMADDevice_Attr(@) {
InternalTimer( gettimeofday(), "AMADDevice_GetUpdate", $hash, 0 )
}
elsif( $attrName eq "port" ) {
if( $cmd eq "set" ) {
$hash->{PORT} = $attrVal;
Log3 $name, 3, "AMADDevice ($name) - set port to $attrVal";
if( $hash->{BRIDGE} ) {
delete $modules{AMADDevice}{defptr}{BRIDGE};
TcpServer_Close( $hash );
Log3 $name, 3, "AMADDevice ($name) - CommBridge Port changed. CommBridge are closed and new open!";
AMADDevice_CommBridge_Open( $hash );
}
} else {
$hash->{PORT} = 8090;
Log3 $name, 3, "AMADDevice ($name) - set port to default";
if( $hash->{BRIDGE} ) {
delete $modules{AMADDevice}{defptr}{BRIDGE};
TcpServer_Close( $hash );
Log3 $name, 3, "AMADDevice ($name) - CommBridge Port changed. CommBridge are closed and new open!";
AMADDevice_CommBridge_Open( $hash );
}
}
}
elsif( $attrName eq "setScreenlockPIN" ) {
if( $cmd eq "set" && $attrVal ) {
@ -320,7 +291,6 @@ sub AMADDevice_GetUpdate($) {
my $name = $hash->{NAME};
my $bname = $hash->{IODev}->{NAME};
RemoveInternalTimer( $hash );
if( $init_done && ( ReadingsVal( $name, "deviceState", "unknown" ) eq "unknown" or ReadingsVal( $name, "deviceState", "online" ) eq "online" ) && AttrVal( $name, "disable", 0 ) ne "1" && ReadingsVal( $bname, "fhemServerIP", "not set" ) ne "not set" ) {
@ -353,11 +323,12 @@ sub AMADDevice_statusRequest($) {
my $userFlowState = AttrVal( $name, "setUserFlowState", "none" );
my $apssid = AttrVal( $name, "setAPSSID", "none" );
my $fhemip = ReadingsVal($hash->{IODev}->{NAME}, "fhemServerIP", "none");
my $fhemCtlMode = AttrVal($hash->{IODev}->{NAME},'fhemControlMode','none' );
my $bport = $hash->{IODev}->{PORT};
$uri = $host . ":" . $port . "/fhem-amad/deviceInfo/"; # Pfad muß so im Automagic als http request Trigger drin stehen
$header .= "\r\nfhemip: $fhemip\r\nfhemdevice: $name\r\nactivetask: $activetask\r\napssid: $apssid\r\nbport: $bport\r\nuserflowstate: $userFlowState\r\namadid: $amad_id";
$header .= "\r\nfhemip: $fhemip\r\nfhemdevice: $name\r\nactivetask: $activetask\r\napssid: $apssid\r\nbport: $bport\r\nuserflowstate: $userFlowState\r\namadid: $amad_id\r\nfhemctlmode: $fhemCtlMode";
$method = "GET";
@ -390,7 +361,8 @@ sub AMADDevice_WriteReadings($$) {
$v =~ s/\bnull\b/off/g if( ($t eq "nextAlarmDay" or $t eq "nextAlarmTime") and $v eq "null" );
$v =~ s/\bnull\b//g;
readingsBulkUpdateIfChanged( $hash, $t, $v, 1 ) if( defined( $v ) );
readingsBulkUpdateIfChanged($hash, $t, $v, 1) if( defined( $v ) );
readingsBulkUpdate($hash, '.'.$t, $v) if( $t eq 'deviceState' );
}
readingsBulkUpdateIfChanged( $hash, "deviceState", "offline", 1 ) if( $decode_json->{payload}{airplanemode} && $decode_json->{payload}{airplanemode} eq "on" );
@ -790,12 +762,11 @@ sub AMADDevice_checkDeviceState($) {
Log3 $name, 4, "AMADDevice ($name) - AMADDevice_checkDeviceState: run Check";
RemoveInternalTimer( $hash );
if( ReadingsAge( $name, "deviceState", 240 ) > 240 ) {
if( ReadingsAge( $name, ".deviceState", 240 ) > 240 ) {
AMADDevice_statusRequest( $hash ) if( $hash->{helper}{deviceStateErrorCounter} == 0 );
readingsSingleUpdate( $hash, "deviceState", "offline", 1 ) if( ReadingsAge( $name, "deviceState", 300) > 300 and $hash->{helper}{deviceStateErrorCounter} > 0 );
readingsSingleUpdate( $hash, "deviceState", "offline", 1 ) if( ReadingsAge( $name, ".deviceState", 300) > 300 and $hash->{helper}{deviceStateErrorCounter} > 0 );
$hash->{helper}{deviceStateErrorCounter} = ( $hash->{helper}{deviceStateErrorCounter} + 1 );
}

View File

@ -569,6 +569,11 @@ irname=getString("name")</extras>
<name>Expression: global_activetask != null</name>
<expression>global_activetask != null</expression>
</condition>
<condition type="expression">
<useDefaultName>true</useDefaultName>
<name>Expression: global_fhemctlmode != "thirdPartControl"</name>
<expression>global_fhemctlmode != "thirdPartControl"</expression>
</condition>
<condition type="expression">
<useDefaultName>true</useDefaultName>
<name>Expression: global_fhemip != null or global_bridgeport != null</name>
@ -2054,6 +2059,9 @@ Connection: close</customHTTPHeaders>
if (global_bridgeport != {header_bport}) {
global_bridgeport = {header_bport} }
if (header_fhemctlmode != null or header_fhemctlmode != {global_fhemctlmode}) {
global_fhemctlmode = {header_fhemctlmode} }
if (header_fhemip != null or header_fhemip != {global_fhemip}) {
global_fhemip = {header_fhemip} }
@ -2636,7 +2644,7 @@ fhemcmd = "setreading";</script>
<action type="script">
<useDefaultName>false</useDefaultName>
<name>Script: Set FHEMDATA JSON</name>
<script>fhemdata = "\"flowsetVersionAtDevice\": \"3.9.62\",";
<script>fhemdata = "\"flowsetVersionAtDevice\": \"3.9.65\",";
@ -3275,7 +3283,7 @@ Soll der Assistent gelöscht werden?</text>
</action>
<flow type="flow">
<name>First Run Assistant</name>
<group>AMADNG Info/Control Flowset v3.9.62</group>
<group>AMADNG Info/Control Flowset v3.9.65</group>
<enabled>false</enabled>
<executionPolicy>PARALLEL</executionPolicy>
<triggercontainer id="t1" x="69.999725" y="-1487.5">
@ -3515,11 +3523,173 @@ Auf Wiedersehen.</actioncontainer>
</flow>
<flow type="flow">
<name>Informations</name>
<group>AMADNG Info/Control Flowset v3.9.62</group>
<group>AMADNG Info/Control Flowset v3.9.65</group>
<enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy>
<emergencyStopCount>900</emergencyStopCount>
<triggercontainer id="t1" x="1015.0" y="-927.5">
<actioncontainer id="t1" x="1085.0" y="-3482.5">Script: daydream_state = "on"</actioncontainer>
<actioncontainer id="t2" x="1225.0" y="-3482.5">Script: daydream_state = "off"</actioncontainer>
<conditioncontainer id="t3" x="-1050.0" y="-3657.5">Expression: airpcount &lt; 11</conditioncontainer>
<actioncontainer id="t4" x="-1540.0" y="-3517.5">Script: keyguard = "unlocked"</actioncontainer>
<conditioncontainer id="t5" x="1855.0" y="-3027.5">Display Orientierung: Portrait</conditioncontainer>
<actioncontainer id="t6" x="1785.0" y="-3272.5">Script: screen_orientation = "portrait"</actioncontainer>
<actioncontainer id="t7" x="1925.0" y="-3272.5">Script: screen_orientation = "landscape"</actioncontainer>
<actioncontainer id="t8" x="2730.0" y="-3482.5">Script: dock_state = "docked"</actioncontainer>
<actioncontainer id="t9" x="2870.0" y="-3482.5">Script: dock_state = "undocked"</actioncontainer>
<actioncontainer id="t10" x="3290.0" y="-3482.5">Script: keyguardSet = "0"</actioncontainer>
<actioncontainer id="t11" x="1925.0" y="-3657.5">Script: screen_orientation_mode = "manual"</actioncontainer>
<actioncontainer id="t12" x="-1610.0" y="-3097.5">Script: scrcount = 0</actioncontainer>
<actioncontainer id="t13" x="-1680.0" y="-3517.5">Script: keyguard = "locked"</actioncontainer>
<conditioncontainer id="t14" x="-1855.0" y="-3832.5">Expression: scrcount &lt; 5</conditioncontainer>
<actioncontainer id="t15" x="-1855.0" y="-3657.5">Script: scrcount = scrcount + 1</actioncontainer>
<actioncontainer id="t16" x="-1855.0" y="-3517.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t17" x="-1050.0" y="-3517.5">Script: airpcount = airpcount + 1</actioncontainer>
<conditioncontainer id="t18" x="2800.0" y="-3132.5">Dock Status: Docked</conditioncontainer>
<conditioncontainer id="t19" x="1855.0" y="-3482.5">Display automatisch drehen eingeschaltet</conditioncontainer>
<conditioncontainer id="t20" x="1155.0" y="-3132.5">Expression: trigger == "Daydream Status: Gestartet"</conditioncontainer>
<conditioncontainer id="t21" x="-455.0" y="-3097.5">Bluetooth eingeschaltet</conditioncontainer>
<conditioncontainer id="t22" x="1015.0" y="-227.5">Expression: trigger == "App Task Beendet"</conditioncontainer>
<conditioncontainer id="t23" x="-1610.0" y="-3342.5">Keyguard gesperrt</conditioncontainer>
<conditioncontainer id="t24" x="-1855.0" y="-3342.5">Expression: keyguard == "locked"</conditioncontainer>
<conditioncontainer id="t25" x="3150.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<actioncontainer id="t26" x="3290.0" y="-3132.5">Script: keyguardSet = "not supported from your device"</actioncontainer>
<conditioncontainer id="t27" x="-1610.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<conditioncontainer id="t28" x="-2100.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<conditioncontainer id="t29" x="-2100.0" y="-3097.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<conditioncontainer id="t30" x="-2730.0" y="-3342.5">Unterbrechnungen-Modus: Nur Wecker (Android 6+)</conditioncontainer>
<conditioncontainer id="t31" x="-2870.0" y="-3342.5">Unterbrechnungen-Modus: Keine / Nicht unterbrechen</conditioncontainer>
<conditioncontainer id="t32" x="-3010.0" y="-3342.5">Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen</conditioncontainer>
<conditioncontainer id="t33" x="-3150.0" y="-3342.5">Unterbrechnungen-Modus: Alle / Immer unterbrechen</conditioncontainer>
<actioncontainer id="t34" x="-3150.0" y="-3552.5">Script: dndValue = "always"</actioncontainer>
<actioncontainer id="t35" x="-3010.0" y="-3552.5">Script: dndValue = "onlyImportant"</actioncontainer>
<actioncontainer id="t36" x="-2870.0" y="-3552.5">Script: dndValue = "never"</actioncontainer>
<actioncontainer id="t37" x="-2730.0" y="-3552.5">Script: dndValue = "alarmClockOnly"</actioncontainer>
<actioncontainer id="t38" x="-2170.0" y="-3832.5">Script: screen_state = "on"</actioncontainer>
<actioncontainer id="t39" x="-2030.0" y="-3832.5">Script: screen_state = "off"</actioncontainer>
<actioncontainer id="t40" x="-1680.0" y="-3832.5">Script: screen_state = "on {keyguard}"</actioncontainer>
<actioncontainer id="t41" x="-1540.0" y="-3832.5">Script: screen_state = "off {keyguard}"</actioncontainer>
<actioncontainer id="t42" x="-1225.0" y="-3657.5">Script: airplanemode = "off"</actioncontainer>
<actioncontainer id="t43" x="-455.0" y="-3342.5">Script: bluetooth_state = "on"</actioncontainer>
<actioncontainer id="t44" x="1260.0" y="1207.5">Script: androidVersion = "not supported funktion"</actioncontainer>
<conditioncontainer id="t45" x="3395.0" y="-2047.5">App Task läuft: {global_activetask} (neuster)</conditioncontainer>
<actioncontainer id="t46" x="3465.0" y="-2257.5">Script: runTask = "1"</actioncontainer>
<actioncontainer id="t47" x="3325.0" y="-2257.5">Script: runTask = "0"</actioncontainer>
<conditioncontainer id="t48" x="3115.0" y="-2047.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t49" x="3115.0" y="-2257.5">Script: runTask = "not supported android version"</actioncontainer>
<actioncontainer id="t50" x="2905.0" y="-2292.5">Script: runTask = "null"</actioncontainer>
<conditioncontainer id="t51" x="3255.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 120s"</conditioncontainer>
<conditioncontainer id="t52" x="3185.0" y="-1872.5">Expression: global_activetask != null</conditioncontainer>
<conditioncontainer id="t53" 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="t54" x="1155.0" y="-2782.5">Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt"</conditioncontainer>
<conditioncontainer id="t55" 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="t56" x="840.0" y="-2782.5">Expression: trigger == "Akku Ladestand: grösser als 0%"</conditioncontainer>
<conditioncontainer id="t57" x="-245.0" y="997.5">Stromversorgung: Angeschlossen</conditioncontainer>
<actioncontainer id="t58" x="1785.0" y="-3657.5">Script: screen_orientation_mode = "auto"</actioncontainer>
<actioncontainer id="t59" x="-455.0" y="-3552.5">Script: bluetooth_state = "off"</actioncontainer>
<actioncontainer id="t60" 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>
<conditioncontainer id="t61" x="-315.0" y="-3097.5">Bluetooth Gerät verbunden: Beliebiges Geräte</conditioncontainer>
<actioncontainer id="t62" x="-315.0" y="-3552.5">Script: connected_devices_names = "none"; connected_devices_addresses = "none"</actioncontainer>
<conditioncontainer id="t63" 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="t64" x="3220.0" y="-3307.5">Keyguard mit Sicherheit</conditioncontainer>
<actioncontainer id="t65" x="3150.0" y="-3482.5">Script: keyguardSet = "1"</actioncontainer>
<conditioncontainer id="t66" x="3220.0" y="-2782.5">Expression: udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t67" x="3535.0" y="-2782.5">Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle"</conditioncontainer>
<conditioncontainer id="t68" x="-1120.0" y="-2782.5">Expression: trigger == "Flugmodus: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t69" x="1505.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System screen_brightness"</conditioncontainer>
<conditioncontainer id="t70" x="105.0" y="1102.5">Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution)</conditioncontainer>
<actioncontainer id="t71" x="35.0" y="1207.5">Script: volume = {volumeBT}</actioncontainer>
<actioncontainer id="t72" x="-770.0" y="-3342.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<conditioncontainer id="t73" x="-770.0" y="-3167.5">Musik Aktiv</conditioncontainer>
<actioncontainer id="t74" x="735.0" y="1417.5">Benachrichtigung auf Bildschirm: [AMAD2] Nicht mehr benötigte AMAD Flows wurden entfernt! (lange)</actioncontainer>
<conditioncontainer id="t75" 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 == "Systemeinstellung verändert: System volume_music_headset"</conditioncontainer>
<actioncontainer id="t76" x="35.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2</actioncontainer>
<actioncontainer id="t77" x="175.0" y="1207.5">Script: volume = {volumeSP}</actioncontainer>
<actioncontainer id="t78" x="175.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2</actioncontainer>
<conditioncontainer id="t79" 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="t80" x="-2940.0" y="-3097.5">Expression: getAndroidSDKVersion() &gt;= "21"</conditioncontainer>
<conditioncontainer id="t81" x="-1190.0" y="-1802.5">Flow Aktiv: SetCommands</conditioncontainer>
<actioncontainer id="t82" x="-1085.0" y="-1977.5">Script: setCommandFlow_state = "aktiv"</actioncontainer>
<actioncontainer id="t83" x="-1295.0" y="-1977.5">Script: setCommandFlow_state = "inaktiv"</actioncontainer>
<actioncontainer id="t84" x="-1190.0" y="-2152.5">Setze Flow Status: Aktivieren SetCommands</actioncontainer>
<actioncontainer id="t85" x="-1645.0" y="-2152.5">Script: flowState = "active"</actioncontainer>
<conditioncontainer id="t86" x="-1715.0" y="-1802.5">Expression: global_userflowstate != "none"</conditioncontainer>
<conditioncontainer id="t87" x="-1715.0" y="-1977.5">Flow Aktiv: {global_userflowstate}</conditioncontainer>
<actioncontainer id="t88" x="-1785.0" y="-2152.5">Script: flowState = "inactive"</actioncontainer>
<actioncontainer id="t89" x="-1120.0" y="-3097.5">Script: airpcount = 0</actioncontainer>
<conditioncontainer id="t90" x="-1225.0" y="-3342.5">Host erreichbar: {global_fhemip}:{global_bridgeport}</conditioncontainer>
<actioncontainer id="t91" x="-1050.0" y="-3342.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t92" x="3885.0" y="-997.5">WLAN Reassoziieren</actioncontainer>
<conditioncontainer id="t93" 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="t94" x="525.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System next_alarm" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t95" x="525.0" y="-3097.5">Initialisiere Variable Nächster Alarm: next_alarm</actioncontainer>
<actioncontainer id="t96" x="420.0" y="-3587.5">Script: next_alarmday = "{next_alarm,dateformat,c}"</actioncontainer>
<actioncontainer id="t97" x="630.0" y="-3587.5">Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"</actioncontainer>
<conditioncontainer id="t98" x="1015.0" y="157.5">Expression: global_fhemip != null or global_bridgeport != null</conditioncontainer>
<conditioncontainer id="t99" x="3885.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t100" x="3745.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<actioncontainer id="t101" x="4025.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<conditioncontainer id="t102" x="4410.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t103" x="4270.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<conditioncontainer id="t104" x="4795.0" y="-2782.5">Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE"</conditioncontainer>
<conditioncontainer id="t105" x="3885.0" y="-2782.5">Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp"</conditioncontainer>
<conditioncontainer id="t106" x="3885.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: WhatsApp</conditioncontainer>
<actioncontainer id="t107" x="4550.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<conditioncontainer id="t108" x="4410.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: Telegram Messenger</conditioncontainer>
<conditioncontainer id="t109" x="1015.0" y="-1242.5">Host erreichbar: {global_fhemip}:{global_bridgeport}</conditioncontainer>
<conditioncontainer id="t110" x="4410.0" y="-2782.5">Expression: trigger == "Benachrichtigung in Statusbar angezeigt: org.telegram.messenger"</conditioncontainer>
<actioncontainer id="t111" x="-875.0" y="997.5">Initialisiere Variable Systemeinstellung: screenBrightness</actioncontainer>
<conditioncontainer id="t112" x="1015.0" y="682.5">Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t113" x="0.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker"</conditioncontainer>
<actioncontainer id="t114" x="-455.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeNotification</actioncontainer>
<conditioncontainer id="t115" x="5040.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System volume_ring"</conditioncontainer>
<actioncontainer id="t116" x="-665.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeRingSound</actioncontainer>
<actioncontainer id="t117" x="-770.0" y="-3517.5">Script: subtitle = "no player active"; title = "no player active"; description = "no player active"; musicapp = "no player active"; icon = "no player active"</actioncontainer>
<actioncontainer id="t118" x="-770.0" y="-3657.5">Script: if(playback_state == 0) { playback_state = "keiner" } if(playback_state == 1) { playback_state = "gestoppt" } if(playback_state == 2) { playback_state = "pausiert" } if(playback_state == 3) { playback_state = "spielt ab" } if(playback_state == 4) { playback_state = "spult vorwärts" } if(playback_state == 5) { playback_state = "spült rückwärts" } if(playback_state == 6) { playback_state = "buffert" } if(playback_state == 7) { playback_state = "Fehler" } if(playback_state == 8) { playback_state = "verbindet" } if(playback_state == 9) { playback_state = "springt zum vorherigen" } if(playback_state == 10) { playback_state = "springt zum nächsten" } if(playback_state == 11) { playback_state = "springt zu Position in Wiedergabeliste" }</actioncontainer>
<conditioncontainer id="t119" x="-770.0" y="-2782.5">Expression: trigger == "Medien Session verändert" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t120" x="-770.0" y="-2992.5">Script: if(package_name == "com.google.android.music") { musicapp = "Google Musik" } if(package_name == "com.amazon.mp3") { musicapp = "Amazon Musik" } if(package_name == "com.google.android.videos") { musicapp = "Google Video" } if(package_name == "com.spotify.music") { musicapp = "Spotify Musik" } if(package_name == "com.google.android.youtube") { musicapp = "YouTube" } if(package_name == "tunein.player") { musicapp = "TuneIn Player" } if(package_name == "com.rhapsody.alditalk") { musicapp = "Aldi Life Musik" } if(package_name == "org.videolan.vlc") { musicapp = "VLC Player" }</actioncontainer>
<actioncontainer id="t121" x="1295.0" y="997.5">Get Android Version</actioncontainer>
<conditioncontainer id="t122" x="3885.0" y="-1592.5">WLAN verfügbar: {global_apssid}</conditioncontainer>
<actioncontainer id="t123" x="5040.0" y="-3832.5">Script: volumeRingSound = "\"volumeRingSound\":" + " \"" + {volumeRingSound} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t124" x="4795.0" y="-3832.5">Script: intentRadioState = "\"intentRadioState\":" + " \"" + {irstate} + "\"" + "," + "\"intentRadioName\":" + " \"" + {irname} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t125" x="4410.0" y="-3832.5">Script: incommingTelegramMessage = "\"incommingTelegramMessageFrom\":" + " \"" + {notification_text} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t126" x="3885.0" y="-3832.5">Script: incommingWhatsAppMessage = "\"incommingWhatsAppMessageFrom\":" + " \"" + {notification_text} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t127" x="3535.0" y="-3832.5">Script: incomingCaller = "\"incomingCallerName\":" + " \"" + {contact_name} + "\"" + "," + "\"incomingCallerNumber\":" + " \"" + {incoming_number} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t128" x="3220.0" y="-3832.5">Script: keyguardSet = "\"keyguardSet\":" + " \"" + {keyguardSet} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t129" x="2800.0" y="-3832.5">Script: dockingState = "\"dockingState\":" + " \"" + {dock_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t130" x="1855.0" y="-3832.5">Script: screenOrientation = "\"screenOrientation\":" + " \"" + {screen_orientation} + "\"" + "," + "\"screenOrientationMode\":" + " \"" + {screen_orientation_mode} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t131" x="1505.0" y="-3832.5">Script: screenBrightness = "\"screenBrightness\":" + " \"" + {screenBrightness} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t132" x="1155.0" y="-3832.5">Script: daydream = "\"daydream\":" + " \"" + {daydream_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t133" x="525.0" y="-3832.5">Script: nextAlarm = "\"nextAlarmTime\":" + " \"" + {next_alarmtime} + "\"" + "," + "\"nextAlarmDay\":" + " \"" + {next_alarmday} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t134" x="210.0" y="-3832.5">Script: volumevalue = "\"volume\":" + " \"" + {volume} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t135" x="0.0" y="-3832.5">Script: volumeNotification = "\"volumeNotification\":" + " \"" + {volumeNotification} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t136" x="-315.0" y="-3832.5">Script: btdeviceinfo = "\"connectedBTdevices\":" + " \"" + {connected_devices_names} + "\"" + "," + "\"connectedBTdevicesMAC\":" + " \"" + {connected_devices_addresses} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t137" x="-455.0" y="-3832.5">Script: bluetooth = "\"bluetooth\":" + " \"" + {bluetooth_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t138" x="-1120.0" y="-3832.5">Script: airplanemode = "\"airplanemode\":" + " \"" + {airplanemode} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t139" x="-1855.0" y="-4007.5">Script: screen = "\"screen\":" + " \"" + {screen_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t140" x="-2450.0" y="-3867.5">Script: nextAlarmState = "\"nextAlarmState\":" + " \"" + {nextalarmstate} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t141" x="-2975.0" y="-3867.5">Script: doNotDisturb = "\"doNotDisturb\":" + " \"" + {dndValue} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t142" x="-1715.0" y="-2327.5">Script: flow_informations = "\"userFlowState\":" + " \"" + {flowState} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t143" x="-1190.0" y="-2327.5">Script: flow_SetCommands = "\"flow_SetCommands\":" + " \"" + {setCommandFlow_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t144" x="3220.0" y="-2467.5">Script: checkActiveTask = "\"checkActiveTask\":" + " \"" + {runTask} + "\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t145" x="595.0" y="1417.5">Expression: Leon == "Gaultier"</conditioncontainer>
<actioncontainer id="t146" x="665.0" y="1207.5">Flows löschen: MultimediaControl</actioncontainer>
<actioncontainer id="t147" x="1330.0" y="1417.5">Script: androidVersion = "\"androidVersion\":" + " \"" + {androidVersion} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t148" 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="t149" x="-770.0" y="-3832.5">Script: currentMusic = "\"currentMusicTrack\":" + " \"" + {title} + "\"" + "," + "\"currentMusicAlbum\":" + " \"" + {description} + "\"" + "," + "\"currentMusicArtist\":" + " \"" + {subtitle} + "\"" + "," + "\"currentMusicApp\":" + " \"" + {musicapp} + "\"" + "," + "\"currentMusicIcon\":" + " \"" + {icon} + "\"" + "," + "\"currentMusicState\":" + " \"" + {playback_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t150" 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="t151" x="2310.0" y="-3027.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t152" x="2170.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<conditioncontainer id="t153" x="2310.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: Automagic</conditioncontainer>
<actioncontainer id="t154" x="2450.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<actioncontainer id="t155" x="2310.0" y="-3832.5">Script: automagicState = "\"automagicState\":" + " \"" + {content_title} + "\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t156" x="3255.0" y="-1802.5">Expression: package_name == {global_activetask}</conditioncontainer>
<conditioncontainer id="t157" x="-1715.0" y="-1557.5">Expression: trigger == "Periodischer Timer: alle 120s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t158" x="-1190.0" y="-1557.5">Expression: trigger == "Periodischer Timer: alle 120s"</conditioncontainer>
<actioncontainer id="t159" x="4270.0" y="-892.5">Script: deviceState = "\"deviceState\": \"online\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t160" 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="t161" x="4270.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 120s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t162" x="1015.0" y="-4602.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<triggercontainer id="t163" x="1015.0" y="-927.5">
<trigger>Genereller Broadcast: wenn com.android.deskclock.ALARM_DONE</trigger>
<trigger>Genereller Broadcast: wenn org.smblott.intentradio.STATE</trigger>
<trigger>Systemeinstellung verändert: System volume_music_headphone</trigger>
@ -3561,406 +3731,244 @@ Auf Wiedersehen.</actioncontainer>
<trigger>Medien Session verändert</trigger>
<trigger>Periodischer Timer: alle 120s</trigger>
</triggercontainer>
<actioncontainer id="t2" x="1085.0" y="-3482.5">Script: daydream_state = "on"</actioncontainer>
<actioncontainer id="t3" x="1225.0" y="-3482.5">Script: daydream_state = "off"</actioncontainer>
<conditioncontainer id="t4" x="-1050.0" y="-3657.5">Expression: airpcount &lt; 11</conditioncontainer>
<actioncontainer id="t5" x="-1540.0" y="-3517.5">Script: keyguard = "unlocked"</actioncontainer>
<conditioncontainer id="t6" x="1855.0" y="-3027.5">Display Orientierung: Portrait</conditioncontainer>
<actioncontainer id="t7" x="1785.0" y="-3272.5">Script: screen_orientation = "portrait"</actioncontainer>
<actioncontainer id="t8" x="1925.0" y="-3272.5">Script: screen_orientation = "landscape"</actioncontainer>
<actioncontainer id="t9" x="2730.0" y="-3482.5">Script: dock_state = "docked"</actioncontainer>
<actioncontainer id="t10" x="2870.0" y="-3482.5">Script: dock_state = "undocked"</actioncontainer>
<actioncontainer id="t11" x="3290.0" y="-3482.5">Script: keyguardSet = "0"</actioncontainer>
<actioncontainer id="t12" x="1925.0" y="-3657.5">Script: screen_orientation_mode = "manual"</actioncontainer>
<actioncontainer id="t13" x="-1610.0" y="-3097.5">Script: scrcount = 0</actioncontainer>
<actioncontainer id="t14" x="-1680.0" y="-3517.5">Script: keyguard = "locked"</actioncontainer>
<conditioncontainer id="t15" x="-1855.0" y="-3832.5">Expression: scrcount &lt; 5</conditioncontainer>
<actioncontainer id="t16" x="-1855.0" y="-3657.5">Script: scrcount = scrcount + 1</actioncontainer>
<actioncontainer id="t17" x="-1855.0" y="-3517.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t18" x="-1050.0" y="-3517.5">Script: airpcount = airpcount + 1</actioncontainer>
<conditioncontainer id="t19" x="2800.0" y="-3132.5">Dock Status: Docked</conditioncontainer>
<conditioncontainer id="t20" x="1855.0" y="-3482.5">Display automatisch drehen eingeschaltet</conditioncontainer>
<conditioncontainer id="t21" x="1155.0" y="-3132.5">Expression: trigger == "Daydream Status: Gestartet"</conditioncontainer>
<conditioncontainer id="t22" x="-455.0" y="-3097.5">Bluetooth eingeschaltet</conditioncontainer>
<conditioncontainer id="t23" x="1015.0" y="-227.5">Expression: trigger == "App Task Beendet"</conditioncontainer>
<conditioncontainer id="t24" x="-1610.0" y="-3342.5">Keyguard gesperrt</conditioncontainer>
<conditioncontainer id="t25" x="-1855.0" y="-3342.5">Expression: keyguard == "locked"</conditioncontainer>
<conditioncontainer id="t26" x="3150.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<actioncontainer id="t27" x="3290.0" y="-3132.5">Script: keyguardSet = "not supported from your device"</actioncontainer>
<conditioncontainer id="t28" x="-1610.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<conditioncontainer id="t29" x="-2100.0" y="-3657.5">Display eingeschaltet</conditioncontainer>
<conditioncontainer id="t30" x="-2100.0" y="-3097.5">Expression: getAndroidSDKVersion() &gt;= "16"</conditioncontainer>
<conditioncontainer id="t31" x="-2730.0" y="-3342.5">Unterbrechnungen-Modus: Nur Wecker (Android 6+)</conditioncontainer>
<conditioncontainer id="t32" x="-2870.0" y="-3342.5">Unterbrechnungen-Modus: Keine / Nicht unterbrechen</conditioncontainer>
<conditioncontainer id="t33" x="-3010.0" y="-3342.5">Unterbrechnungen-Modus: Wichtig / Nur wichtige Unterbrechnungen zulassen</conditioncontainer>
<conditioncontainer id="t34" x="-3150.0" y="-3342.5">Unterbrechnungen-Modus: Alle / Immer unterbrechen</conditioncontainer>
<actioncontainer id="t35" x="-3150.0" y="-3552.5">Script: dndValue = "always"</actioncontainer>
<actioncontainer id="t36" x="-3010.0" y="-3552.5">Script: dndValue = "onlyImportant"</actioncontainer>
<actioncontainer id="t37" x="-2870.0" y="-3552.5">Script: dndValue = "never"</actioncontainer>
<actioncontainer id="t38" x="-2730.0" y="-3552.5">Script: dndValue = "alarmClockOnly"</actioncontainer>
<actioncontainer id="t39" x="-2170.0" y="-3832.5">Script: screen_state = "on"</actioncontainer>
<actioncontainer id="t40" x="-2030.0" y="-3832.5">Script: screen_state = "off"</actioncontainer>
<actioncontainer id="t41" x="-1680.0" y="-3832.5">Script: screen_state = "on {keyguard}"</actioncontainer>
<actioncontainer id="t42" x="-1540.0" y="-3832.5">Script: screen_state = "off {keyguard}"</actioncontainer>
<actioncontainer id="t43" x="-1225.0" y="-3657.5">Script: airplanemode = "off"</actioncontainer>
<actioncontainer id="t44" x="-455.0" y="-3342.5">Script: bluetooth_state = "on"</actioncontainer>
<actioncontainer id="t45" x="1260.0" y="1207.5">Script: androidVersion = "not supported funktion"</actioncontainer>
<conditioncontainer id="t46" x="3395.0" y="-2047.5">App Task läuft: {global_activetask} (neuster)</conditioncontainer>
<actioncontainer id="t47" x="3465.0" y="-2257.5">Script: runTask = "1"</actioncontainer>
<actioncontainer id="t48" x="3325.0" y="-2257.5">Script: runTask = "0"</actioncontainer>
<conditioncontainer id="t49" x="3115.0" y="-2047.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t50" x="3115.0" y="-2257.5">Script: runTask = "not supported android version"</actioncontainer>
<actioncontainer id="t51" x="2905.0" y="-2292.5">Script: runTask = "null"</actioncontainer>
<conditioncontainer id="t52" x="4270.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 120s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t53" x="3255.0" y="-1592.5">Expression: trigger == "Periodischer Timer: alle 120s"</conditioncontainer>
<conditioncontainer id="t54" x="3185.0" y="-1872.5">Expression: global_activetask != null</conditioncontainer>
<conditioncontainer id="t55" 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="t56" x="1155.0" y="-2782.5">Expression: trigger == "Daydream Status: Gestartet" or trigger == "Daydream Status: Gestoppt"</conditioncontainer>
<conditioncontainer id="t57" 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="t58" 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="t59" x="840.0" y="-2782.5">Expression: trigger == "Akku Ladestand: grösser als 0%"</conditioncontainer>
<conditioncontainer id="t60" x="-245.0" y="997.5">Stromversorgung: Angeschlossen</conditioncontainer>
<actioncontainer id="t61" x="1785.0" y="-3657.5">Script: screen_orientation_mode = "auto"</actioncontainer>
<actioncontainer id="t62" x="-455.0" y="-3552.5">Script: bluetooth_state = "off"</actioncontainer>
<actioncontainer id="t63" 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>
<conditioncontainer id="t64" x="-315.0" y="-3097.5">Bluetooth Gerät verbunden: Beliebiges Geräte</conditioncontainer>
<actioncontainer id="t65" x="-315.0" y="-3552.5">Script: connected_devices_names = "none"; connected_devices_addresses = "none"</actioncontainer>
<conditioncontainer id="t66" 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="t67" x="3220.0" y="-3307.5">Keyguard mit Sicherheit</conditioncontainer>
<actioncontainer id="t68" x="3150.0" y="-3482.5">Script: keyguardSet = "1"</actioncontainer>
<conditioncontainer id="t69" x="3220.0" y="-2782.5">Expression: udef_trigger == "setLockPin" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t70" x="3535.0" y="-2782.5">Expression: trigger == "Eingehender Anruf. Status: Klingelt, Nummern: Alle"</conditioncontainer>
<conditioncontainer id="t71" x="-1120.0" y="-2782.5">Expression: trigger == "Flugmodus: Aus" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t72" x="1505.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System screen_brightness"</conditioncontainer>
<conditioncontainer id="t73" x="105.0" y="1102.5">Bluetooth Gerät verbunden: Beliebiges Geräte (Advanced Audio Distribution)</conditioncontainer>
<actioncontainer id="t74" x="35.0" y="1207.5">Script: volume = {volumeBT}</actioncontainer>
<actioncontainer id="t75" x="-770.0" y="-3342.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<conditioncontainer id="t76" x="-770.0" y="-3167.5">Musik Aktiv</conditioncontainer>
<actioncontainer id="t77" x="735.0" y="1417.5">Benachrichtigung auf Bildschirm: [AMAD2] Nicht mehr benötigte AMAD Flows wurden entfernt! (lange)</actioncontainer>
<conditioncontainer id="t78" 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 == "Systemeinstellung verändert: System volume_music_headset"</conditioncontainer>
<actioncontainer id="t79" x="35.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikBluetooth.2</actioncontainer>
<actioncontainer id="t80" x="175.0" y="1207.5">Script: volume = {volumeSP}</actioncontainer>
<actioncontainer id="t81" x="175.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeMusikSpeaker.2</actioncontainer>
<conditioncontainer id="t82" 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="t83" x="-2940.0" y="-3097.5">Expression: getAndroidSDKVersion() &gt;= "21"</conditioncontainer>
<conditioncontainer id="t84" x="-1190.0" y="-1802.5">Flow Aktiv: SetCommands</conditioncontainer>
<actioncontainer id="t85" x="-1085.0" y="-1977.5">Script: setCommandFlow_state = "aktiv"</actioncontainer>
<actioncontainer id="t86" x="-1295.0" y="-1977.5">Script: setCommandFlow_state = "inaktiv"</actioncontainer>
<actioncontainer id="t87" x="-1190.0" y="-2152.5">Setze Flow Status: Aktivieren SetCommands</actioncontainer>
<actioncontainer id="t88" x="-1645.0" y="-2152.5">Script: flowState = "active"</actioncontainer>
<conditioncontainer id="t89" x="-1715.0" y="-1802.5">Expression: global_userflowstate != "none"</conditioncontainer>
<conditioncontainer id="t90" x="-1715.0" y="-1977.5">Flow Aktiv: {global_userflowstate}</conditioncontainer>
<actioncontainer id="t91" x="-1785.0" y="-2152.5">Script: flowState = "inactive"</actioncontainer>
<actioncontainer id="t92" x="-1120.0" y="-3097.5">Script: airpcount = 0</actioncontainer>
<conditioncontainer id="t93" x="-1225.0" y="-3342.5">Host erreichbar: {global_fhemip}:{global_bridgeport}</conditioncontainer>
<actioncontainer id="t94" x="-1050.0" y="-3342.5">Pause: 2s (Gerät wach halten)</actioncontainer>
<actioncontainer id="t95" x="3885.0" y="-997.5">WLAN Reassoziieren</actioncontainer>
<conditioncontainer id="t96" 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="t97" x="525.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System next_alarm" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t98" x="525.0" y="-3097.5">Initialisiere Variable Nächster Alarm: next_alarm</actioncontainer>
<actioncontainer id="t99" x="420.0" y="-3587.5">Script: next_alarmday = "{next_alarm,dateformat,c}"</actioncontainer>
<actioncontainer id="t100" x="630.0" y="-3587.5">Script: next_alarmtime = "{next_alarm,dateformat,HH:mm}"</actioncontainer>
<conditioncontainer id="t101" x="1015.0" y="157.5">Expression: global_fhemip != null or global_bridgeport != null</conditioncontainer>
<conditioncontainer id="t102" x="3885.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t103" x="3745.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<actioncontainer id="t104" x="4025.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<conditioncontainer id="t105" x="4410.0" y="-3132.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t106" x="4270.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<conditioncontainer id="t107" x="4795.0" y="-2782.5">Expression: trigger == "Genereller Broadcast: wenn org.smblott.intentradio.STATE"</conditioncontainer>
<conditioncontainer id="t108" x="3885.0" y="-2782.5">Expression: trigger == "Benachrichtigung in Statusbar angezeigt: com.whatsapp"</conditioncontainer>
<conditioncontainer id="t109" x="3885.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: WhatsApp</conditioncontainer>
<actioncontainer id="t110" x="4550.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<conditioncontainer id="t111" x="4410.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: Telegram Messenger</conditioncontainer>
<conditioncontainer id="t112" x="1015.0" y="-1242.5">Host erreichbar: {global_fhemip}:{global_bridgeport}</conditioncontainer>
<conditioncontainer id="t113" x="4410.0" y="-2782.5">Expression: trigger == "Benachrichtigung in Statusbar angezeigt: org.telegram.messenger"</conditioncontainer>
<actioncontainer id="t114" x="-875.0" y="997.5">Initialisiere Variable Systemeinstellung: screenBrightness</actioncontainer>
<conditioncontainer id="t115" x="1015.0" y="682.5">Expression: trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t116" x="0.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System volume_ring_speaker"</conditioncontainer>
<actioncontainer id="t117" x="-455.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeNotification</actioncontainer>
<conditioncontainer id="t118" x="5040.0" y="-2782.5">Expression: trigger == "Systemeinstellung verändert: System volume_ring"</conditioncontainer>
<actioncontainer id="t119" x="-665.0" y="997.5">Initialisiere Variable Systemeinstellung: volumeRingSound</actioncontainer>
<actioncontainer id="t120" x="-770.0" y="-3517.5">Script: subtitle = "no player active"; title = "no player active"; description = "no player active"; musicapp = "no player active"; icon = "no player active"</actioncontainer>
<actioncontainer id="t121" x="-770.0" y="-3657.5">Script: if(playback_state == 0) { playback_state = "keiner" } if(playback_state == 1) { playback_state = "gestoppt" } if(playback_state == 2) { playback_state = "pausiert" } if(playback_state == 3) { playback_state = "spielt ab" } if(playback_state == 4) { playback_state = "spult vorwärts" } if(playback_state == 5) { playback_state = "spült rückwärts" } if(playback_state == 6) { playback_state = "buffert" } if(playback_state == 7) { playback_state = "Fehler" } if(playback_state == 8) { playback_state = "verbindet" } if(playback_state == 9) { playback_state = "springt zum vorherigen" } if(playback_state == 10) { playback_state = "springt zum nächsten" } if(playback_state == 11) { playback_state = "springt zu Position in Wiedergabeliste" }</actioncontainer>
<conditioncontainer id="t122" x="-770.0" y="-2782.5">Expression: trigger == "Medien Session verändert" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<actioncontainer id="t123" x="-770.0" y="-2992.5">Script: if(package_name == "com.google.android.music") { musicapp = "Google Musik" } if(package_name == "com.amazon.mp3") { musicapp = "Amazon Musik" } if(package_name == "com.google.android.videos") { musicapp = "Google Video" } if(package_name == "com.spotify.music") { musicapp = "Spotify Musik" } if(package_name == "com.google.android.youtube") { musicapp = "YouTube" } if(package_name == "tunein.player") { musicapp = "TuneIn Player" } if(package_name == "com.rhapsody.alditalk") { musicapp = "Aldi Life Musik" } if(package_name == "org.videolan.vlc") { musicapp = "VLC Player" }</actioncontainer>
<actioncontainer id="t124" x="1295.0" y="997.5">Get Android Version</actioncontainer>
<conditioncontainer id="t125" x="3885.0" y="-1592.5">WLAN verfügbar: {global_apssid}</conditioncontainer>
<actioncontainer id="t126" x="5040.0" y="-3832.5">Script: volumeRingSound = "\"volumeRingSound\":" + " \"" + {volumeRingSound} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t127" x="4795.0" y="-3832.5">Script: intentRadioState = "\"intentRadioState\":" + " \"" + {irstate} + "\"" + "," + "\"intentRadioName\":" + " \"" + {irname} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t128" x="4410.0" y="-3832.5">Script: incommingTelegramMessage = "\"incommingTelegramMessageFrom\":" + " \"" + {notification_text} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t129" x="3885.0" y="-3832.5">Script: incommingWhatsAppMessage = "\"incommingWhatsAppMessageFrom\":" + " \"" + {notification_text} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t130" x="3535.0" y="-3832.5">Script: incomingCaller = "\"incomingCallerName\":" + " \"" + {contact_name} + "\"" + "," + "\"incomingCallerNumber\":" + " \"" + {incoming_number} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t131" x="3220.0" y="-3832.5">Script: keyguardSet = "\"keyguardSet\":" + " \"" + {keyguardSet} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t132" x="2800.0" y="-3832.5">Script: dockingState = "\"dockingState\":" + " \"" + {dock_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t133" x="1855.0" y="-3832.5">Script: screenOrientation = "\"screenOrientation\":" + " \"" + {screen_orientation} + "\"" + "," + "\"screenOrientationMode\":" + " \"" + {screen_orientation_mode} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t134" x="1505.0" y="-3832.5">Script: screenBrightness = "\"screenBrightness\":" + " \"" + {screenBrightness} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t135" x="1155.0" y="-3832.5">Script: daydream = "\"daydream\":" + " \"" + {daydream_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t136" x="525.0" y="-3832.5">Script: nextAlarm = "\"nextAlarmTime\":" + " \"" + {next_alarmtime} + "\"" + "," + "\"nextAlarmDay\":" + " \"" + {next_alarmday} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t137" x="210.0" y="-3832.5">Script: volumevalue = "\"volume\":" + " \"" + {volume} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t138" x="0.0" y="-3832.5">Script: volumeNotification = "\"volumeNotification\":" + " \"" + {volumeNotification} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t139" x="-315.0" y="-3832.5">Script: btdeviceinfo = "\"connectedBTdevices\":" + " \"" + {connected_devices_names} + "\"" + "," + "\"connectedBTdevicesMAC\":" + " \"" + {connected_devices_addresses} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t140" x="-455.0" y="-3832.5">Script: bluetooth = "\"bluetooth\":" + " \"" + {bluetooth_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t141" x="-1120.0" y="-3832.5">Script: airplanemode = "\"airplanemode\":" + " \"" + {airplanemode} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t142" x="-1855.0" y="-4007.5">Script: screen = "\"screen\":" + " \"" + {screen_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t143" x="-2450.0" y="-3867.5">Script: nextAlarmState = "\"nextAlarmState\":" + " \"" + {nextalarmstate} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t144" x="-2975.0" y="-3867.5">Script: doNotDisturb = "\"doNotDisturb\":" + " \"" + {dndValue} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t145" x="-1715.0" y="-2327.5">Script: flow_informations = "\"userFlowState\":" + " \"" + {flowState} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t146" x="-1190.0" y="-2327.5">Script: flow_SetCommands = "\"flow_SetCommands\":" + " \"" + {setCommandFlow_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t147" x="3220.0" y="-2467.5">Script: checkActiveTask = "\"checkActiveTask\":" + " \"" + {runTask} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t148" x="4270.0" y="-892.5">Script: deviceState = "\"deviceState\": \"online\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t149" x="595.0" y="1417.5">Expression: Leon == "Gaultier"</conditioncontainer>
<actioncontainer id="t150" x="665.0" y="1207.5">Flows löschen: MultimediaControl</actioncontainer>
<actioncontainer id="t151" x="1330.0" y="1417.5">Script: androidVersion = "\"androidVersion\":" + " \"" + {androidVersion} + "\""; fhemcmd = "setreading";</actioncontainer>
<actioncontainer id="t152" 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="t153" x="1015.0" y="1417.5">Prüfe und setze globale Variable</actioncontainer>
<actioncontainer id="t154" x="1015.0" y="-4602.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t155" x="-770.0" y="-3832.5">Script: currentMusic = "\"currentMusicTrack\":" + " \"" + {title} + "\"" + "," + "\"currentMusicAlbum\":" + " \"" + {description} + "\"" + "," + "\"currentMusicArtist\":" + " \"" + {subtitle} + "\"" + "," + "\"currentMusicApp\":" + " \"" + {musicapp} + "\"" + "," + "\"currentMusicIcon\":" + " \"" + {icon} + "\"" + "," + "\"currentMusicState\":" + " \"" + {playback_state} + "\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t156" 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="t157" x="2310.0" y="-3027.5">Expression: getAndroidSDKVersion() &gt;= "19"</conditioncontainer>
<actioncontainer id="t158" x="2170.0" y="-3482.5">Script: notification_text = "Aktiviere Automagic unter Einstellungen -&gt; Benachrichtigungen -&gt; Benachrichtigungszugriff"</actioncontainer>
<conditioncontainer id="t159" x="2310.0" y="-3482.5">Benachrichtigung in Statusbar angezeigt: Automagic</conditioncontainer>
<actioncontainer id="t160" x="2450.0" y="-3482.5">Script: notification_text = "not supported from your device"</actioncontainer>
<actioncontainer id="t161" x="2310.0" y="-3832.5">Script: automagicState = "\"automagicState\":" + " \"" + {content_title} + "\""; fhemcmd = "setreading";</actioncontainer>
<conditioncontainer id="t162" x="3255.0" y="-1802.5">Expression: package_name == {global_activetask}</conditioncontainer>
<conditioncontainer id="t163" x="-1715.0" y="-1557.5">Expression: trigger == "Periodischer Timer: alle 120s" or trigger == "HTTP Request: /fhem-amad/deviceInfo/"</conditioncontainer>
<conditioncontainer id="t164" x="-1190.0" y="-1557.5">Expression: trigger == "Periodischer Timer: alle 120s"</conditioncontainer>
<connection from="t1" to="t23" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t2" to="t135" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t135" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t18" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t28" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t7" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t8" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t7" to="t20" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t20" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t132" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t10" to="t132" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t11" to="t131" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t12" to="t133" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t13" to="t24" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t14" to="t28" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t15" to="t16" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t16" to="t17" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t17" to="t25" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t18" to="t94" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t19" to="t9" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t19" to="t10" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t20" to="t61" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t20" to="t12" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t21" to="t2" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t21" to="t3" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t44" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t62" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t23" to="t101" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t23" to="t71" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t23" to="t162" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t24" to="t5" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t24" to="t14" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t25" to="t24" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t26" to="t67" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t26" to="t27" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t27" to="t131" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t41" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t42" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t15" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t29" to="t39" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t29" to="t40" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t30" to="t13" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t30" to="t29" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t31" to="t38" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t32" to="t37" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t33" to="t36" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t34" to="t35" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t35" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t36" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t37" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t38" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t39" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t40" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t41" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t42" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t43" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t44" to="t140" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t45" to="t151" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t46" to="t47" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t46" to="t48" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t47" to="t147" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t48" to="t147" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t49" to="t46" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t49" to="t50" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t49" to="t50" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t50" to="t147" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t51" to="t147" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t52" to="t148" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t53" to="t54" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t54" to="t51" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t54" to="t49" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t55" to="t30" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t56" to="t21" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t57" to="t6" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t58" to="t19" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t59" to="t152" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t60" to="t152" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t60" to="t152" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t61" to="t133" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t62" to="t140" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t63" to="t143" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t64" to="t139" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t64" to="t65" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t65" to="t139" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t66" to="t22" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t66" to="t64" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t67" to="t68" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t67" to="t11" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t68" to="t131" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t69" to="t26" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t70" to="t130" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t71" to="t92" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t72" to="t134" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t73" to="t74" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t73" to="t80" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t74" to="t137" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t75" to="t120" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t76" to="t75" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t76" to="t121" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t78" to="t137" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t73" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t80" to="t137" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t81" to="t73" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t83" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t34" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t33" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t32" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t31" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t84" to="t85" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t84" to="t86" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t85" to="t146" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t86" to="t87" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t86" to="t146" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t88" to="t145" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t89" to="t90" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t90" to="t91" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t90" to="t88" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t91" to="t145" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t92" to="t93" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t93" to="t43" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t93" to="t4" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t94" to="t93" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t96" to="t63" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t97" to="t98" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t99" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t100" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t99" to="t136" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t100" to="t136" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t101" to="t115" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t101" to="t112" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t101" to="t115" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t102" to="t104" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t102" to="t109" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t103" to="t129" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t104" to="t129" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t105" to="t110" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t105" to="t111" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t106" to="t128" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t107" to="t127" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t108" to="t102" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t103" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t129" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t110" to="t128" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t111" to="t106" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t111" to="t128" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t97" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<actioncontainer id="t164" x="1015.0" y="1417.5">Prüfe und setze globale Variable</actioncontainer>
<connection from="t1" to="t132" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t2" to="t132" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t17" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t27" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t6" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t7" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t19" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t7" to="t19" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t129" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t129" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t10" to="t128" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t11" to="t130" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t12" to="t23" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t13" to="t27" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t14" to="t15" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t15" to="t16" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t16" to="t24" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t17" to="t91" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t18" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t18" to="t9" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t19" to="t58" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t19" to="t11" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t20" to="t1" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t20" to="t2" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t21" to="t43" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t21" to="t59" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t98" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t68" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t22" to="t156" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t23" to="t4" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t23" to="t13" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t24" to="t23" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t25" to="t64" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t25" to="t26" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t26" to="t128" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t27" to="t40" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t27" to="t41" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t27" to="t14" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t38" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t28" to="t39" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t29" to="t12" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t29" to="t28" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t30" to="t37" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t31" to="t36" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t32" to="t35" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t33" to="t34" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t34" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t35" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t36" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t37" to="t141" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t38" to="t139" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t39" to="t139" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t40" to="t139" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t41" to="t139" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t42" to="t138" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t43" to="t137" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t44" to="t147" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t45" to="t46" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t45" to="t47" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t46" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t47" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t48" to="t45" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t48" to="t49" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t48" to="t49" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t49" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t50" to="t144" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t51" to="t52" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t52" to="t50" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t52" to="t48" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t53" to="t29" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t54" to="t20" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t55" to="t5" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t56" to="t148" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t57" to="t148" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t57" to="t148" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t58" to="t130" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t59" to="t137" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t60" to="t140" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t61" to="t136" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t61" to="t62" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t62" to="t136" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t63" to="t21" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t63" to="t61" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t64" to="t65" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t64" to="t10" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t65" to="t128" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t66" to="t25" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t67" to="t127" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t68" to="t89" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t69" to="t131" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t70" to="t71" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t70" to="t77" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t71" to="t134" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t72" to="t117" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t73" to="t72" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t73" to="t118" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t75" to="t134" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t76" to="t70" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t77" to="t134" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t78" to="t70" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t79" to="t80" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t80" to="t33" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t80" to="t32" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t80" to="t31" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t80" to="t30" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t81" to="t82" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t81" to="t83" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t82" to="t143" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t84" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t83" to="t143" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t85" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t86" to="t87" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t87" to="t88" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t87" to="t85" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t88" to="t142" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t89" to="t90" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t90" to="t42" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t90" to="t3" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t91" to="t90" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t93" to="t60" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t94" to="t95" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t95" to="t96" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t95" to="t97" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t96" to="t133" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t97" to="t133" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t112" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t109" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t98" to="t112" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t99" to="t101" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t99" to="t106" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t100" to="t126" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t101" to="t126" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t102" to="t107" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t102" to="t108" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t103" to="t125" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t104" to="t124" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t105" to="t99" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t106" to="t100" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t106" to="t126" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t107" to="t125" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t108" to="t103" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t108" to="t125" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t94" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t75" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t69" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t113" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t53" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t63" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t150" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t56" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t55" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t54" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t160" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t119" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t66" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t67" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t105" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t93" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t104" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t161" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t79" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t122" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t51" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t158" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t157" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t157" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t115" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t109" to="t110" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t110" to="t102" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t111" to="t131" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t78" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t72" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t116" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t55" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t66" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t156" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t59" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t76" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t114" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t57" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t56" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t58" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t122" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t69" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t70" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t108" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t96" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t107" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t52" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t82" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t125" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t53" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t111" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t121" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t146" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t164" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t163" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t163" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t118" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t113" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t113" to="t105" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t114" to="t134" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t81" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t79" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t117" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t60" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t114" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t124" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t150" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t153" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t119" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t116" to="t138" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t117" to="t138" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t118" to="t126" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t119" to="t126" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t120" to="t121" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t121" to="t155" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t122" to="t123" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t123" to="t76" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t124" to="t45" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t124" to="t151" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t95" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t126" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t127" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t128" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t129" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t130" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t131" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t132" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t133" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t134" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t135" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t136" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t137" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t138" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t139" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t140" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t141" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t142" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t143" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t144" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t145" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t146" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t147" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t148" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t150" to="t77" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t150" to="t149" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t151" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t152" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t155" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t156" to="t157" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t157" to="t159" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t157" to="t160" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t157" to="t160" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t158" to="t161" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t159" to="t158" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t159" to="t161" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t160" to="t161" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t161" to="t154" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t162" to="t54" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t163" to="t89" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t164" to="t84" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t112" to="t116" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t113" to="t135" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t114" to="t135" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t115" to="t123" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t116" to="t123" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t117" to="t118" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t118" to="t149" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t119" to="t120" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t120" to="t73" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t121" to="t44" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t121" to="t147" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t122" to="t92" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t123" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t124" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t125" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t126" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t127" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t128" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t129" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t130" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t131" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t132" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t133" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t134" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t135" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t136" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t137" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t138" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t139" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t140" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t141" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t142" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t143" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t144" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t146" to="t74" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t146" to="t145" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t147" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t148" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t149" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t150" to="t151" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t151" to="t153" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t151" to="t154" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t151" to="t154" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t152" to="t155" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t153" to="t152" type="EXCEPTION" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t153" to="t155" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t154" to="t155" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t155" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t156" to="t52" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t157" to="t86" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t158" to="t81" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t159" to="t162" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t160" to="t18" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t161" to="t159" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t163" to="t22" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
</flow>
<flow type="flow">
<name>Send Data to AMADCommBridge</name>
<group>AMADNG Info/Control Flowset v3.9.62</group>
<group>AMADNG Info/Control Flowset v3.9.65</group>
<enabled>true</enabled>
<executionPolicy>PARALLEL</executionPolicy>
<emergencyStopCount>900</emergencyStopCount>
@ -3978,13 +3986,13 @@ Auf Wiedersehen.</actioncontainer>
<conditioncontainer id="t12" x="-490.0" y="192.5">Expression: fhemcmd == "setreading"</conditioncontainer>
<actioncontainer id="t13" x="-735.0" y="682.5">HTTP Request: send FIRSTRUN data to AMADCommBridge JSON</actioncontainer>
<actioncontainer id="t14" x="-245.0" y="682.5">HTTP Request: send SET data to AMADCommBridge JSON</actioncontainer>
<actioncontainer id="t15" x="0.0" y="682.5">HTTP Request: send READINGSVAL data to AMADCommBridge JSON</actioncontainer>
<actioncontainer id="t16" x="-735.0" y="402.5">Script: Set FHEMDATA JSON First Run Assistant</actioncontainer>
<actioncontainer id="t15" x="-735.0" y="402.5">Script: Set FHEMDATA JSON First Run Assistant</actioncontainer>
<actioncontainer id="t16" x="0.0" y="682.5">HTTP Request: send READINGSVAL data to AMADCommBridge JSON</actioncontainer>
<actioncontainer id="t17" x="-490.0" y="402.5">Script: Set FHEMDATA JSON</actioncontainer>
<connection from="t1" to="t6" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t2" to="t7" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t16" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t15" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t9" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t12" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t2" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
@ -3993,14 +4001,14 @@ Auf Wiedersehen.</actioncontainer>
<connection from="t6" to="t4" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t7" to="t14" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t11" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t15" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t16" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t12" to="t17" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t16" to="t13" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t15" to="t13" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t17" to="t10" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
</flow>
<flow type="flow">
<name>SetCommands</name>
<group>AMADNG Info/Control Flowset v3.9.62</group>
<group>AMADNG Info/Control Flowset v3.9.65</group>
<enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy>
<emergencyStopCount>900</emergencyStopCount>
@ -4347,7 +4355,7 @@ Auf Wiedersehen.</actioncontainer>
</flow>
<flow type="flow">
<name>Update AMAD Flowset</name>
<group>AMADNG Info/Control Flowset v3.9.62</group>
<group>AMADNG Info/Control Flowset v3.9.65</group>
<enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy>
<triggercontainer id="t1" x="420.0" y="-682.5">
@ -4403,30 +4411,38 @@ Auf Wiedersehen.</actioncontainer>
</flow>
<flow type="flow">
<name>VoiceControl</name>
<group>AMADNG Info/Control Flowset v3.9.62</group>
<group>AMADNG Info/Control Flowset v3.9.65</group>
<enabled>true</enabled>
<executionPolicy>QUEUE</executionPolicy>
<triggercontainer id="t1" x="70.0" y="-52.5" />
<actioncontainer id="t2" x="0.0" y="1347.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t3" x="0.0" y="1592.5">Benachrichtigung auf Bildschirm: {value} (lange)</actioncontainer>
<actioncontainer id="t4" x="280.0" y="962.5">Spracheingabe wurde nicht erkannt</actioncontainer>
<actioncontainer id="t5" x="-315.0" y="1347.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t6" x="-315.0" y="1592.5">Setze voice Variablen</actioncontainer>
<actioncontainer id="t7" x="0.0" y="1137.5">Script: voiceinputdata = value; fhemcmd = "voiceinputvalue";</actioncontainer>
<actioncontainer id="t8" x="-315.0" y="1137.5">Script: voiceinputdata = {left(value, (indexOf(value, " und ")))}; fhemcmd = "voiceinputvalue";</actioncontainer>
<conditioncontainer id="t9" x="-140.0" y="962.5">Expression: contains(value, " und ")</conditioncontainer>
<actioncontainer id="t10" x="70.0" y="437.5">AMAD Voice Control</actioncontainer>
<conditioncontainer id="t11" x="70.0" y="682.5">Expression: value != ""</conditioncontainer>
<connection from="t1" to="t10" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<actioncontainer id="t2" x="70.0" y="437.5">AMAD Voice Control</actioncontainer>
<conditioncontainer id="t3" x="70.0" y="682.5">Expression: value != ""</conditioncontainer>
<conditioncontainer id="t4" x="-1050.0" y="1277.4998">Expression: contains(value, " und ")</conditioncontainer>
<actioncontainer id="t5" x="-1225.0" y="1417.5">Script: voiceinputdata = {left(value, (indexOf(value, " und ")))}; fhemcmd = "voiceinputvalue";</actioncontainer>
<actioncontainer id="t6" x="-1225.0" y="1627.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t7" x="-1225.0" y="1872.5">Setze voice Variablen</actioncontainer>
<actioncontainer id="t8" x="384.99988" y="962.4999">Spracheingabe wurde nicht erkannt</actioncontainer>
<actioncontainer id="t9" x="-910.0" y="1417.5">Script: voiceinputdata = value; fhemcmd = "voiceinputvalue";</actioncontainer>
<actioncontainer id="t10" x="-910.0" y="1627.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t11" x="-910.0" y="1872.5">Benachrichtigung auf Bildschirm: {value} (lange)</actioncontainer>
<conditioncontainer id="t12" x="-665.0" y="962.4999">Expression: global_fhemctlmode != "thirdPartControl"</conditioncontainer>
<actioncontainer id="t13" x="-315.0" y="1277.5">Script: voiceinputdata = value; fhemcmd = "voiceinputvalue";</actioncontainer>
<actioncontainer id="t14" x="-315.0" y="1627.5">Flows ausführen: Send Data to AMADCommBridge</actioncontainer>
<actioncontainer id="t15" x="-315.00003" y="1872.5">Benachrichtigung auf Bildschirm: {value} (lange)</actioncontainer>
<connection from="t1" to="t2" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t2" to="t3" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t8" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t3" to="t12" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t5" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t4" to="t9" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t5" to="t6" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t9" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t7" to="t2" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t8" to="t5" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t8" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t7" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t6" to="t7" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t7" to="t4" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t9" to="t10" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t10" to="t11" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t11" to="t9" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t11" to="t4" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t12" to="t4" type="TRUE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t12" to="t13" type="FALSE" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t13" to="t14" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
<connection from="t14" to="t15" type="NORMAL" sourcePosition="SOUTH" targetPosition="NORTH" />
</flow>
</data>