<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <br>
    <div class="moz-cite-prefix">Am 09.10.22 um 20:40 schrieb van der
      Meijden, Chris:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7C852916-C740-4E34-996B-D53DBFEBB4A8@arachnon.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      Features and Parameters are not showing. Clicking there brings me
      to Messages.<br>
    </blockquote>
    Oops, yes, confirmed.<br>
    <br>
    <blockquote type="cite"
      cite="mid:7C852916-C740-4E34-996B-D53DBFEBB4A8@arachnon.de"><br>
      Starting in landscape and then turning to portrait is fixed :-)<br>
    </blockquote>
    Nothing changed with the old ScaleLayout, it's on my list, but with
    low priority.<br>
    <br>
    So I don't think it's fixed, was working sometimes before.<br>
    <br>
    <br>
    <blockquote type="cite"
      cite="mid:7C852916-C740-4E34-996B-D53DBFEBB4A8@arachnon.de"><br>
      <br>
      <div class="gmail_quote">Am 9. Oktober 2022 20:22:50 MESZ schrieb
        Chris van der Meijden <a class="moz-txt-link-rfc2396E" href="mailto:chris@arachnon.de"><chris@arachnon.de></a>:
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div>It compiled and runs without troubles, but I needed to
            build with</div>
          <div><br>
          </div>
          <div>
            <div>gradlew build -x lint</div>
          </div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>Am Sonntag, dem 09.10.2022 um 19:16 +0200 schrieb Michael
            Balzer:</div>
          <blockquote type="cite" style="margin:0 0 0 .8ex;
            border-left:2px #729fcf solid;padding-left:1ex">
            <div> Chris, Michael, thanks for tests & feedback.<br>
              <br>
              Code changes so far are now in the hub:<br>
            </div>
            <div><a class="moz-txt-link-freetext"
