NEWS
Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten
-
@strobelix Erstmal DANKE für Dein Script. Die habe ich nun genutzt um die Daten meines MINI Cabrio's einzulesen. Hat im Grund "fast" sofort funktioniert. Allerdings sind beim MINI auch die csbData Einträge verschoben. Die habe ich angepasst und nun kommen auch die Status Daten ohne Fehlermeldung.
Hier also nochmal das Script für ein MINI Cabrio:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="XN3*GfIfi@/dz;VqG=f1">Benutzername</variable> <variable id="Ryywje#7IoGUwl?[YLYR">Befehl</variable> <variable id="g!GS3XBhRJ-^i*r~I#(M">Passwort</variable> <variable id="`M`m=udEPjZ8%NR9[7#t">Sicherheitsantwort</variable> <variable type="timeout" id="T1">T1</variable> <variable type="timeout" id="T4">T4</variable> <variable type="timeout" id="T3">T3</variable> <variable type="timeout" id="T5">T5</variable> <variable type="timeout" id="T2">T2</variable> </variables> <block type="variables_set" id="25.7NsDbuJp,f,+kg9f}" x="-538" y="-1438"> <field name="VAR" id="XN3*GfIfi@/dz;VqG=f1">Benutzername</field> <value name="VALUE"> <block type="text" id="|ogs8P81w~dvfv9YO/LK"> <field name="TEXT">EMAIL ACCOUNT</field> </block> </value> <next> <block type="variables_set" id="A7ExvCH7vJ[i97`qN$cV"> <field name="VAR" id="g!GS3XBhRJ-^i*r~I#(M">Passwort</field> <value name="VALUE"> <block type="text" id="Xt:`irNXz.ndzQ0dO1uf"> <field name="TEXT">PASSWORT</field> </block> </value> <next> <block type="variables_set" id="@j5.B|TqXRajXjYa]f=f"> <field name="VAR" id="`M`m=udEPjZ8%NR9[7#t">Sicherheitsantwort</field> <value name="VALUE"> <block type="text" id="m#{+]bm?9QK;w(!7).2d"> <field name="TEXT">PINCODE</field> </block> </value> <next> <block type="procedures_callcustomnoreturn" id=":hC7Hfgpy82Hn#oJY{Zz"> <mutation name="Datenpunkte Fahrzeug erstellen"></mutation> <next> <block type="procedures_callcustomnoreturn" id="q%,[_SU{6#d,O%*sD`Qz"> <mutation name="Datenpunkte Status erstellen"></mutation> <next> <block type="procedures_callcustomnoreturn" id="4l2r#`S+v9aFUamx-Esz"> <mutation name="Datenpunkte Befehle erstellen"></mutation> <next> <block type="timeouts_settimeout" id=";[W?azy]IW_aXZy;1cLF"> <field name="NAME">T1</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="sCCxQw~6kxo3.d^m)Pp-"> <mutation name="Token abfragen"></mutation> </block> </statement> <next> <block type="timeouts_settimeout" id="g=Sn!j;?yu^1hi77k@8s"> <field name="NAME">T3</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="m(HG.hOx+O{]c/.2/L`k"> <mutation name="Fahrzeugdaten abfragen"></mutation> </block> </statement> <next> <block type="timeouts_settimeout" id="JzLVGc@D}Hq;ZSwgo6$g"> <field name="NAME">T2</field> <field name="DELAY">6000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="bItGd$a[?ESTSSIjY-qP"> <mutation name="Status Abfragen"></mutation> </block> </statement> <next> <block type="on" id="Lb,dTP]LKtW1;deq|Qoj"> <field name="OID">0_userdata.0.BMW.Neuer Token</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="u9vRH6uvBpbtNi5Eb$re"> <value name="IF0"> <block type="on_source" id="[ZV_ZO^d$dk~r;SHUx@7"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="iMM#y=#E0[lqAuF{O#,A"> <mutation name="Token abfragen"></mutation> </block> </statement> </block> </statement> <next> <block type="on" id="fDMDIB0vfm{,Zq]F}@;Y"> <field name="OID">0_userdata.0.BMW.Status abfragen</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="ablR/e?U@-k_13gD,t+g"> <value name="IF0"> <block type="on_source" id="i:D(o^.%d)):M:,_W;,7"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="rx2v:]C(yCH;tQ/7s}#I"> <mutation name="Status Abfragen"></mutation> </block> </statement> </block> </statement> <next> <block type="schedule" id="6.1-pU|?K[LZXvgI}cvN"> <field name="SCHEDULE">*/60 * * * *</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="S_QWZ%P:XPQ1H8HWO%9)"> <mutation name="Token abfragen"></mutation> </block> </statement> <next> <block type="schedule" id="W+ma{UTP^+kpN[].v7Zk"> <field name="SCHEDULE">*/5 * * * *</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="U~v?l1r)Z5Q+Kbb(Z]]y"> <mutation name="Fahrzeugdaten abfragen"></mutation> <next> <block type="procedures_callcustomnoreturn" id="PBbJH+;,a,L7x=f3u1!)"> <mutation name="Status Abfragen"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="on" id=")QODy$[H-(7lc9HPc%Xx" x="513" y="-1438"> <field name="OID">0_userdata.0.BMW.Befehle.Klimatisieren</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="qi2OU5y9AjO|pE1=!(W`"> <value name="IF0"> <block type="on_source" id="]6?RDB6_qbNs}FH@FT/5"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="DC)Em1Ehbz1LW6fj[K!7"> <mutation name="Befehl"> <arg name="Befehl"></arg> </mutation> <value name="ARG0"> <block type="text" id="wekLEjbNhi3sYYeR;bq1"> <field name="TEXT">CLIMATE_NOW</field> </block> </value> <next> <block type="update" id="?@kSoXR52NIAnmTbP@is"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Klimatisieren</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="K/F}wA*$n:5CnQHpYr@$"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="DO.4#e50zzBReVkXk5yb"> <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="OiM7;RsdIpMs*67U$W1}"> <value name="IF0"> <block type="on_source" id="DUggLU3jpKTMWDwchY@Q"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="6]WNw%0B$@C*pjCV+42;"> <mutation name="Befehl"> <arg name="Befehl"></arg> </mutation> <value name="ARG0"> <block type="text" id="PU^ebj(ix}-k_Y?zFd8u"> <field name="TEXT">DOOR_LOCK</field> </block> </value> <next> <block type="update" id="9rlPG|IAAhKHcZ|+99|z"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="0,a9ZN|M|PkAi}n*T19O"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="HV:pG3Rpo#DDVKbG+daU"> <field name="NAME">T4</field> <next> <block type="timeouts_settimeout" id="K^b0}p1E-~Xb4ASC]Q4H"> <field name="NAME">T4</field> <field name="DELAY">20</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="%#uB?:We,O/HPC5~o8mu"> <mutation name="Status Abfragen"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="Mt2*}WFoiR5--row2T8H"> <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="1tfzyj?EGI~c[$sfM,=H"> <value name="IF0"> <block type="on_source" id="L-qx[QjgE7YK^@QoxL?s"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="UA+^g5gs#H|-G2i{TbW0"> <mutation name="Befehl"> <arg name="Befehl"></arg> </mutation> <value name="ARG0"> <block type="text" id="cyD@aSO~.u2Bx0K/ZDvH"> <field name="TEXT">DOOR_UNLOCK</field> </block> </value> <next> <block type="update" id="!W;+jZdtO4Z$.N{oZ!~u"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="i7H=1Q%)]bTWwtb,mZL^"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="kCFL4[xJS;D7/KIfiBAX"> <field name="NAME">T5</field> <next> <block type="timeouts_settimeout" id="o8MuetpKi;us4cd)*xEw"> <field name="NAME">T5</field> <field name="DELAY">20</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="R9@II,t5ByNf2K*gJ[xo"> <mutation name="Status Abfragen"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="x3sA~Bo,9#W8+0QQ4?Mk"> <field name="OID">0_userdata.0.BMW.Befehle.Lichthupe</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="g^t/])A_OBmH:}D:7hx1"> <value name="IF0"> <block type="on_source" id="Qk9]ZT(6`yuT9IJ1mS#h"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="?Ar*XxGO6vVdJr~9F;?)"> <mutation name="Befehl"> <arg name="Befehl"></arg> </mutation> <value name="ARG0"> <block type="text" id="8y9k?DHsHpiCgnF.S`o="> <field name="TEXT">LIGHT_FLASH</field> </block> </value> <next> <block type="update" id="8viE(:=_WA,IPGi~+0MV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Lichthupe</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="3KW3b{O(!n=5:mg(M_Wv"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id=".`HU#5P7{T)o:1xn*a/?"> <field name="OID">0_userdata.0.BMW.Befehle.Hupen</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="Qrr/!E+TuG7Gq66FQA;5"> <value name="IF0"> <block type="on_source" id="mvXJMfS$OdG+L~5/z^rY"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="%-uafX09p)!Y/xx5^fi2"> <mutation name="Befehl"> <arg name="Befehl"></arg> </mutation> <value name="ARG0"> <block type="text" id="}58KZNu_0dQ=K}dkAOS$"> <field name="TEXT">HORN_BLOW</field> </block> </value> <next> <block type="update" id="GWaADA}?}4ONL*[A[7Fi"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Hupen</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="f^.-6^1JVE#^ag9aE_/X"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="Vhk9JdYK#{eK`xo9l]hS"> <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="controls_if" id="=32B-jUiOxfo-@z%Enkk"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id="~~AZ={~tQ?Y!E}_f7D~]"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="control" id="+rt4k;*u!=Diy{KbOU(8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Zusperren</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="vq-.Och#,2*o%xQARVeP"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="9!u{=):MD$_iG09[}T0A"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Aufsperren</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fa-4=P/n|:C`K{-ixe3S"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on" id="1ADkR3Z`F_-a)|M:fB7-"> <field name="OID">0_userdata.0.BMW.Status.Türverriegelung</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"> <block type="controls_if" id="v!Vu7EO:!dG(jpe;x2xD"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="GXN9SU]9FjxoypMbH3QD"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Q.J_$G`AzV2??o(MyP`R"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="}^BDPcKx]3rmlx-*%UN#"> <field name="TEXT">Entriegelt</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="tixY~5k,`[b;Uyon{Z3N"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="I8cRbAkI}r9c:WqD+xQD"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="update" id="rU$~CF:N/Aj;=ODV+;)D"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.BMW.Befehle.Türen verriegelt boolean</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="r5W(~)`uh/rW@uA*b2?*"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defcustomnoreturn" id=":tqG!IfOg@ann$}w1S@h" x="-37" y="-1162"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte Befehle erstellen</field> <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzIGFiZnJhZ2VuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YXR1cyBhYmZyYWdlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5OZXVlciBUb2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJOZXVlciBUb2tlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJUb2tlbiIsInJvbGUiOiAiIiwidHlwZSI6ICJzdHJpbmciLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6ICIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuQmVmZWhsZS5LbGltYXRpc2llcmVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlZmVobCBLbGltYXRpc2llcmVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuSHVwZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmVmZWhsIEh1cGVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuQXVmc3BlcnJlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWZlaGwgQXVmc3BlcnJlbiIsInJvbGUiOiAiYnV0dG9uIiwidHlwZSI6ICJib29sZWFuIiwicmVhZCI6IHRydWUsIndyaXRlIjogdHJ1ZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjogZmFsc2V9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5CZWZlaGxlLlp1c3BlcnJlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWZlaGwgWnVzcGVycmVuIiwicm9sZSI6ICJidXR0b24iLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiB0cnVlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiBmYWxzZX0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkJlZmVobGUuTGljaHRodXBlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlZmVobCBMaWNodGh1cGUiLCJyb2xlIjogImJ1dHRvbiIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IHRydWUsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IGZhbHNlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuQmVmZWhsZS5Uw7xyZW4gdmVycmllZ2VsdCBib29sZWFuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlTDvHJlbiB2ZXJyaWVnZWx0IGJvb2xlYW4iLCJyb2xlIjogInN3aXRjaCIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IHRydWUsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IGZhbHNlfScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="K]RD5Zz+BB5-#J|b@zcu" x="-38" y="-1137"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte Fahrzeug erstellen</field> <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocnpldWcgRmFocmdlc3RlbGxudW1tZXIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5Nb2RlbCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBNb2RlbCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLlR5cCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBUeXAiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbnRyaWViIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJ6ZXVnIEFudHJpZWIiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5GYXJiZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBGYXJiZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkZhcmJjb2RlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJ6ZXVnIEZhcmJjb2RlIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuQmF1amFociIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyemV1ZyBCYXVqYWhyIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAzMDAwLCJkZWYiOiAwLCJ1bml0IjogIiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuTmFtZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBOYW1lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuU3RyYcOfZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBTdHJhw59lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuUExaIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIFBMWiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CmNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLk9ydCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIw6RuZGxlciBPcnQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5MYW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIExhbmQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5UZWxlZm9uIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkjDpG5kbGVyIFRlbGVmb24iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwpjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbGFybWFubGFnZSB2b3JoYW5kZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocnpldWcgQWxhcm1hbmxhZ2Ugdm9yaGFuZGVuIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAiYm9vbGVhbiIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiJmYWxzZSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="z_62?G;+Z_ju{aky5~UA" x="-37" y="-1113"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte Status erstellen</field> <field name="SCRIPT">Y3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5IYXVwdHVudGVyc3VjaHVuZy5EYXR1bSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEYXR1bSBIYXVwdHVudGVyc3VjaHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5IYXVwdHVudGVyc3VjaHVuZy5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhdHVzIEhhdXB0dW50ZXJzdWNodW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suU3RhdHVzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YXR1cyBGYWhyemV1Z2NoZWNrIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suRGF0dW0iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGF0dW0gRmFocnpldWdjaGVjayIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlZlcmJsZWliZW5kZSBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWZXJibGVpYmVuZGUga20gRmFocnpldWdjaGVjayIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwMDAwMDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5CcmVtc2Zsw7xzc2lna2VpdC5EYXR1bSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJEYXR1bSBCcmVtc2Zsw7xzc2lna2VpdCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5CcmVtc2Zsw7xzc2lna2VpdC5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhdHVzIEJyZW1zZmzDvHNzaWdrZWl0Iiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLsOWbHNlcnZpY2UuRGF0dW0iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRGF0dW0gw5Zsc2VydmljZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlN0YXR1cyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJTdGF0dXMgw5Zsc2VydmljZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlZlcmJsZWliZW5kZSBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJWZXJibGVpYmVuZGUga20gw5Zsc2VydmljZSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwMDAwMDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktpbG9tZXRlcnN0YW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktpbG9tZXRlcnN0YW5kIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDEwMDAwMDAwMCwiZGVmIjogMCwidW5pdCI6ICJrbSJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciB2b3JuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJGYWhyZXJ0w7xyIHZvcm5lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciBoaW50ZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocmVydMO8ciBoaW50ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIHZvcm5lIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkJlaWZhaHJlcnTDvHIgdm9ybmUiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWlmYWhyZXJ0w7xyIGhpbnRlbiIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRmFocmVyZmVuc3RlciB2b3JuZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgaGludGVuIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkZhaHJlcmZlbnN0ZXIgaGludGVuIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciB2b3JuZSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJCZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Lb2ZmZXJyYXVtIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktvZmZlcnJhdW0iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5IZWNrZmVuc3RlciIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJIZWNrZmVuc3RlciIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLk1vdG9yaGF1YmUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTW90b3JoYXViZSIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlTDvHJ2ZXJyaWVnZWx1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiVMO8cnZlcnJpZWdlbHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlBhcmtsZXVjaHRlbiIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQYXJrbGV1Y2h0ZW4iLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5TdGFuZGxpY2h0IiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YW5kbGljaHQiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5LcmFmdHN0b2Zmc3RhbmQgTGl0ZXIiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiS3JhZnRzdG9mZnN0YW5kIExpdGVyIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDUwMCwiZGVmIjogMCwidW5pdCI6ICJsIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCBrbSIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJMYWRlenVzdGFuZCBrbSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiA1MDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvbWJpbmllcnRlIFJlaWNod2VpdGUiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiS29tYmluaWVydGUgUmVpY2h3ZWl0ZSIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiA1MDAsImRlZiI6IDAsInVuaXQiOiAia20ifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktyYWZ0c3RvZmZzdGFuZCAlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIktyYWZ0c3RvZmZzdGFuZCAlIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IDAsIm1heCI6IDEwMCwiZGVmIjogMCwidW5pdCI6ICIlIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCAlIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxhZGV6dXN0YW5kICUiLCJyb2xlIjogIiIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwibWluIjogMCwibWF4IjogMTAwLCJkZWYiOiAwLCJ1bml0IjogIiUifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJpbmR1bmdzc3RhdHVzIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlZlcmJpbmR1bmdzc3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJMYWRlc3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmxlaWJlbmRlIExhZGV6ZWl0IiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlZlcmJsZWliZW5kZSBMYWRlemVpdCIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAwLCJtYXgiOiAxMDAwLCJkZWYiOiAwLCJ1bml0IjogIm1pbiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5CcmVpdGVuZ3JhZCIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJTdGFuZG9ydCBCcmVpdGVuZ3JhZCIsInJvbGUiOiAiIiwidHlwZSI6ICJudW1iZXIiLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJtaW4iOiAtMTAwMDAsIm1heCI6IDEwMDAwLCJkZWYiOiAwLCJ1bml0IjogIsKwIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIGNyZWF0ZVN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YW5kb3J0LkzDpG5nZW5ncmFkIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIlN0YW5kb3J0IEzDpG5nZW5ncmFkIiwicm9sZSI6ICIiLCJ0eXBlIjogIm51bWJlciIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsIm1pbiI6IC0xMDAwMCwibWF4IjogMTAwMDAsImRlZiI6IDAsInVuaXQiOiAiwrAifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuUmljaHR1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgUmljaHR1bmciLCJyb2xlIjogIiIsInR5cGUiOiAibnVtYmVyIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwibWluIjogLTEwMDAwLCJtYXgiOiAxMDAwMCwiZGVmIjogMCwidW5pdCI6ICLCsCJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5TdGF0dXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgU3RhdHVzIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxldHp0ZXIgTGFkZXZvcmdhbmcgQmVlbmRpZ3VuZ3NncnVuZCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgRXJnZWJuaXMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkVpbm1hbGlnZSBTb2ZvcnRsYWR1bmciLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiRWlubWFsaWdlIFNvZm9ydGxhZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogImJvb2xlYW4iLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiZmFsc2UifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGV2ZXJiaW5kdW5nIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkxhZGV2ZXJiaW5kdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuUG9zaXRpb25pZXJ1bmcgSW5kdWt0aW9uc2xhZHVuZyIsIEpTT04ucGFyc2UoJ3sibmFtZSI6ICJQb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwicm9sZSI6ICJzdGF0ZSIsInR5cGUiOiAic3RyaW5nIiwicmVhZCI6IHRydWUsIndyaXRlIjogZmFsc2UsICJkZXNjIjogIk1hbnVlbGwgZXJ6ZXVndCIsImRlZiI6IiJ9JyksIGFzeW5jIGZ1bmN0aW9uICgpIHsKICB9KTsKICBjcmVhdGVTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2hlY2sgQ29udHJvbCBNZWxkdW5nIiwgSlNPTi5wYXJzZSgneyJuYW1lIjogIkNoZWNrIENvbnRyb2wgTWVsZHVuZyIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkNhYnJpb2RhY2giLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiQ2FicmlvZGFjaCIsInJvbGUiOiAic3RhdGUiLCJ0eXBlIjogInN0cmluZyIsInJlYWQiOiB0cnVlLCJ3cml0ZSI6IGZhbHNlLCAiZGVzYyI6ICJNYW51ZWxsIGVyemV1Z3QiLCJkZWYiOiIifScpLCBhc3luYyBmdW5jdGlvbiAoKSB7CiAgfSk7CiAgY3JlYXRlU3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuR29vZ2xlIE1hcHMiLCBKU09OLnBhcnNlKCd7Im5hbWUiOiAiU3RhbmRvcnQgR29vZ2xlIE1hcHMiLCJyb2xlIjogInN0YXRlIiwidHlwZSI6ICJzdHJpbmciLCJyZWFkIjogdHJ1ZSwid3JpdGUiOiBmYWxzZSwgImRlc2MiOiAiTWFudWVsbCBlcnpldWd0IiwiZGVmIjoiIn0nKSwgYXN5bmMgZnVuY3Rpb24gKCkgewogIH0pOwogIAo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="Tqmj%!gc`F8vk2zl7MW_" x="-38" y="-1088"> <mutation statements="false"></mutation> <field name="NAME">Fahrzeugdaten abfragen</field> <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7Cgp2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL2IydmFwaS5ibXdncm91cC5jb20vd2ViYXBpL3YxL3VzZXIvdmVoaWNsZXMvJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvcixyZXNwb25zZSxib2R5KXsKCnZhciByZXN1bHQyID0gSlNPTi5wYXJzZShib2R5KS52ZWhpY2xlc1swXTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiLCAnJytyZXN1bHQyLnZpbiwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLk1vZGVsIiwgJycrcmVzdWx0Mi5tb2RlbCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLlR5cCIsICcnK3Jlc3VsdDIuYm9keXR5cGUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbnRyaWViIiwgJycrcmVzdWx0Mi5kcml2ZVRyYWluLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFyYmUiLCAnJytyZXN1bHQyLmNvbG9yLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFyYmNvZGUiLCAnJytyZXN1bHQyLmNvbG9yQ29kZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkJhdWphaHIiLCBwYXJzZUZsb2F0KHJlc3VsdDIueWVhck9mQ29uc3RydWN0aW9uKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLk5hbWUiLCAnJytyZXN1bHQyLmRlYWxlci5uYW1lLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuU3RyYcOfZSIsICcnK3Jlc3VsdDIuZGVhbGVyLnN0cmVldCwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkjDpG5kbGVyLlBMWiIsICcnK3Jlc3VsdDIuZGVhbGVyLnBvc3RhbENvZGUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5PcnQiLCAnJytyZXN1bHQyLmRlYWxlci5jaXR5LCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuSMOkbmRsZXIuTGFuZCIsICcnK3Jlc3VsdDIuZGVhbGVyLmNvdW50cnksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Iw6RuZGxlci5UZWxlZm9uIiwgJycrcmVzdWx0Mi5kZWFsZXIucGhvbmUsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5GYWhyemV1Zy5BbGFybWFubGFnZSB2b3JoYW5kZW4iLCByZXN1bHQyLmhhc0FsYXJtU3lzdGVtLCB0cnVlKTsKLy9jb25zb2xlLmxvZyhyZXN1bHQyLnZpbikKCn07CnJlcXVlc3QuZ2V0KG9wdGlvbnMsIGNhbGxiYWNrKTsK</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="e6N=.RUD+21]!8uv9.EJ" x="-38" y="-1063"> <mutation statements="false"></mutation> <field name="NAME">Status Abfragen</field> <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7Cgp2YXIgb3B0aW9ucyA9IHsKICB1cmw6ICdodHRwczovL2IydmFwaS5ibXdncm91cC5jb20vd2ViYXBpL3YxL3VzZXIvdmVoaWNsZXMvJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuRmFocnpldWcuRmFocmdlc3RlbGxudW1tZXIiKS52YWwpKycvc3RhdHVzJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvcixyZXNwb25zZSxib2R5KXsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSkudmVoaWNsZVN0YXR1czsKaWYgKHJlc3VsdC5kb29yRHJpdmVyRnJvbnQgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRmFocmVydMO8ciB2b3JuZSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5kb29yRHJpdmVyRnJvbnQgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgdm9ybmUiLCAnT2ZmZW4nLCB0cnVlKTsKIH0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJ0w7xyIHZvcm5lIiwgJycrIHJlc3VsdC5kb29yRHJpdmVyRnJvbnQsIHRydWUpOwp9OwppZiAocmVzdWx0LmRvb3JEcml2ZXJSZWFyID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgaGludGVuIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LmRvb3JEcml2ZXJSZWFyID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJ0w7xyIGhpbnRlbiIsICdPZmZlbicsIHRydWUpOwogfSBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcnTDvHIgaGludGVuIiwgJycrIHJlc3VsdC5kb29yRHJpdmVyUmVhciwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQuZG9vclBhc3NlbmdlckZyb250ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkJlaWZhaHJlcnTDvHIgdm9ybmUiLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQuZG9vclBhc3NlbmdlckZyb250ID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIHZvcm5lIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVydMO8ciB2b3JuZSIsICcnKyByZXN1bHQuZG9vclBhc3NlbmdlckZyb250LCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5kb29yUGFzc2VuZ2VyUmVhciA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5kb29yUGFzc2VuZ2VyUmVhciA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVydMO8ciBoaW50ZW4iLCAnT2ZmZW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJ0w7xyIGhpbnRlbiIsICcnKyByZXN1bHQuZG9vclBhc3NlbmdlclJlYXIsIHRydWUpOwp9OwppZiAocmVzdWx0LndpbmRvd0RyaXZlckZyb250ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQud2luZG93RHJpdmVyRnJvbnQgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgdm9ybmUiLCAnT2ZmZW4nLCB0cnVlKTsKIH0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIHZvcm5lIiwgJycrIHJlc3VsdC53aW5kb3dEcml2ZXJGcm9udCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQud2luZG93RHJpdmVyUmVhciA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIGhpbnRlbiIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC53aW5kb3dEcml2ZXJSZWFyID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5GYWhyZXJmZW5zdGVyIGhpbnRlbiIsICdPZmZlbicsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkZhaHJlcmZlbnN0ZXIgaGludGVuIiwgJycrIHJlc3VsdC53aW5kb3dEcml2ZXJSZWFyLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC53aW5kb3dQYXNzZW5nZXJGcm9udCA9PSAnQ0xPU0VEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LndpbmRvd1Bhc3NlbmdlckZyb250ID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIHZvcm5lIiwgJ09mZmVuJywgdHJ1ZSk7CiB9IGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciB2b3JuZSIsICcnKyByZXN1bHQud2luZG93UGFzc2VuZ2VyRnJvbnQsIHRydWUpOwp9OwppZiAocmVzdWx0LndpbmRvd1Bhc3NlbmdlclJlYXIgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCAnR2VzY2hsb3NzZW4nLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQud2luZG93UGFzc2VuZ2VyUmVhciA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQmVpZmFocmVyZmVuc3RlciBoaW50ZW4iLCAnT2ZmZW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5CZWlmYWhyZXJmZW5zdGVyIGhpbnRlbiIsICcnKyByZXN1bHQud2luZG93UGFzc2VuZ2VyUmVhciwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQudHJ1bmsgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS29mZmVycmF1bSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC50cnVuayA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS29mZmVycmF1bSIsICdPZmZlbicsIHRydWUpOwogfSBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvZmZlcnJhdW0iLCAnJysgcmVzdWx0LnRydW5rLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5yZWFyV2luZG93ID09ICdDTE9TRUQnKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkhlY2tmZW5zdGVyIiwgJ0dlc2NobG9zc2VuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LnJlYXJXaW5kb3cgPT0gJ09QRU4nKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkhlY2tmZW5zdGVyIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5IZWNrZmVuc3RlciIsICdOaWNodCB2b3JoYW5kZW4nLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5jb252ZXJ0aWJsZVJvb2ZTdGF0ZSA9PSAnQ0xPU0VEU0VDVVJFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2FicmlvZGFjaCIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5jb252ZXJ0aWJsZVJvb2ZTdGF0ZSA9PSAnT1BFTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuQ2FicmlvZGFjaCIsICdPZmZlbicsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5DYWJyaW9kYWNoIiwgJ05pY2h0IHZvcmhhbmRlbicsIHRydWUpOwp9OwppZiAocmVzdWx0Lmhvb2QgPT0gJ0NMT1NFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTW90b3JoYXViZSIsICdHZXNjaGxvc3NlbicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5ob29kID09ICdPUEVOJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Nb3RvcmhhdWJlIiwgJ09mZmVuJywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTW90b3JoYXViZSIsICcnKyByZXN1bHQuaG9vZCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQuZG9vckxvY2tTdGF0ZSA9PSAnU0VDVVJFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVMO8cnZlcnJpZWdlbHVuZyIsICdHZXNpY2hlcnQnLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQuZG9vckxvY2tTdGF0ZSA9PSAnTE9DS0VEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJ1ZlcnJpZWdlbHQnLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmRvb3JMb2NrU3RhdGUgPT0gJ1VOTE9DS0VEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJ0VudHJpZWdlbHQnLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmRvb3JMb2NrU3RhdGUgPT0gJ1NFTEVDVElWRV9MT0NLRUQnKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlTDvHJ2ZXJyaWVnZWx1bmciLCAnRW50cmllZ2VsdCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Uw7xydmVycmllZ2VsdW5nIiwgJycrIHJlc3VsdC5kb29yTG9ja1N0YXRlLCB0cnVlKTsKfTsKaWYgKHJlc3VsdC5wYXJraW5nTGlnaHQgPT0gJ09GRicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuUGFya2xldWNodGVuIiwgJ0F1cycsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5wYXJraW5nTGlnaHQgPT0gJ09OJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5QYXJrbGV1Y2h0ZW4iLCAnQW4nLCB0cnVlKTsKfSAgZWxzZSB7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5QYXJrbGV1Y2h0ZW4iLCAnJysgcmVzdWx0LnBhcmtpbmdMaWdodCwgdHJ1ZSk7Cn07CmlmIChyZXN1bHQucG9zaXRpb25MaWdodCA9PSAnT0ZGJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5TdGFuZGxpY2h0IiwgJ0F1cycsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5wb3NpdGlvbkxpZ2h0ID09ICdPTicpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuU3RhbmRsaWNodCIsICdBbicsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlN0YW5kbGljaHQiLCAnJysgcmVzdWx0LnBvc2l0aW9uTGlnaHQsIHRydWUpOwp9OwppZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlYXNvbiA9PSAnQ0hBUkdJTkdfR09BTF9SRUFDSEVEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MZXR6dGVyIExhZGV2b3JnYW5nIEJlZW5kaWd1bmdzZ3J1bmQiLCAnTGFkZXppZWwgZXJyZWljaHQnLCB0cnVlKTsKfSBlbHNlIGlmIChyZXN1bHQubGFzdENoYXJnaW5nRW5kUmVhc29uID09ICdFTkRfUkVRVUVTVEVEX0JZX0RSSVZFUicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgJ0R1cmNoIEZhaHJlciBiZWVuZGV0JywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlYXNvbiA9PSAnVU5LTk9XTicpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBCZWVuZGlndW5nc2dydW5kIiwgJ1VuYmVrYW5udCcsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgQmVlbmRpZ3VuZ3NncnVuZCIsICcnK3Jlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZWFzb24sIHRydWUpOwp9OwppZiAocmVzdWx0Lmxhc3RDaGFyZ2luZ0VuZFJlc3VsdCA9PSAnU1VDQ0VTUycpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsICdFcmZvbGdyZWljaCcsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZXN1bHQgPT0gJ1VOS05PV04nKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxldHp0ZXIgTGFkZXZvcmdhbmcgRXJnZWJuaXMiLCAnVW5iZWthbm50JywgdHJ1ZSk7Cn0gIGVsc2UgeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGV0enRlciBMYWRldm9yZ2FuZyBFcmdlYm5pcyIsICcnK3Jlc3VsdC5sYXN0Q2hhcmdpbmdFbmRSZXN1bHQsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nVGltZVJlbWFpbmluZyA9PSBudWxsKSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJsZWliZW5kZSBMYWRlemVpdCIsIDAsIHRydWUpOwp9ICBlbHNlIHsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJsZWliZW5kZSBMYWRlemVpdCIsIHBhcnNlRmxvYXQocmVzdWx0LmNoYXJnaW5nVGltZVJlbWFpbmluZyksIHRydWUpOwp9OwppZiAocmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMgPT0gJ0RJU0NPTk5FQ1RFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmluZHVuZ3NzdGF0dXMiLCAnTmljaHQgdmVyYnVuZGVuJywgdHJ1ZSk7Cn0gZWxzZSBpZiAocmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMgPT0gJ0NPTk5FQ1RFRCcpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuVmVyYmluZHVuZ3NzdGF0dXMiLCAnVmVyYnVuZGVuJywgdHJ1ZSk7Cn0gZWxzZSB7CiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLlZlcmJpbmR1bmdzc3RhdHVzIiwgJycrcmVzdWx0LmNvbm5lY3Rpb25TdGF0dXMsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nSW5kdWN0aXZlUG9zaXRpb25pbmcgPT0gJ05PVF9QT1NJVElPTkVEJykgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Qb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwgJ05pY2h0IHBvc2l0aW9uaWVydCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5Qb3NpdGlvbmllcnVuZyBJbmR1a3Rpb25zbGFkdW5nIiwgJycrcmVzdWx0LmNoYXJnaW5nSW5kdWN0aXZlUG9zaXRpb25pbmcsIHRydWUpOwp9OwppZiAocmVzdWx0LmNoYXJnaW5nU3RhdHVzID09ICdDSEFSR0lORycpIHsKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdMYWRlbiBha3RpdicsIHRydWUpOwp9IGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnRVJST1InKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGVzdGF0dXMiLCAnRmVobGVyJywgdHJ1ZSk7Cn0gIGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnRklOSVNIRURfRlVMTFlfQ0hBUkdFRCcpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdWb2xsc3TDpG5kaWcgZ2VsYWRlbicsIHRydWUpOwp9ICBlbHNlIGlmIChyZXN1bHQuY2hhcmdpbmdTdGF0dXMgPT0gJ0ZJTklTSEVEX05PVF9GVUxMJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJ1Vudm9sbHN0w6RuZGlnIGdlbGFkZW4nLCB0cnVlKTsKfSAgZWxzZSBpZiAocmVzdWx0LmNoYXJnaW5nU3RhdHVzID09ICdJTlZBTElEJyl7IAogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJ1VuZ8O8bHRpZycsIHRydWUpOwp9ICBlbHNlIGlmIChyZXN1bHQuY2hhcmdpbmdTdGF0dXMgPT0gJ05PVF9DSEFSR0lORycpeyAKICBzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuTGFkZXN0YXR1cyIsICdMYWRlbiBpbmFrdGl2JywgdHJ1ZSk7Cn0gIGVsc2UgaWYgKHJlc3VsdC5jaGFyZ2luZ1N0YXR1cyA9PSAnV0FJVElOR19GT1JfQ0hBUkdJTkcnKXsgCiAgc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGVzdGF0dXMiLCAnV2FydGUgYXVmIExhZGVzdGFydCcsIHRydWUpOwp9IGVsc2UgewogIHNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlc3RhdHVzIiwgJycrcmVzdWx0LmNoYXJnaW5nU3RhdHVzLCB0cnVlKTsKfTsKCgovL3NldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlNlcnZpY2ViZWRhcmYuSGF1cHR1bnRlcnN1Y2h1bmcuRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVsxXS5jYnNEdWVEYXRlLCB0cnVlKTsKLy9zZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkhhdXB0dW50ZXJzdWNodW5nLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzFdLmNic1N0YXRlLCB0cnVlKTsKLy9jYnNEYXRhIApzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkZhaHJ6ZXVnY2hlY2suRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVsxXS5jYnNEdWVEYXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzFdLmNic1N0YXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi5GYWhyemV1Z2NoZWNrLlZlcmJsZWliZW5kZSBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LmNic0RhdGFbMV0uY2JzUmVtYWluaW5nTWlsZWFnZSksIHRydWUpOwovL2Nic0RBVEEgMQpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLkJyZW1zZmzDvHNzaWdrZWl0LkRhdHVtIiwgJycrcmVzdWx0LmNic0RhdGFbMl0uY2JzRHVlRGF0ZSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlNlcnZpY2ViZWRhcmYuQnJlbXNmbMO8c3NpZ2tlaXQuU3RhdHVzIiwgJycrcmVzdWx0LmNic0RhdGFbMl0uY2JzU3RhdGUsIHRydWUpOwovL2NiZERBVEEgMApzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TZXJ2aWNlYmVkYXJmLsOWbHNlcnZpY2UuRGF0dW0iLCAnJytyZXN1bHQuY2JzRGF0YVswXS5jYnNEdWVEYXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlN0YXR1cyIsICcnK3Jlc3VsdC5jYnNEYXRhWzBdLmNic1N0YXRlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU2VydmljZWJlZGFyZi7DlmxzZXJ2aWNlLlZlcmJsZWliZW5kZSBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LmNic0RhdGFbMF0uY2JzUmVtYWluaW5nTWlsZWFnZSksIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuS2lsb21ldGVyc3RhbmQiLCBwYXJzZUZsb2F0KHJlc3VsdC5taWxlYWdlKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5LcmFmdHN0b2Zmc3RhbmQgTGl0ZXIiLCBwYXJzZUZsb2F0KHJlc3VsdC5yZW1haW5pbmdGdWVsKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRlenVzdGFuZCBrbSIsIHBhcnNlRmxvYXQocmVzdWx0LnJlbWFpbmluZ1JhbmdlRWxlY3RyaWMpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktvbWJpbmllcnRlIFJlaWNod2VpdGUiLCBwYXJzZUZsb2F0KHJlc3VsdC5yZW1haW5pbmdSYW5nZUZ1ZWwpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLktyYWZ0c3RvZmZzdGFuZCAlIiwgcGFyc2VGbG9hdChyZXN1bHQuZnVlbFBlcmNlbnQpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkxhZGV6dXN0YW5kICUiLCBwYXJzZUZsb2F0KHJlc3VsdC5jaGFyZ2luZ0xldmVsSHYpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuQnJlaXRlbmdyYWQiLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5sYXQpLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuTMOkbmdlbmdyYWQiLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5sb24pLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuUmljaHR1bmciLCBwYXJzZUZsb2F0KHJlc3VsdC5wb3NpdGlvbi5oZWFkaW5nKSwgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YW5kb3J0LlN0YXR1cyIsICcnK3Jlc3VsdC5wb3NpdGlvbi5zdGF0dXMsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGFuZG9ydC5Hb29nbGUgTWFwcyIsICdodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyL2hvbWUvJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuQnJlaXRlbmdyYWQiKS52YWwpKycsJysoZ2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhbmRvcnQuTMOkbmdlbmdyYWQiKS52YWwpKycvQD9obD1kZScsIHRydWUpOwpzZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5TdGF0dXMuRWlubWFsaWdlIFNvZm9ydGxhZHVuZyIsIHJlc3VsdC5zaW5nbGVJbW1lZGlhdGVDaGFyZ2luZywgdHJ1ZSk7CnNldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLlN0YXR1cy5MYWRldmVyYmluZHVuZyIsICcnK3Jlc3VsdC5jaGFyZ2luZ0Nvbm5lY3Rpb25UeXBlLCB0cnVlKTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuU3RhdHVzLkNoZWNrIENvbnRyb2wgTWVsZHVuZyIsICcnK3Jlc3VsdC5jaGVja0NvbnRyb2xNZXNzYWdlc1swXSwgdHJ1ZSk7CgovL2NvbnNvbGUubG9nKHJlc3VsdC5kb29yTG9ja1N0YXRlKTsKCn07CnJlcXVlc3QuZ2V0KG9wdGlvbnMsIGNhbGxiYWNrKTsK</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="C|Hc:`b-c/c[Tgs1y:IM" x="-38" y="-1037"> <mutation statements="false"> <arg name="Befehl" varid="Ryywje#7IoGUwl?[YLYR"></arg> </mutation> <field name="NAME">Befehl</field> <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkZXRhaWxzID0gewogICAgJ3NlcnZpY2VUeXBlJzogQmVmZWhsLAogICAgJ2Jtd1NrQW5zd2VyJzogU2ljaGVyaGVpdHNhbnR3b3J0Cn07CiAKdmFyIGZvcm1Cb2R5ID0gW107CmZvciAodmFyIHByb3BlcnR5IGluIGRldGFpbHMpIHsKICB2YXIgZW5jb2RlZEtleSA9IGVuY29kZVVSSUNvbXBvbmVudChwcm9wZXJ0eSk7CiAgdmFyIGVuY29kZWRWYWx1ZSA9IGVuY29kZVVSSUNvbXBvbmVudChkZXRhaWxzW3Byb3BlcnR5XSk7CiAgZm9ybUJvZHkucHVzaChlbmNvZGVkS2V5ICsgIj0iICsgZW5jb2RlZFZhbHVlKTsKfQpmb3JtQm9keSA9IGZvcm1Cb2R5LmpvaW4oIiYiKTsKCgogdmFyIG9wdGlvbnMgPSB7CiAgdXJsOiAnaHR0cHM6Ly9iMnZhcGkuYm13Z3JvdXAuY29tL3dlYmFwaS92MS91c2VyL3ZlaGljbGVzLycrKGdldFN0YXRlKCIwX3VzZXJkYXRhLjAuQk1XLkZhaHJ6ZXVnLkZhaHJnZXN0ZWxsbnVtbWVyIikudmFsKSsnL2V4ZWN1dGVTZXJ2aWNlJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnfSwKICBhdXRoOiB7CiAgICBiZWFyZXI6IChnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLkJNVy5Ub2tlbiIpLnZhbCl9LAogIGJvZHk6IGZvcm1Cb2R5Cn07CgpmdW5jdGlvbiBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UsIGJvZHkpIHsKdmFyIHJlc3VsdCA9IEpTT04ucGFyc2UoYm9keSk7CmNvbnNvbGUubG9nKHJlc3VsdCkKfQoKCnJlcXVlc3QucG9zdChvcHRpb25zLCBjYWxsYmFjayk7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="qLVD,Ua~|Xo7$C,E2/2R" x="-38" y="-1012"> <mutation statements="false"></mutation> <field name="NAME">Token abfragen</field> <field name="SCRIPT">dmFyIGh0dHBzID0gcmVxdWlyZSgiaHR0cHMiKTsKdmFyIHJlcXVlc3QgPSByZXF1aXJlKCJyZXF1ZXN0Iik7CnZhciBkZXRhaWxzID0gewogICAgJ3VzZXJuYW1lJzogQmVudXR6ZXJuYW1lLAogICAgJ3Bhc3N3b3JkJzogUGFzc3dvcnQsCiAgICAnZ3JhbnRfdHlwZSc6ICdwYXNzd29yZCcsCiAgICAnc2NvcGUnOidhdXRoZW50aWNhdGVfdXNlciB2ZWhpY2xlX2RhdGEgcmVtb3RlX3NlcnZpY2VzJwp9OwogCnZhciBmb3JtQm9keSA9IFtdOwpmb3IgKHZhciBwcm9wZXJ0eSBpbiBkZXRhaWxzKSB7CiAgdmFyIGVuY29kZWRLZXkgPSBlbmNvZGVVUklDb21wb25lbnQocHJvcGVydHkpOwogIHZhciBlbmNvZGVkVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQoZGV0YWlsc1twcm9wZXJ0eV0pOwogIGZvcm1Cb2R5LnB1c2goZW5jb2RlZEtleSArICI9IiArIGVuY29kZWRWYWx1ZSk7Cn0KZm9ybUJvZHkgPSBmb3JtQm9keS5qb2luKCImIik7CgoKIHZhciBvcHRpb25zID0gewogIHVybDogJ2h0dHBzOi8vYjJ2YXBpLmJtd2dyb3VwLmNvbS9nY2RtL29hdXRoL3Rva2VuJywKICBoZWFkZXJzOiB7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnLCAnQXV0aG9yaXphdGlvbic6ICdCYXNpYyBaRGMyTm1JMU16Y3RZVFkxTkMwMFkySmtMV0V6WkdNdE1HTmhOVFkzTW1RM1pqaGtPakUxWmpZNU4yWTJMV0UxWkRVdE5HTmhaQzA1T1dRNUxUTmhNVFZpWXpkbU16azNNdz09JywgJ0NyZWRlbnRpYWxzJzogJ25RdjZDcXR4SnVYV1A3NHhmM0NKd1VFUDoxekRIeDZ1bjRjRGp5YkxFTk4za3lmdW1YMmtFWWlnV1BjUXBkdkRScElCazdyT0onfSwKICBib2R5OiBmb3JtQm9keQp9OwogCmZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yLCByZXNwb25zZSwgYm9keSkgewp2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShib2R5KTsKc2V0U3RhdGUoIjBfdXNlcmRhdGEuMC5CTVcuVG9rZW4iLypUb2tlbiovLCAoJycgKyByZXN1bHQuYWNjZXNzX3Rva2VuKSk7CmNvbnNvbGUubG9nKHJlc3VsdCkKfQogIApyZXF1ZXN0LnBvc3Qob3B0aW9ucywgY2FsbGJhY2spOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml>
Gruß Rookie
-
@stenmic dann stimmt die Nummerierung der empfangenen cbsData Einträge nicht mit den Abfragen des Scriptes überein, hier ein Beispiel:
In der Javascript Funktion "Status abfragen"
Du musst den Output des json checken und die Nummern in den eckigen Klammern anpassen.
Gruß
-
@rookie50 danke, hat geklappt.
Die HU war bei mir auch der Grund. -
Hallo zusammen,
im neuen Portal gibt es keine Sicherheitsabfrage mehr, gibt es da Abhilfe? -
@wohlstandskind2711 sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
Hallo zusammen,
im neuen Portal gibt es keine Sicherheitsabfrage mehr, gibt es da Abhilfe?doch gibt es!
https://forum.iobroker.net/topic/7457/adapter-bmw-zum-auslesen-von-bmw-s-connecteddrive-daten/190?_=1616526948976 -
@bahnuhr
altes Portal, gugg mal nach.... -
@wohlstandskind2711 sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@bahnuhr
altes Portal, gugg mal nach....ja, scheinst recht zu haben.
Ich sehe bei bmw gar nichts mehr. Kein remote, etc.
Mir werden nur angebote angezeigt.
Und was ich gebucht habe. -
@bahnuhr
Arbeite bei BMW, Remotebefehle gehen nur noch über die APP. Im Portal soll das wohl ab sofort nicht mehr gehen.... -
@wohlstandskind2711 sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@bahnuhr
Arbeite bei BMW, Remotebefehle gehen nur noch über die APP. Im Portal soll das wohl ab sofort nicht mehr gehen....Ok,
dann stellt sich aber wirklich die Frage wo man dieses Sicherheitsabfrage dann eingibt. -
@wohlstandskind2711 said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
Arbeite bei BMW, Remotebefehle gehen nur noch über die APP. Im Portal soll das wohl ab sofort nicht mehr gehen....
Hallo Wohlstandskind2711,
was wird denn zukünftig überhaupt noch möglich sein, denn dieser ich nenne es einmal Umbau auf das ach so tolle "myBMW" verfolgt ja ein bestimmtes Ziel.Ob dieses "Ziel" von BMW, unseren Ansprüchen weiterhin Daten vom BMW Server zu erhalten entspricht, wäre doch die entscheidende Frage die sicherlich alle hier interessiert?
Kurz gesagt, will man den Kunden zukünftig aussperren oder die Informationen die bisher erhältlich waren deutlich beschneiden ooooooder uns noch mehr Einblicke gewähren (das halte ich aber für sehr unwahrscheinlich)?
-
@strobelix said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@qwertz
Ich nutze beide Apps um zu Vergleichen, aber die aktuelle Api gilt für beide Apps.was bedeutet denn "aktuelle API", gibt es dazu nun von BMW eine offizielle Veröffentlichung?
Ich dachte bisher hat man die Zugänge Rückwärts über die BMW connected Drive Webseite ermittelt, was ja nun durch das Abschalten und die Umstellung auf die "APP" Zugänge nicht mehr möglich sein wird.
-
Hallo zusammen,
kann man irgendwie mit dem Adapter auslesen wieviel kWh bei der letzten Ladung ins Auto gegangen sind?
In der BMW App sieht man es, daher sollte es ja eigentlich auch so einen Datenpunkt geben können.Mit freundlichen Grüßen
Lolax -
@lolax said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
Hallo zusammen,
kann man irgendwie mit dem Adapter auslesen wieviel kWh bei der letzten Ladung ins Auto gegangen sind?
In der BMW App sieht man es, daher sollte es ja eigentlich auch so einen Datenpunkt geben können.Mit freundlichen Grüßen
LolaxIch denke schon, das es möglich ist. Ich habe leider kein E-Auto und kann es nicht genau sagen. Bei Audi ist das jedenfalls möglich.
siehe hier: https://forum.iobroker.net/assets/uploads/files/1610565202047-audi.jpgVielleicht kann ja mal jemand sein View vom BMW-Adapter hier zur Verfügung stellen.
-
@bahnuhr said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
So, ich habe das Blockly mal umgeschrieben in JS.
(mit JS komm ich einfach besser zurecht).Hallo Dieter,
hast du vielleicht eine Idee, wie ich die Ausgabe vom BMW Adapter im View auf deutsch übersetzen kann und je nach Zustand farblich darstellen? @Glasfaser hat das für Audi mit dem ValueList HTML Style gelöst, allerdings erfolgt die Ausgabe bei Audi als Zahlenwert und nicht als Text.
-
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
Hallo Dieter,
hast du vielleicht eine Idee, wie ich die Ausgabe vom BMW Adapter im View auf deutsch übersetzen kannJa,
jqui - select valuelist
ist die Lösung -
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
je nach Zustand farblich darstellen?
Und da ein binding
-
@bahnuhr said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
je nach Zustand farblich darstellen?
Und da ein binding
Ok, danke ... das Widget habe ich schon mal. Mit dem Binding komme ich noch nicht klar.
Habe ich das richtig verstanden, ich lege mir einen Datenpunkt an, dem füge ich einen Farbcode als Wert zu. Danach muss ich unter CSS Font & Text / Color das Binding auf den Datenpunkt setzen ? -
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@bahnuhr said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
je nach Zustand farblich darstellen?
Und da ein binding
Ok, danke ... das Widget habe ich schon mal. Mit dem Binding komme ich noch nicht klar.
Habe ich das richtig verstanden, ich lege mir einen Datenpunkt an, dem füge ich einen Farbcode als Wert zu. Danach muss ich unter CSS Font & Text / Color das Binding auf den Datenpunkt setzen ?Ja, Binding.
z.B. so:
{v:mihome-vacuum.0.xxx;v==true?"red":"white"}Datenpunkt musst du nicht anlegen.
Hast ja einen mit den Englisch werten. -
@bahnuhr said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@bahnuhr said in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
@elgander sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:
je nach Zustand farblich darstellen?
Und da ein binding
Ok, danke ... das Widget habe ich schon mal. Mit dem Binding komme ich noch nicht klar.
Habe ich das richtig verstanden, ich lege mir einen Datenpunkt an, dem füge ich einen Farbcode als Wert zu. Danach muss ich unter CSS Font & Text / Color das Binding auf den Datenpunkt setzen ?Ja, Binding.
z.B. so:
{v:mihome-vacuum.0.xxx;v==true?"red":"white"}Datenpunkt musst du nicht anlegen.
Hast ja einen mit den Englisch werten.Würdest du mir das bitte anhand meines Datenpunktes mal zu Verfügung stellen?
Der Datenpunkt ist: bmw.0.WBAHUXXXXXXXX.dynamic.door_passenger_front
Wenn der „CLOSED“ ausgibt, soll die Schrift Grün sein und wenn er „OPEN“ ausgibt, dann Rot.
Sorry, ich hab damit bisher noch nichts zu tun gehabt.
Und wie bekomme ich bei dem Widget den hellen Hintergrund weg? Bei der Hintergrund Farbe ändert sich nur die Farbe oben und unten.
-
Sende mal dein widget