Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
305 Beiträge 49 Kommentatoren 74.6k Aufrufe 27 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Rookie50

    @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

    Bernd 0B Offline
    Bernd 0B Offline
    Bernd 0
    schrieb am zuletzt editiert von
    #292

    @rookie50 Hi zusammen, ich danke euch für das Script. Ich nutzte es, um die Daten unseres Minis auszulesen. Hierzu ist das Script von Rookie50 im Einsatz. Das funktioniert auch soweit gut. Einzig die Restreichweite ist bei vollem Tank immer bei 500km. Erst wenn der Tankinhalt unter eine Reichweite von 500km fällt, wird mir der richtige Wert angezeigt. Hat jemand das gleiche Problem und gibt es vielleicht einen fix hierfür?
    Vielen Dank & Grüße, Bernd

    H 1 Antwort Letzte Antwort
    0
    • Bernd 0B Bernd 0

      @rookie50 Hi zusammen, ich danke euch für das Script. Ich nutzte es, um die Daten unseres Minis auszulesen. Hierzu ist das Script von Rookie50 im Einsatz. Das funktioniert auch soweit gut. Einzig die Restreichweite ist bei vollem Tank immer bei 500km. Erst wenn der Tankinhalt unter eine Reichweite von 500km fällt, wird mir der richtige Wert angezeigt. Hat jemand das gleiche Problem und gibt es vielleicht einen fix hierfür?
      Vielen Dank & Grüße, Bernd

      H Offline
      H Offline
      HoTi
      schrieb am zuletzt editiert von HoTi
      #293

      @bernd-0 sagte in Adapter: bmw zum Auslesen von BMW's ConnectedDrive Daten:

      @rookie50 Hi zusammen, ich danke euch für das Script. Ich nutzte es, um die Daten unseres Minis auszulesen. Hierzu ist das Script von Rookie50 im Einsatz. Das funktioniert auch soweit gut. Einzig die Restreichweite ist bei vollem Tank immer bei 500km. Erst wenn der Tankinhalt unter eine Reichweite von 500km fällt, wird mir der richtige Wert angezeigt. Hat jemand das gleiche Problem und gibt es vielleicht einen fix hierfür?
      Vielen Dank & Grüße, Bernd

      edit
      Sorry lesen Bildet… Bernd schreibt nicht in der Mehrzahl… :-( schade.


      Fragt jemand von euch mehr als 1 Auto ab? Kann mir jemand sagen wie das geht?

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tombox
        schrieb am zuletzt editiert von tombox
        #294

        @strobelix @lobomau @bahnuhr Macht es sinn ein neuen aktuellen BMW Adapter zu schreiben oder passt der Zustand für alle Fahrzeugtypen von den Datenpunkten und remote Befehlen her?

        T 1 Antwort Letzte Antwort
        1
        • T tombox

          @strobelix @lobomau @bahnuhr Macht es sinn ein neuen aktuellen BMW Adapter zu schreiben oder passt der Zustand für alle Fahrzeugtypen von den Datenpunkten und remote Befehlen her?

          T Offline
          T Offline
          tombox
          schrieb am zuletzt editiert von
          #295

          Wenn Interesse besteht dann benötige ich Zugangsdaten für die App und könnte schnell ein neuen Adapter erstellen.

          lobomauL 1 Antwort Letzte Antwort
          0
          • T tombox

            Wenn Interesse besteht dann benötige ich Zugangsdaten für die App und könnte schnell ein neuen Adapter erstellen.

            lobomauL Offline
            lobomauL Offline
            lobomau
            schrieb am zuletzt editiert von lobomau
            #296

            @tombox ich habe keine Ahnung was dann anders/besser wird? Ich rufe die Daten eines BMW i3 ab.
            Das einzige was mir nicht so gefällt ist die Abfrage nur alle 5min. Aber kann der Adapter da was für? Die API darf wahrscheinlich nicht häufiger abgefragt werden?

            Host: NUC8i3 mit Proxmox:

            • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
            • Slave: Pi4
            T 1 Antwort Letzte Antwort
            0
            • lobomauL lobomau

              @tombox ich habe keine Ahnung was dann anders/besser wird? Ich rufe die Daten eines BMW i3 ab.
              Das einzige was mir nicht so gefällt ist die Abfrage nur alle 5min. Aber kann der Adapter da was für? Die API darf wahrscheinlich nicht häufiger abgefragt werden?

              T Offline
              T Offline
              tombox
              schrieb am zuletzt editiert von
              #297

              @lobomau Der Vorteil ist das es stabiler ist und ja man könnte den Abfrageintervall dynamisch wählen Ich denk die BMW Api hält das öfter als 5min aus

              lobomauL 1 Antwort Letzte Antwort
              0
              • T tombox

                @lobomau Der Vorteil ist das es stabiler ist und ja man könnte den Abfrageintervall dynamisch wählen Ich denk die BMW Api hält das öfter als 5min aus

                lobomauL Offline
                lobomauL Offline
                lobomau
                schrieb am zuletzt editiert von
                #298

                @tombox Na dann freue ich mich natürlich über eine Neuauflage :-)

                Host: NUC8i3 mit Proxmox:

                • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                • Slave: Pi4
                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  lessthanmore
                  schrieb am zuletzt editiert von lessthanmore
                  #299

                  @strobelix Hi, ich bekomme folgende Meldungen nach "Installation" des Skripts:

                  	2021-08-02 16:55:00.512	error	Error in request callback: TypeError: Cannot read property 'name' of undefined
                  
                  javascript.0
                  2021-08-02 16:53:55.362	error	Error in request callback: TypeError: Cannot read property 'name' of undefined
                  
                  javascript.0
                  2021-08-02 16:53:51.961	info	State value to set for "0_userdata.0.BMW.Status.Einmalige Sofortladung" has to be type "boolean" but received type "string"
                  
                  javascript.0
                  2021-08-02 16:53:51.960	info	State value to set for "0_userdata.0.BMW.Fahrzeug.Alarmanlage vorhanden" has to be type "boolean" but received type "string"
                  
                  javascript.0
                  2021-08-02 16:53:51.954	info	State value to set for "0_userdata.0.BMW.Status.Einmalige Sofortladung" has to be type "boolean" but received type "string"
                  
                  javascript.0
                  2021-08-02 16:53:51.954	info	State value to set for "0_userdata.0.BMW.Fahrzeug.Alarmanlage vorhanden" has to be type "boolean" but received type "string"
                  

                  In den Objekten sehe ich dass beim Fahrzeugcheck die verbleibenden KM nicht angezeigt werden.
                  Weiterhin kommt bei den Check Control Meldungen "undefined".
                  Kann das mit den Fehlermeldungen zusammenhängen? Wie finde ich raus, welche DP die Meldung werfen?

                  Danke vorab.

                  /edit: Nachdem ich die Check Control Messages wie auch die Händlerinfos auskommentiert habe, geht es bzw. es kommt keine Fehlermeldung mehr.

                  1 Antwort Letzte Antwort
                  0
                  • frankjokeF frankjoke

                    Es ist mal wieder soweit!

                    Momentan auf Git: https://github.com/frankjoke/iobroker.bmw

                    Der Adapter versucht die ConnectedDrive-Daten für die auf die angegebenen Benutzer registrierten Fahrzeuge.

                    Man kann filtern welche Daten angezeigt werden indem man im Admin die Einstellungen für

                    • zu verwendete services (ich verwende nur: efficiency, dynamic, navigation)

                    • zu löschende Einträge (Bei mir Daten wie: modelType, series, basicType, brand, licensePlate, hasNavi, bodyType, dcOnly, hasSunRoof, hasRex, steering, driveTrain, doorCount, vehicleTracking, isoCountryCode, auxPowerRegular, auxPowerEcoPro, auxPowerEcoProPlus, ccmMessages)

                    • Einträge die von Arrays umgewandelt werden sollen (bei mir: lastTripList|name|lastTrip|unit, specs|key|value, service|name|services, cdpFeatures|name|status, cbsMessages|text|date, lifeTimeList|name|value, characteristicList|characteristic|quantity)

                    • Einträge die in ihrer Hirarchie nach oben wandern sollen (bei mir attributesMap, vehicleMessages, cbsMessages, twoTimeTimer, characteristicList, lifeTimeList, lastTripList)

                    • der zu verwendete Datenserver kann auch angegeben werden, der Default ist für den Rest der Welt, wer in anderen Regionen wohnt kann auch https://b2vapi.bmwgroup.cn:8592 für China, https://b2vapi.bmwgroup.us für USA und https://b2vapi.bmwgroup.com für Europe / Rest of World probieren. http://www.bmw-connecteddrive.com wird auf den letzten weitergeleitet.

                    Wenn der Adapter die Position vom Navigationssystem auslesen kann übersetz er diese mit Hilfe von Google auf eine Adresse und gibt diese unter navigation.formatted_address an.

                    Der Adapter fragt per Default alle mir bekannten Services ab (efficiency, dynamic, navigation, remoteservices/chargingprofile, servicepartner, service, specs), ich selbst verwende nur die ersten drei und mit den oben angegebenen Einstellungen werden bei meinem BMW-Modell (225xe ActiveTourer) werden ca 90 Datenpunkte erzeugt.

                    Mein wagen ist ein Hybrid und ich habe den Adapter hauptsächlich geschrieben um den Ladezustand und die verfügbaren KM mit Benzin und Elektro.

                    Da andere BMW's (oder Minis) verschiedene Daten ausgeben können bin ich
                    1489_2017-09-02_140012.png

                    1489_2017-09-02_141247.png
                    Hoffe dass sich die Untermenge der ioBroker-Benutzer mit BMW und ConnectedDrive-Zugriff mit möglichem Feedback meldet!

                    LG

                    Frank

                    T Offline
                    T Offline
                    tombox
                    schrieb am zuletzt editiert von
                    #300

                    Ich habe mal ein neuen BMW Adapter geschrieben.

                    Bitte Feedback im Thread geben
                    https://forum.iobroker.net/topic/46720/test-adapter-bmw-v2-0-0

                    S 1 Antwort Letzte Antwort
                    1
                    • T tombox

                      Ich habe mal ein neuen BMW Adapter geschrieben.

                      Bitte Feedback im Thread geben
                      https://forum.iobroker.net/topic/46720/test-adapter-bmw-v2-0-0

                      S Offline
                      S Offline
                      stenmic
                      schrieb am zuletzt editiert von
                      #301

                      Kurze Frage, funktioniert das Skript bei euch noch?
                      Mein Token wird seit gestern Nachmittag nicht mir aktualisiert.

                       Error in request callback: SyntaxError: Unexpected end of JSON input
                      {'error':'client disabled','error_description':'provided clients are disabled'}
                      
                      L M S 3 Antworten Letzte Antwort
                      0
                      • S stenmic

                        Kurze Frage, funktioniert das Skript bei euch noch?
                        Mein Token wird seit gestern Nachmittag nicht mir aktualisiert.

                         Error in request callback: SyntaxError: Unexpected end of JSON input
                        {'error':'client disabled','error_description':'provided clients are disabled'}
                        
                        L Offline
                        L Offline
                        lessthanmore
                        schrieb am zuletzt editiert von
                        #302

                        @stenmic Bin zum Adapter von tombox gewechselt.

                        1 Antwort Letzte Antwort
                        0
                        • S stenmic

                          Kurze Frage, funktioniert das Skript bei euch noch?
                          Mein Token wird seit gestern Nachmittag nicht mir aktualisiert.

                           Error in request callback: SyntaxError: Unexpected end of JSON input
                          {'error':'client disabled','error_description':'provided clients are disabled'}
                          
                          M Offline
                          M Offline
                          Muhagl
                          schrieb am zuletzt editiert von
                          #303

                          @stenmic Nein, funktioniert bei mir momentan auch nicht mehr ...

                          1 Antwort Letzte Antwort
                          0
                          • S stenmic

                            Kurze Frage, funktioniert das Skript bei euch noch?
                            Mein Token wird seit gestern Nachmittag nicht mir aktualisiert.

                             Error in request callback: SyntaxError: Unexpected end of JSON input
                            {'error':'client disabled','error_description':'provided clients are disabled'}
                            
                            S Offline
                            S Offline
                            Strobelix
                            schrieb am zuletzt editiert von
                            #304

                            @stenmic Geht bei mir auch nicht mehr.
                            Ich schau mir mal den Adapter von Tombox an. Mein Skript war ja auch nur eine Notlösung

                            Raspberrymatic, Homematic & Homematic IP Aktoren, ioBroker auf NUC i3, Nuki, Harmony Hub, Digitalstrom, Diverse Sonoff (Tasmota) und Shellies

                            S 1 Antwort Letzte Antwort
                            0
                            • S Strobelix

                              @stenmic Geht bei mir auch nicht mehr.
                              Ich schau mir mal den Adapter von Tombox an. Mein Skript war ja auch nur eine Notlösung

                              S Offline
                              S Offline
                              stenmic
                              schrieb am zuletzt editiert von
                              #305

                              @strobelix hab ich auch gemacht. Der läuft bis jetzt.

                              1 Antwort Letzte Antwort
                              -1
                              Antworten
                              • In einem neuen Thema antworten
                              Anmelden zum Antworten
                              • Älteste zuerst
                              • Neuste zuerst
                              • Meiste Stimmen


                              Support us

                              ioBroker
                              Community Adapters
                              Donate
                              FAQ Cloud / IOT
                              HowTo: Node.js-Update
                              HowTo: Backup/Restore
                              Downloads
                              BLOG

                              482

                              Online

                              32.4k

                              Benutzer

                              81.5k

                              Themen

                              1.3m

                              Beiträge
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                              ioBroker Community 2014-2025
                              logo
                              • Anmelden

                              • Du hast noch kein Konto? Registrieren

                              • Anmelden oder registrieren, um zu suchen
                              • Erster Beitrag
                                Letzter Beitrag
                              0
                              • Home
                              • Aktuell
                              • Tags
                              • Ungelesen 0
                              • Kategorien
                              • Unreplied
                              • Beliebt
                              • GitHub
                              • Docu
                              • Hilfe