href="https://github.com/openvehicles/Open-Vehicle-Android/commit/c23b3dbd772bdae7e82601797cd3a71c2623a78c"
                moz-do-not-send="true">https://github.com/openvehicles/Open-Vehicle-Android/commit/c23b3dbd772bdae7e82601797cd3a71c2623a78c</a><br>
              <br>
              This has become a very large commit, and it mixes some
              version update changes that became necessary &
              deprecation fixes I should have kept separate, but cannot
              disentangle now.<br>
              <br>
              Some things still to do for the release, most notably
              removing UI interaction from the service. So if any other
              stuff shall be added to the next release, tell me & go
              ahead preparing that.<br>
              <br>
              Regards,<br>
              Michael<br>
              <br>
              <br>
            </div>
            <div class="moz-cite-prefix">Am 09.10.22 um 17:09 schrieb
              Chris van der Meijden:<br>
            </div>
            <div>
              <meta http-equiv="content-type" content="text/html;
                charset=UTF-8">
            </div>
            <div>I tested the new build. Everything is working fine for
              me.</div>
            <div><br>
            </div>
            <div>I think it is a good idea to restrict the respond to
              only action.COMMAND and leave SendCommand for background
              operation.</div>
            <div><br>
            </div>
            <div><br>
            </div>
            <div>Am Sonntag, dem 09.10.2022 um 16:05 +0200 schrieb
              Michael Balzer:</div>
            <div> <br>
            </div>
            <blockquote type="cite" style="margin:0 0 0 .8ex;
              border-left:2px #729fcf solid;padding-left:1ex">
              <div> Chris, Michael,<br>
                <br>
                new builds with the announced new security scheme:<br>
              </div>
              <div> </div>
              <ul>
                <li><span style="color: rgb(0, 0, 0); font-family:
                    ui-monospace, "Cascadia Mono", "Segoe
                    UI Mono", "Source Code Pro",
                    "Roboto Mono", Hack, "Liberation
                    Mono", Menlo, Monaco, Consolas, monospace,
                    monospace; font-size: 12px; font-style: normal;
                    font-variant-ligatures: normal; font-variant-caps:
                    normal; font-weight: 400; letter-spacing: normal;
                    orphans: 2; text-align: start; text-indent: 0px;
                    text-transform: none; white-space: normal; widows:
                    2; word-spacing: 0px; -webkit-text-stroke-width:
                    0px; background-color: rgb(238, 238, 238);
                    text-decoration-thickness: initial;
                    text-decoration-style: initial;
                    text-decoration-color: initial; display: inline
                    !important; float: none;"><a
                      class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-release.apk"
                      moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-release.apk</a></span></li>
                <li><span style="color: rgb(0, 0, 0); font-family:
                    ui-monospace, "Cascadia Mono", "Segoe
                    UI Mono", "Source Code Pro",
                    "Roboto Mono", Hack, "Liberation
                    Mono", Menlo, Monaco, Consolas, monospace,
                    monospace; font-size: 12px; font-style: normal;
                    font-variant-ligatures: normal; font-variant-caps:
                    normal; font-weight: 400; letter-spacing: normal;
                    orphans: 2; text-align: start; text-indent: 0px;
                    text-transform: none; white-space: normal; widows:
                    2; word-spacing: 0px; -webkit-text-stroke-width:
                    0px; background-color: rgb(255, 255, 248);
                    text-decoration-thickness: initial;
                    text-decoration-style: initial;
                    text-decoration-color: initial; display: inline
                    !important; float: none;"><a
                      class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-debug.apk"
                      moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-debug.apk</a></span></li>
              </ul>
              <p>This adds a new API key authorization to both Intent
                interfaces. The API key is automatically generated on
                App launch, and can be viewed, copied and regenerated
                from the general options page.</p>
              <p>It can be used for both command intents by passing in
                as extra "apikey", allowing to omit the vehicle
                password. The vehicle id is now also optional on both
                interfaces, if omitted the current vehicle will be used.
                To change the car you can either pass the vehicle
                password or the apikey along with the vehicle id.<br>
              </p>
              <div> So with am, you can now use:<br>
              </div>
              <div> </div>
              <ul>
                <li><font face="monospace">am broadcast -a
                    com.openvehicles.OVMS.SendCommand -e apikey … -e
                    command "stat"</font></li>
                <li><font face="monospace">am start -a
                    com.openvehicles.OVMS.action.COMMAND -e apikey … -e
                    command "stat"</font><br>
                </li>
              </ul>
              <p>The second guarantees the activity is started, so the
                response will be visible.<br>
              </p>
              <p>I'll probably restrict displaying the response to
                action.COMMAND in the next build, so SendCommand will be
                for background operations while action.COMMAND is for
                interactive uses.<br>
              </p>
              <div> Android 10 (API 29) has a new limitation for
                displaying results (starting UI activities) from a
                service (<a class="moz-txt-link-freetext"
href="https://developer.android.com/guide/components/activities/background-starts"
                  moz-do-not-send="true">https://developer.android.com/guide/components/activities/background-starts</a>),
                so that works only by chance now anyway.<br>
                <br>
                Regards,<br>
                Michael<br>
                <br>
                <br>
              </div>
              <div class="moz-cite-prefix">Am 09.10.22 um 12:45 schrieb
                Chris van der Meijden:<br>
              </div>
              <div>
                <meta http-equiv="content-type" content="text/html;
                  charset=UTF-8">
              </div>
              <div>Hi Michael,</div>
              <div><br>
              </div>
              <div>thank you for your response. As always of great help
                :-)</div>
              <div><br>
              </div>
              <div>Good that you could find a possible security risc
                concerning the credentials.</div>
              <div><br>
              </div>
              <div>Regards</div>
              <div><br>
              </div>
              <div>Chris</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Am Sonntag, dem 09.10.2022 um 10:53 +0200 schrieb
                Michael Balzer:</div>
              <div> <br>
              </div>
              <div> <br>
              </div>
              <blockquote type="cite" style="margin:0 0 0 .8ex;
                border-left:2px #729fcf solid;padding-left:1ex">
                <div> Chris,<br>
                  <br>
                  AFAIK you need to have an adb connection or a rooted
                  Android to use "am", so not suitable as a general way
                  to call OVMS commands.<br>
                  <br>
                  With your (rooted) Lineageos you should be able to use
                  it like this:<br>
                  <br>
                  <font face="monospace">am broadcast -a
                    com.openvehicles.OVMS.SendCommand -e sel_vehicleid
                    xxx -e sel_server_password xxx -e msg_command
                    "7,stat"</font><br>
                  <br>
                  And I missed mentioning I also added support for user
                  command syntax to "SendCommand", so you can now
                  alternatively do<br>
                  <br>
                  <font face="monospace">am broadcast -a
                    com.openvehicles.OVMS.SendCommand -e sel_vehicleid
                    xxx -e sel_server_password xxx -e command "stat"</font><br>
                  <br>
                  Playing with am, I found out…<br>
                  <br>
                  <font face="monospace">am start -n
                    com.openvehicles.OVMS/.api.CommandActivity -a
                    com.openvehicles.OVMS.action.COMMAND -e command
                    "stat"</font><br>
                  <br>
                  …actually works to trigger the new command receiver. I
                  thought restricting the new receiver to app-internal
                  intents would be possible, but it apparently isn't.
                  That bothers me, it means any App could issue a
                  command without knowing the credentials or an auth key
                  and without a previous explicit user interaction to
                  allow this.<br>
                  <br>
                  So I need to add a credentials check to the new
                  action, which means you will need to reinstall all
                  bookmarks / shortcut assignments. Please wait with
                  complex setups until I've added that.<br>
                  <br>
                  Regards,<br>
                  Michael<br>
                  <br>
                  <br>
                  <br>
                </div>
                <div class="moz-cite-prefix">Am 08.10.22 um 19:30
                  schrieb Chris van der Meijden:<br>
                </div>
                <div>
                  <meta http-equiv="content-type" content="text/html;
                    charset=UTF-8">
                </div>
                <div>I have been playing with the "SH" function of KWGT
                  and tried to send a broadcast over the shell, like
                  adb:</div>
                <div><br>
                </div>
                <div style="orphans: auto; widows: auto;"><span
                    style="font-family: inherit; font-size:
                    var(--fs-body1); font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-color); orphans: 2; widows:
                    2; background-color: var(--highlight-bg);">'am
                    broadcast -</span><span class="hljs-selector-tag"
                    style="font-family: inherit; font-size: 13px;
                    font-style: inherit; font-variant-caps: inherit;
                    white-space: inherit; color:
                    var(--highlight-keyword); orphans: 2; widows: 2;
                    margin: 0px; padding: 0px; border: 0px;
                    font-variant-ligatures: inherit;
                    font-variant-position: inherit;
                    font-variant-numeric: inherit;
                    font-variant-alternates: inherit;
                    font-variant-east-asian: inherit; font-stretch:
                    inherit; line-height: inherit; vertical-align:
                    baseline; box-sizing: inherit;">a</span><span
                    style="font-family: inherit; font-size:
                    var(--fs-body1); font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-color); orphans: 2; widows:
                    2; background-color: var(--highlight-bg);"> com</span><span
                    class="hljs-selector-class" style="font-family:
                    inherit; font-size: 13px; font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-keyword); orphans: 2; widows:
                    2; margin: 0px; padding: 0px; border: 0px;
                    font-variant-ligatures: inherit;
                    font-variant-position: inherit;
                    font-variant-numeric: inherit;
                    font-variant-alternates: inherit;
                    font-variant-east-asian: inherit; font-stretch:
                    inherit; line-height: inherit; vertical-align:
                    baseline; box-sizing: inherit;">.whereismywifeserver</span><span
                    class="hljs-selector-class" style="font-family:
                    inherit; font-size: 13px; font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-keyword); orphans: 2; widows:
                    2; margin: 0px; padding: 0px; border: 0px;
                    font-variant-ligatures: inherit;
                    font-variant-position: inherit;
                    font-variant-numeric: inherit;
                    font-variant-alternates: inherit;
                    font-variant-east-asian: inherit; font-stretch:
                    inherit; line-height: inherit; vertical-align:
                    baseline; box-sizing: inherit;">.intent</span><span
                    class="hljs-selector-class" style="font-family:
                    inherit; font-size: 13px; font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-keyword); orphans: 2; widows:
                    2; margin: 0px; padding: 0px; border: 0px;
                    font-variant-ligatures: inherit;
                    font-variant-position: inherit;
                    font-variant-numeric: inherit;
                    font-variant-alternates: inherit;
                    font-variant-east-asian: inherit; font-stretch:
                    inherit; line-height: inherit; vertical-align:
                    baseline; box-sizing: inherit;">.TEST </span><span
                    class="hljs-attr" style="font-family: inherit;
                    font-size: 13px; font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-attribute); orphans: 2;
                    widows: 2; margin: 0px; padding: 0px; border: 0px;
                    font-variant-ligatures: inherit;
                    font-variant-position: inherit;
                    font-variant-numeric: inherit;
                    font-variant-alternates: inherit;
                    font-variant-east-asian: inherit; font-stretch:
                    inherit; line-height: inherit; vertical-align:
                    baseline; box-sizing: inherit;">--es</span><span
                    style="font-family: inherit; font-size:
                    var(--fs-body1); font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-color); orphans: 2; widows:
                    2; background-color: var(--highlight-bg);"> sms_body
                    "test </span><span class="hljs-selector-tag"
                    style="font-family: inherit; font-size: 13px;
                    font-style: inherit; font-variant-caps: inherit;
                    white-space: inherit; color:
                    var(--highlight-keyword); orphans: 2; widows: 2;
                    margin: 0px; padding: 0px; border: 0px;
                    font-variant-ligatures: inherit;
                    font-variant-position: inherit;
                    font-variant-numeric: inherit;
                    font-variant-alternates: inherit;
                    font-variant-east-asian: inherit; font-stretch:
                    inherit; line-height: inherit; vertical-align:
                    baseline; box-sizing: inherit;">from</span><span
                    style="font-family: inherit; font-size:
                    var(--fs-body1); font-style: inherit;
                    font-variant-caps: inherit; white-space: inherit;
                    color: var(--highlight-color); orphans: 2; widows:
                    2; background-color: var(--highlight-bg);"> adb"'</span></div>
                <div><br>
                </div>
                <div>That did not work, there where "rights" issues.</div>
                <div><br>
                </div>
                <div>I took a look at the commands documentation. I will
                  play a bit with that.</div>
                <div><br>
                </div>
                <div>Thanx for explaining!</div>
                <div><br>
                </div>
                <div><br>
                </div>
                <div>Am Samstag, dem 08.10.2022 um 18:54 +0200 schrieb
                  Michael Balzer:</div>
                <div> <br>
                </div>
                <div> <br>
                </div>
                <div> <br>
                </div>
                <blockquote type="cite" style="margin:0 0 0 .8ex;
                  border-left:2px #729fcf solid;padding-left:1ex">
                  <div> Chris,<br>
                    <br>
                    "com.openvehicles.OVMS.SendCommand" is the old
                    command action, it's still supported and should work
                    the same way as before, except there are some new
                    extras in the response intent.<br>
                    <br>
                    The "SendCommand" interface is raw MP function
                    level, that's why you need to prefix "7," for text
                    commands (7 = execute text command). Other MP
                    commands work just the same way as raw commands,
                    e.g. "20,<pin>" will lock the car if
                    supported. (<a class="moz-txt-link-freetext"
                      href="https://docs.openvehicles.com/en/latest/protocol_v2/commands.html"
                      moz-do-not-send="true">https://docs.openvehicles.com/en/latest/protocol_v2/commands.html</a>)<br>
                    <br>
                    The newly added command intent action is
                    "com.openvehicles.OVMS.action.COMMAND", it just
                    takes one extra "command", which takes the command
                    just as entered in the notification page. See help
                    there for the syntax, text commands can be given as
                    in the shell, to send the above MP lock command,
                    you'd enter "#20,<pin>". This action currently
                    always sends the command to the currently selected
                    vehicle.<br>
                    <br>
                    KWGT doesn't support sending intents, that's why
                    I've done all this.<br>
                    <br>
                    To call a stored command from KWGT, set a suitable
                    element's touch handler to "start shortcut". After
                    clicking on that action, you can open a selector. It
                    will show the list of shortcut providers installed
                    including the OVMS App now. Click on the OVMS entry,
                    then select the command from the list of stored
                    commands.<br>
                    <br>
                    Regards,<br>
                    Michael<br>
                    <br>
                    <br>
                  </div>
                  <div class="moz-cite-prefix">Am 08.10.22 um 17:54
                    schrieb Chris van der Meijden:<br>
                  </div>
                  <div>
                    <meta http-equiv="content-type" content="text/html;
                      charset=UTF-8">
                  </div>
                  <div>Hi Michael</div>
                  <div><br>
                  </div>
                  <div>I just installed the release apk on my degoogled
                    Lineageos 19.1.</div>
                  <div><br>
                  </div>
                  <div>Installation went without any troubles. I tested
                    the broadcast with my fireplace app via webinent:</div>
                  <div><br>
                  </div>
                  <div>action: 'com.openvehicles.OVMS.SendCommand',</div>
                  <div>extras: { </div>
                  <div>   sel_vehicleid: vid,</div>
                  <div>   sel_server_password: pwd,</div>
                  <div>   msg_command: '7,climatecontrol on'</div>
                  <div> }</div>
                  <div><br>
                  </div>
                  <div>It works still fine and I can see the response
                    dialog in the OVMS app.</div>
                  <div><br>
                  </div>
                  <div>I don't understand the "MP function". Do you have
                    an example for for i.e. "climatecontrol on" via
                    Buttons in KWGT? I'd love to test that :-)</div>
                  <div><br>
                  </div>
                  <div>And do you know if there is a way to send intent
                    broadcasts with KWGT? I tried with a "GLOBALE", but
                    I could not get that to work.</div>
                  <div><br>
                  </div>
                  <div>Regards</div>
                  <div><br>
                  </div>
                  <div>Chris</div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Am Samstag, dem 08.10.2022 um 15:37 +0200 schrieb
                    Michael Balzer:</div>
                  <div> <br>
                  </div>
                  <div> <br>
                  </div>
                  <div> <br>
                  </div>
                  <div> <br>
                  </div>
                  <blockquote type="cite" style="margin:0 0 0 .8ex;
                    border-left:2px #729fcf solid;padding-left:1ex">
                    <div> New test build:<br>
                    </div>
                    <div> </div>
                    <ul>
                      <li><span style="color: rgb(0, 0, 0); font-family:
                          ui-monospace, "Cascadia Mono",
                          "Segoe UI Mono", "Source Code
                          Pro", "Roboto Mono", Hack,
                          "Liberation Mono", Menlo, Monaco,
                          Consolas, monospace, monospace; font-size:
                          12px; font-style: normal;
                          font-variant-ligatures: normal;
                          font-variant-caps: normal; font-weight: 400;
                          letter-spacing: normal; orphans: 2;
                          text-align: start; text-indent: 0px;
                          text-transform: none; white-space: normal;
                          widows: 2; word-spacing: 0px;
                          -webkit-text-stroke-width: 0px;
                          background-color: rgb(255, 255, 248);
                          text-decoration-thickness: initial;
                          text-decoration-style: initial;
                          text-decoration-color: initial; display:
                          inline !important; float: none;"><a
                            class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-release.apk"
                            moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-release.apk</a></span></li>
                      <li><span style="color: rgb(0, 0, 0); font-family:
                          ui-monospace, "Cascadia Mono",
                          "Segoe UI Mono", "Source Code
                          Pro", "Roboto Mono", Hack,
                          "Liberation Mono", Menlo, Monaco,
                          Consolas, monospace, monospace; font-size:
                          12px; font-style: normal;
                          font-variant-ligatures: normal;
                          font-variant-caps: normal; font-weight: 400;
                          letter-spacing: normal; orphans: 2;
                          text-align: start; text-indent: 0px;
                          text-transform: none; white-space: normal;
                          widows: 2; word-spacing: 0px;
                          -webkit-text-stroke-width: 0px;
                          background-color: rgb(255, 255, 248);
                          text-decoration-thickness: initial;
                          text-decoration-style: initial;
                          text-decoration-color: initial; display:
                          inline !important; float: none;"><a
                            class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-debug.apk"
                            moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-debug.apk</a></span><span
                          style="color: rgb(0, 0, 0); font-family:
                          ui-monospace, "Cascadia Mono",
                          "Segoe UI Mono", "Source Code
                          Pro", "Roboto Mono", Hack,
                          "Liberation Mono", Menlo, Monaco,
                          Consolas, monospace, monospace; font-size:
                          12px; font-style: normal;
                          font-variant-ligatures: normal;
                          font-variant-caps: normal; font-weight: 400;
                          letter-spacing: normal; orphans: 2;
                          text-align: start; text-indent: 0px;
                          text-transform: none; white-space: normal;
                          widows: 2; word-spacing: 0px;
                          -webkit-text-stroke-width: 0px;
                          background-color: rgb(255, 255, 248);
                          text-decoration-thickness: initial;
                          text-decoration-style: initial;
                          text-decoration-color: initial; display:
                          inline !important; float: none;"></span></li>
                    </ul>
                    <div> <br>
                      This includes major extensions & code
                      rewrites, I think I'll bump the version to 4.0
                      when releasing this to Google Play.<br>
                      <br>
                      Main goal & outcome of this effort: command
                      bookmarks.<br>
                      <br>
                      The App now offers stored commands (see
                      notifications tab). Stored commands can be pinned
                      to the launcher and selected from third party Apps
                      like KWGT as shortcuts to execute on triggers /
                      actions.<br>
                      <br>
                      So this enabled custom widgets to include buttons
                      triggering car commands.<br>
                      <br>
                      Commands are given using the user syntax, i.e.
                      don't need the MP function prefix. You can still
                      call an MP function by using the user syntax, i.e.
                      "#…".<br>
                      <br>
                      Command responses are shown as a dialog with a
                      timeoout of 5 seconds unless you hold it by
                      touching or begin scrolling a long response. If
                      the App is paused it will be resumed and switch to
                      the notifications page (which keeps a record of
                      all commands & responses). If the App isn't
                      running, only the response dialog is shown on the
                      launcher.<br>
                      <br>
                      All this of course needs the service to be enabled
                      & allow commands to be sent.<br>
                      <br>
                      Command responses are also broadcasted now, so
                      KWGT et al can receive them -- but they will
                      currently need to know the command sent previously
                      and copy command responses if they need to keep
                      them, I don't know if KWGT can do that (Automagic
                      can). KWGT seems to only have a simple variable
                      storage model.<br>
                      <br>
                      I think about extending the ApiService to keep a
                      command queue so the broadcast can at least carry
                      the command, the response is supposedly produced
                      for. Unfortunately the MP API cannot guarantee
                      this, as it doesn't currently return a copy of the
                      original command or a command ID reference with
                      the response, so this would at best be a guess.
                      Not sure if users actually need this.<br>
                      <br>
                      <br>
                      Note: I haven't pushed the code changes to github
                      yet, I'd first like to get some test feedback.
                      I've tested this on Android 6, 7, 11 & 13, but
                      not on any degoogled Androids.<br>
                      <br>
                      Regards,<br>
                      Michael<br>
                      <br>
                      <br>
                    </div>
                    <div class="moz-cite-prefix">Am 26.09.22 um 17:26
                      schrieb Chris van der Meijden:<br>
                    </div>
                    <div>
                      <meta http-equiv="content-type"
                        content="text/html; charset=UTF-8">
                    </div>
                    <div>For an includable example it would be nice if
                      we could send the vehicle image from the OVMS app
                      to KWGT.</div>
                    <div><br>
                    </div>
                    <div>You can assign "Activities" to the "Touch"
                      event on an image. Would be cool if that works, so
                      we can start the remote climate control similar to
                      how I do that with my OVMS-Fireplace app:</div>
                    <div><br>
                    </div>
                    <div><a
                        href="https://github.com/devmarxx/OVMS-Fireplace"
                        moz-do-not-send="true"
                        class="moz-txt-link-freetext">https://github.com/devmarxx/OVMS-Fireplace</a></div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                    <div>Am Montag, dem 26.09.2022 um 13:56 +0200
                      schrieb Michael Balzer:</div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <div> <br>
                    </div>
                    <blockquote type="cite" style="margin:0 0 0 .8ex;
                      border-left:2px #729fcf solid;padding-left:1ex">
                      <div> Nice, please go ahead if you want to create
                        an includable example widget :-)<br>
                        <br>
                        I've found out you can also use progress bars to
                        display values, enable formula input on the
                        "step" & set the formular to e.g. $br(ovms,
                        car_soc)$.<br>
                        <br>
                        Works, although I need to convert all car model
                        values to strings for KWGT. Btw, I also need to
                        unroll the TPMS arrays, they are split into a
                        "_cnt" & "_<n>" variables. I need to
                        add an info on this to the wiki.<br>
                        <br>
                        I haven't found out how to send a broadcast from
                        KWGT yet, is that possible? That would enable
                        creating command shortcuts & buttons as with
                        Automagic.<br>
                        <br>
                        Regards,<br>
                        Michael<br>
                        <br>
                        <br>
                        <br>
                      </div>
                      <div class="moz-cite-prefix">Am 26.09.22 um 12:13
                        schrieb Chris van der Meijden:<br>
                      </div>
                      <div>
                        <meta http-equiv="content-type"
                          content="text/html; charset=UTF-8">
                      </div>
                      <div>Correction:</div>
                      <div><br>
                      </div>
                      <div>$br(ovms, <span style="color: rgb(36, 41,
                          47); font-family: -apple-system,
                          BlinkMacSystemFont, "Segoe UI",
                          Helvetica, Arial, sans-serif, "Apple
                          Color Emoji", "Segoe UI Emoji";
                          font-size: 16px; orphans: 2; widows: 2;
                          background-color: rgb(246, 248, 250);">sel_vehicle_label)$</span></div>
                      <div><br>
                      </div>
                      <div>Am Montag, dem 26.09.2022 um 12:05 +0200
                        schrieb Chris van der Meijden:</div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <div> <br>
                      </div>
                      <blockquote type="cite" style="margin:0 0 0 .8ex;
                        border-left:2px #729fcf solid;padding-left:1ex">
                        <div>I like the new KWGT Widget feature:</div>
                        <div><br>
                        </div>
                        <div><img
                            src="cid:part1.H9gIrSW7.Sa8hpPEL@expeedo.de"
                            class="" moz-do-not-send="true"
                            width="600px" height="492px"></div>
                        <div><br>
                        </div>
                        <div>Above is the Tesla Widget of our Model 3,
                          beneath that my OVMS KWGT widget of our VW
                          e-UP.</div>
                        <div><br>
                        </div>
                        <div>I had to allow "Passing data to other
                          apps". The syntax for getting the intent
                          variables to text in KWGT is i.e.</div>
                        <div><br>
                        </div>
                        <div>$br(ovms, car_sel_vehicle_label)$</div>
                        <div><br>
                        </div>
                        <div>Other variables can be found here:</div>
                        <div><a
href="https://github.com/openvehicles/Open-Vehicle-Android/wiki/Update-Broadcast-Intent-data"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">https://github.com/openvehicles/Open-Vehicle-Android/wiki/Update-Broadcast-Intent-data</a></div>
                        <div><br>
                        </div>
                        <div>The image is local on the filesystem of the
                          phone and does not come by intent.</div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div>Am Sonntag, dem 25.09.2022 um 16:23 +0200
                          schrieb Michael Balzer:</div>
                        <div> No, icon can only be 0 from the else
                          branch, in that case it shall fall back to the
                          default image.<br>
                          <br>
                          But I've meanwhile found (I think) your
                          maps/track crash, commit is already in the
                          hub. The checkbox handler didn't check if the
                          map object is initialized.<br>
                          <br>
                        </div>
                        <div><a class="moz-txt-link-freetext"
href="https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/FragMap.java#L319"
                            moz-do-not-send="true">https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/FragMap.java#L319</a><br>
                          <br>
                          Regards,<br>
                          Michael<br>
                          <br>
                          <br>
                        </div>
                        <div class="moz-cite-prefix">Am 25.09.22 um
                          15:46 schrieb Chris van der Meijden:<br>
                        </div>
                        <div>
                          <meta http-equiv="content-type"
                            content="text/html; charset=UTF-8">
                        </div>
                        <div>Just guessing, but does </div>
                        <div><br>
                        </div>
                        <div>int icon;</div>
                        <div><br>
                        </div>
                        <div>in <a
title="OpenVehicleApp/src/main/java/com/openvehicles/OVMS/receiver/MyGcmListenerService.java"
                            class="Link--primary Truncate-text"
href="https://github.com/devmarxx/Open-Vehicle-Android/commit/3c13100a6a25257fe694be3050a1b76ca2b6fb44#diff-c13198cb33bb355f600c37f8889cedcb72346835dbb7e357c031c57aba424487"
                            style="box-sizing: border-box;
                            background-color: rgb(246, 248, 250);
                            min-width: 1ch; max-width: fit-content;
                            overflow: hidden; text-overflow: ellipsis;
                            white-space: nowrap; font-family:
                            ui-monospace, SFMono-Regular, "SF
                            Mono", Menlo, Consolas,
                            "Liberation Mono", monospace;
                            font-size: 12px; font-variant-ligatures:
                            normal; orphans: 2; widows: 2; color:
                            var(--color-accent-fg) !important;"
                            moz-do-not-send="true">MyGcmListenerService.java</a> at
                          line 132</div>
                        <div><br>
                        </div>
                        <div>not need to be initialized like</div>
                        <div><br>
                        </div>
                        <div>int icon = 0;</div>
                        <div><br>
                        </div>
                        <div>now you use</div>
                        <div><br>
                        </div>
                        <div>
                          <div><span style="color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">.</span><span class="pl-en" style="box-sizing: border-box; color: var(--color-prettylights-syntax-entity); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">setSmallIcon</span><span style="color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">(</span><span class="x x-first x-last" style="box-sizing: border-box; border-radius: 0.2em; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">(</span><span class="pl-s1" style="box-sizing: border-box; color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">icon</span><span class="x x-first" style="box-sizing: border-box; border-top-left-radius: 0.2em; border-bottom-left-radius: 0.2em; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;"> != </span><span class="pl-c1 x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">0</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">) ? </span><span class="pl-s1 x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">icon</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;"> : </span><span class="pl-smi x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">R</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">.</span><span class="pl-s1 x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">drawable</span><span class="x" style="box-sizing: border-box; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">.</span><span class="pl-s1 x x-last" style="box-sizing: border-box; border-top-right-radius: 0.2em; border-bottom-right-radius: 0.2em; color: rgb(36, 41, 47); background-color: var(--color-diff-blob-addition-word-bg); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; text-decoration-thickness: initial;">map_car_default</span><span style="color: rgb(36, 41, 47); font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; font-size: 12px; font-variant-ligatures: normal; orphans: 2; white-space: pre; widows: 2; background-color: rgb(230, 255, 236); text-decoration-thickness: initial;">)</span></div>
                        </div>
                        <div><br>
                        </div>
                        <div>at line 150 now?</div>
                        <div><br>
                        </div>
                        <div>As the images and the Google stuff are
                          related to that integer it made me thinking
                          ...</div>
                        <div><br>
                        </div>
                        <div><br>
                        </div>
                        <div>Am Sonntag, dem 25.09.2022 um 11:52 +0200
                          schrieb Michael Balzer:</div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <div> <br>
                        </div>
                        <blockquote type="cite" style="margin:0 0 0
                          .8ex; border-left:2px #729fcf
                          solid;padding-left:1ex">
                          <div> Chris,<br>
                            <br>
                            that's not a crash log, that's just a
                            warning.<br>
                            <br>
                            On that warning: the App requests
                            android.permission.ACCESS_FINE_LOCATION by
                            it's manifest. Maybe with LineageOS you need
                            to manually give it that permission?<br>
                            <br>
                            A crash log has class "E" (error) and
                            includes an exception and a backtrace, for
                            an example see: <a
                              class="moz-txt-link-freetext"
                              href="https://issuetracker.google.com/issues/201308676#comment4"
                              moz-do-not-send="true">https://issuetracker.google.com/issues/201308676#comment4</a><br>
                            <br>
                            On the crash: maybe it's because you don't
                            have the Google components, not sure if
                            FragMap can handle that.<br>
                            <br>
                            The forum post relates to /e/OS … maybe I
                            need some emulator images running
                            alternative Androids now…<br>
                            <br>
                            Regards,<br>
                            Michael<br>
                            <br>
                            <br>
                          </div>
                          <div class="moz-cite-prefix">Am 25.09.22 um
                            11:40 schrieb Chris van der Meijden:<br>
                          </div>
                          <div>
                            <meta http-equiv="content-type"
                              content="text/html; charset=UTF-8">
                          </div>
                          <div>Hey Michael,</div>
                          <div><br>
                          </div>
                          <div>this is from logcat when I change "Track
                            vehicle" and the app crashes:</div>
                          <div><br>
                          </div>
                          <div>09-25 11:16:01.410 1710 1839 W
                            BroadcastQueue: Permission Denial: receiving
                            Intent {
                            act=android.intent.action.SERVICE_STATE
                            flg=0x1000010 (has extras) } to
                            ProcessRecord{8dcdd54
                            2053:com.android.systemui/u0a148} (pid=2053,
                            uid=10148) requires
                            android.permission.ACCESS_FINE_LOCATION due
                            to sender android (uid 1001)</div>
                          <div><br>
                          </div>
                          <div>I saw now, that this crash also happens
                            in the production app.</div>
                          <div><br>
                          </div>
                          <div>The widget is running well. I will keep
                            the app running for while and will see if it
                            stays stable.</div>
                          <div><br>
                          </div>
                          <div>Regards</div>
                          <div><br>
                          </div>
                          <div>Chris</div>
                          <div><br>
                          </div>
                          <div>Am Samstag, dem 24.09.2022 um 23:02 +0200
                            schrieb Michael Balzer:</div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <div> <br>
                          </div>
                          <blockquote type="cite" style="margin:0 0 0
                            .8ex; border-left:2px #729fcf
                            solid;padding-left:1ex">
                            <div> Chris,<br>
                              <br>
                              thanks for testing. A crash log would help
                              on any crashes you see. Btw, I don't bump
                              the revision until the actual release
                              build.<br>
                              <br>
                              Crashes related to the car image don't
                              occur immediately, it sometimes takes
                              hours of use before it happens. When it
                              does, clearing the App cache fixes the
                              crash for another random period.<br>
                              <br>
                              Speed optimization was one goal. What
                              about the widget?<br>
                              <br>
                              Thanks,<br>
                              Michael<br>
                              <br>
                              <br>
                            </div>
                            <div class="moz-cite-prefix">Am 24.09.22 um
                              22:43 schrieb Chris van der Meijden:<br>
                            </div>
                            <div>
                              <meta http-equiv="content-type"
                                content="text/html; charset=UTF-8">
                            </div>
                            <div>Hey Michael,</div>
                            <div><br>
                            </div>
                            <div>I just installed the "release" Version
                              on LineageOS 19.1 (Android 12) without
                              Google components.</div>
                            <div><br>
                            </div>
                            <div>The vehicle setup was without any
                              troubles. I could select the yellow VW
                              e-UP image without crashing.</div>
                            <div><br>
                            </div>
                            <div>The App version is set wrong under
                              "Vehicle info" (3.19.1, 2021122401).</div>
                            <div><br>
                            </div>
                            <div>Everything seems to be faster than
                              before.</div>
                            <div><br>
                            </div>
                            <div>When I change the checkbox on "Track
                              vehicle" under "Position" the App crashes.
                              But after a new start of the app the value
                              of the checkbox has changed.</div>
                            <div><br>
                            </div>
                            <div>Perhaps this first impression is of
                              some help.</div>
                            <div><br>
                            </div>
                            <div>Regards</div>
                            <div><br>
                            </div>
                            <div>Chris</div>
                            <div><br>
                            </div>
                            <div>Am Samstag, dem 24.09.2022 um 20:10
                              +0200 schrieb Michael Balzer:</div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <div> <br>
                            </div>
                            <blockquote type="cite" style="margin:0 0 0
                              .8ex; border-left:2px #729fcf
                              solid;padding-left:1ex">
                              <div> Everyone,<br>
                                <br>
                                I'm currently working on the next
                                Android release including KustomWidget
                                support and a native app widget based on
                                the old Automagic gauge widget.<br>
                                <br>
                                Automagic has been dead for some time
                                now, and it keeps crashing on Androids
                                >= 7.<br>
                                <br>
                                My changes so far are in the hub, APK
                                builds are available here:<br>
                              </div>
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div> </div>
                              <ul>
                                <li><a class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-release.apk"
                                    moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-release.apk</a></li>
                                <li>debug build for extended logging: <a
                                    class="moz-txt-link-freetext"
href="https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-debug.apk"
                                    moz-do-not-send="true">https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-debug.apk</a></li>
                              </ul>
                              <div> <br>
                                There's an issue with the App related to
                                Android >= 10 though, which I haven't
                                found yet. It's been reported in the
                                forum:<br>
                              </div>
                              <div><br>
                              </div>
                              <div><br>
                              </div>
                              <div> </div>
                              <ul>
                                <li><a class="moz-txt-link-freetext"
                                    href="https://www.openvehicles.com/node/3410"
                                    moz-do-not-send="true">https://www.openvehicles.com/node/3410</a></li>
                              </ul>
                              <p>I could use some help with that, I've
                                got no idea other than blaming Android.<br>
                              </p>
                              <div> I've seen the effect in my emulator
                                tests, and it seems to occur more
                                frequently with non-roadster images.<br>
                                <br>
                                Regards,<br>
                                Michael<br>
                                <br>
                              </div>
                              <pre><div>_______________________________________________</div></pre>
                              <pre><div>OvmsDev mailing list</div></pre>
                              <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                              <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                            </blockquote>
                            <div><br>
                            </div>
                            <div><span></span></div>
                            <div> <br>
                              <fieldset
                                class="moz-mime-attachment-header"></fieldset>
                            </div>
                            <pre>_______________________________________________</pre>
                            <pre>OvmsDev mailing list</pre>
                            <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                            <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                            <div> <br>
                            </div>
                            <pre><div>_______________________________________________</div></pre>
                            <pre><div>OvmsDev mailing list</div></pre>
                            <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                            <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                          </blockquote>
                          <div><br>
                          </div>
                          <div><span></span></div>
                          <div> <br>
                            <fieldset class="moz-mime-attachment-header"></fieldset>
                          </div>
                          <pre>_______________________________________________</pre>
                          <pre>OvmsDev mailing list</pre>
                          <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                          <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                          <div> <br>
                          </div>
                          <pre><div>_______________________________________________</div></pre>
                          <pre><div>OvmsDev mailing list</div></pre>
                          <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                          <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                        </blockquote>
                        <div><br>
                        </div>
                        <div><span></span></div>
                        <div> <br>
                          <fieldset class="moz-mime-attachment-header"></fieldset>
                        </div>
                        <pre>_______________________________________________</pre>
                        <pre>OvmsDev mailing list</pre>
                        <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                        <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                        <div> <br>
                        </div>
                        <pre><div>_______________________________________________</div></pre>
                        <pre><div>OvmsDev mailing list</div></pre>
                        <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                        <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                        <div><br>
                        </div>
                        <div><span></span></div>
                        <div>_______________________________________________<br>
                        </div>
                        <div>OvmsDev mailing list<br>
                        </div>
                        <div><a
                            href="mailto:OvmsDev@lists.openvehicles.com"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
                        </div>
                        <div><a
                            href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                            moz-do-not-send="true"
                            class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
                        </div>
                      </blockquote>
                      <div><br>
                      </div>
                      <div><span></span></div>
                      <div> <br>
                        <fieldset class="moz-mime-attachment-header"></fieldset>
                      </div>
                      <pre>_______________________________________________</pre>
                      <pre>OvmsDev mailing list</pre>
                      <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                      <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                      <div> <br>
                      </div>
                      <pre><div>_______________________________________________</div></pre>
                      <pre><div>OvmsDev mailing list</div></pre>
                      <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                      <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                    </blockquote>
                    <div><br>
                    </div>
                    <div><span></span></div>
                    <div> <br>
                      <fieldset class="moz-mime-attachment-header"></fieldset>
                    </div>
                    <pre>_______________________________________________</pre>
                    <pre>OvmsDev mailing list</pre>
                    <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                    <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                    <div> <br>
                    </div>
                    <pre><div>_______________________________________________</div></pre>
                    <pre><div>OvmsDev mailing list</div></pre>
                    <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                    <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                  </blockquote>
                  <div><br>
                  </div>
                  <div><span></span></div>
                  <div> <br>
                    <fieldset class="moz-mime-attachment-header"></fieldset>
                  </div>
                  <pre>_______________________________________________</pre>
                  <pre>OvmsDev mailing list</pre>
                  <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                  <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                  <div> <br>
                  </div>
                  <pre><div>_______________________________________________</div></pre>
                  <pre><div>OvmsDev mailing list</div></pre>
                  <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                  <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
                </blockquote>
                <div><br>
                </div>
                <div><span></span></div>
                <div> <br>
                  <fieldset class="moz-mime-attachment-header"></fieldset>
                </div>
                <pre>_______________________________________________</pre>
                <pre>OvmsDev mailing list</pre>
                <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
                <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
                <div> <br>
                </div>
                <pre><div>_______________________________________________</div></pre>
                <pre><div>OvmsDev mailing list</div></pre>
                <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
                <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
              </blockquote>
              <div><br>
              </div>
              <div><span></span></div>
              <div> <br>
                <fieldset class="moz-mime-attachment-header"></fieldset>
              </div>
              <pre>_______________________________________________</pre>
              <pre>OvmsDev mailing list</pre>
              <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
              <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
              <div> <br>
              </div>
              <pre><div>_______________________________________________</div></pre>
              <pre><div>OvmsDev mailing list</div></pre>
              <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a></div></pre>
              <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></div></pre>
            </blockquote>
            <div><br>
            </div>
            <div><span></span></div>
            <div> <br>
              <fieldset class="moz-mime-attachment-header"></fieldset>
            </div>
            <pre>_______________________________________________</pre>
            <pre>OvmsDev mailing list</pre>
            <pre><a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a></pre>
            <pre><a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a></pre>
            <div> <br>
            </div>
            <pre><div>_______________________________________________
</div></pre>
            <pre><div>OvmsDev mailing list
</div></pre>
            <pre><div><a href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a>
</div></pre>
            <pre><div><a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</div></pre>
          </blockquote>
          <div><br>
          </div>
          <div><span></span></div>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
  </body>
</html>