<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">OK. This is in 3.2.010-6-gac7c26d.<div class=""><br class=""></div><div class="">@Greg can you try this one (OTA) and let me know if you see any more of these alerts.</div><div class=""><br class=""></div><div class="">Regards, Mark.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 9 Feb 2020, at 5:50 PM, Michael Balzer <<a href="mailto:dexter@expeedo.de" class="">dexter@expeedo.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
  
  <div class="">
    Yes, sounds good to me.<br class="">
    <br class="">
    Regards,<br class="">
    Michael<br class="">
    <br class="">
    <br class="">
    <div class="moz-cite-prefix">Am 09.02.20 um 09:53 schrieb Mark
      Webb-Johnson:<br class="">
    </div>
    <blockquote type="cite" cite="mid:0C5F9CD4-AC22-4373-96EC-6C64787DE17F@webb-johnson.net" class="">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" class="">
      <div class="">The Tesla Roadster transmits it’s sleep/awake
        status:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">ID 0x100 B1=0x96</div>
      </blockquote>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;" class="">
          <div class="">B4=doors3</div>
        </blockquote>
      </blockquote>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <blockquote style="margin: 0 0 0 40px; border: none; padding:
          0px;" class="">
          <blockquote style="margin: 0 0 0 40px; border: none; padding:
            0px;" class="">
            <div class="">bit1 = awake/asleep (awake=1 / asleep=0)</div>
          </blockquote>
        </blockquote>
      </blockquote>
      <div class=""><br class="">
      </div>
      <div class="">In the v2 code, we simply sent this as doors3 value
        (in the ‘D’ protocol message).</div>
      <div class=""><br class="">
      </div>
      <div class="">The v3 code has this as:</div>
      <div class=""><br class="">
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class="">case 0x96: // Doors / Charging yes/no</div>
          <div class="">  {</div>
          <div class="">  m_awake = d[3] & 0x01;</div>
        </div>
      </blockquote>
      <div class="">
        <div class=""><br class="">
        </div>
        <div class="">Which was wrong (bit #0). I fixed it in recent commit
          39cdb7e19e5a3b88ab7217a9adb0cb6008278ab1 to 'm_awake = d[3]
          & 0x02’ (bit #1), and that now correctly tracks the
          vehicle state. This was to address bug 'Tesla Roadster:
          Vehicle AWAKE metric not correct #328’.</div>
        <div class=""><br class="">
        </div>
        <div class="">Over the years, it seems that the meaning of doors3 has
          changed. It originally just specified bit #1, but now the
          protocol specifies:</div>
        <div class=""><br class="">
        </div>
      </div>
      <blockquote style="margin: 0 0 0 40px; border: none; padding:
        0px;" class="">
        <div class="">
          <div class="">
            <div class="page" title="Page 11">
              <div class="layoutArea">
                <div class="column">
                  <ul style="list-style-type: none" class="">
                    <li class=""><p class=""><span style="color: rgb(0, 0, 10);
                          font-style: normal; font-size: 14px;" class=""><font class="" face="Andale Mono">Door state #3
                          </font></span></p><p class=""><span style="color: rgb(0, 0, 10);
                          font-style: normal; font-size: 14px;" class=""><font class="" face="Andale Mono">bit0 = Car awake
                            (turned on=1 / off=0)<br class="">
                            bit1 = Cooling pump (on=1/off=0)<br class="">
                            bit6 = 1=Logged into motor controller<br class="">
                            bit7 = 1=Motor controller in configuration
                            mode</font></span><span style="font-size:
                          12.000000pt; font-family: 'ArialMT'; color:
                          rgb(0.000000%, 0.000000%, 3.921000%)" class=""> </span></p>
                    </li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
        </div>
      </blockquote>
      <div class="">
        <div class="">The Tesla Roadster code in v2 never adhered to that, and
          just set doors3 to whatever it saw on the bus. However, I’ve
          never seen values other than 0x00 or 0x02 on that byte.
          Certainly, no known value for bit#0 (car turned on). I guess
          this is where the confusion from the conversion v2 -> v3
          came from (the protocol document saying ‘awake’ in bit#0, vs
          cooling pump in bit #1). Tesla Roadster users know the cooling
          pump as ‘awake/sleep’.</div>
        <div class=""><br class="">
        </div>
        <div class="">So, where are we now? A general car can be defined as at
          least these states:</div>
        <div class=""><br class="">
        </div>
        <div class="">
          <ol class="MailOutline">
            <li class="">Ignition off, asleep, consuming as little power
              as possible</li>
            <li class="">Ignition off, awake, with some systems using
              power</li>
            <li class="">Ignition on to the first stop (just some
              systems on, but car not started)</li>
            <li class="">Ignition on all the way (engine running or
              starting)</li>
            <li class="">Ignition past on all the way (turning the
              engine starter motor)</li>
          </ol>
        </div>
        <div class=""><br class="">
        </div>
        <div class="">We can ignore #5 for electric cars.</div>
        <div class=""><br class="">
        </div>
        <div class="">In v3, we have these metrics:</div>
        <div class=""><br class="">
        </div>
        <div class="">
          <ul class="MailOutline">
            <li class="">v.e.awake</li>
            <li class="">v.e.on</li>
            <li class="">v.e.charging12v</li>
          </ul>
        </div>
        <div class=""><br class="">
        </div>
        <div class="">I assumed that v.e.awake corresponds to state #2, and
          v.e.on to states #3 and/or #4.</div>
        <div class=""><br class="">
        </div>
        <div class="">The v.e.charging12v doesn’t really work for the Roadster.
          The cooling pump is not related to the little 12v battery
          charging system.</div>
        <div class=""><br class="">
        </div>
        <div class="">I guess I could add a standard metric ‘v.e.aux12v’ to
          indicate the auxiliary 12v system is on (and then set
          v.e.awake and v.e.ok corresponding to the ignition switch). Is
          that acceptable?</div>
        <div class=""><br class="">
        </div>
        <div class="">Regards, Mark.</div>
        <div class=""><br class="">
        </div>
        <div class="">
          <blockquote type="cite" class="">
            <div class="">On 8 Feb 2020, at 5:46 AM, Greg D. <<a href="mailto:gregd2350@gmail.com" class="" moz-do-not-send="true">gregd2350@gmail.com</a>>
              wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div text="#000000" bgcolor="#FFFFFF" class=""> Hi
                Michael, Mark,<br class="">
                <br class="">
                Ok, very interesting that this is an old feature.  I
                only just started seeing the message very recently. 
                What changed?<br class="">
                <br class="">
                As to "Awake" vs "On" vs "Ignited", they are definitely
                different.  I am seeing the correct state reflected in
                v.e.awake and v.e.on.  Simply opening the car door when
                the car is asleep will wake it up (v.e.awake turns to
                yes), and inserting the key and moving it to the
                "Accessory" position (first notch) moves the state to
                "On" (both metrics are "yes").  Note that the car is not
                On (drivable) until the key is moved one notch farther;
                I'm presuming that's "Ignited" in your terminology.  <br class="">
                <br class="">
                But something has changed.  I have an event script tied
                to vehicle.on which activates ext12v power to enable a
                HUD or similar (*).  Simply awakening the car triggers
                the script, a behavior I believe is new, and incorrect. 
                The script should get activated only when the key is
                moved to Accessory (your "On" state).  When the car goes
                directly back to sleep after a few minutes, the
                vehicle.off script correctly does not trigger.  Turning
                the car to Accessory, then Off (removing the key), does
                correctly trigger the vehicle.off script, even though
                the car is still Awake at the time.<br class="">
                <br class="">
                So what I think is happening with the "Vehicle is
                idling" message is that it's a side effect of some logic
                change to what "on" is, that it's being sensed and
                triggered by "Awake" instead of "On".  The car is
                definitely Awake during charging, but it is not On.  And
                not being On, the Idle message shouldn't be triggered,
                nor should my HUD be turned on.<br class="">
                <br class="">
                What changed?<br class="">
                <br class="">
                Greg<br class="">
                <br class="">
                (*)  Actually, the script does a bit more, to work
                around the CAN3 bus hangs:<br class="">
                <meta http-equiv="content-type" content="text/html;
                  charset=UTF-8" class="">
                <br class="">
                <tt class="">power ext12v off</tt><tt class=""><br class="">
                </tt><tt class="">obdii ecu stop</tt><tt class=""><br class="">
                </tt><tt class="">obdii ecu start can3</tt><tt class=""><br class="">
                </tt><tt class="">power ext12v on</tt><br class="">
                <br class="">
                <br class="">
                <br class="">
                <div class="moz-cite-prefix">Michael Balzer wrote:<br class="">
                </div>
                <blockquote type="cite" cite="mid:39ff043f-34e9-4f28-29cb-4d24ce43a65c@expeedo.de" class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=UTF-8" class="">
                  <div class="moz-cite-prefix">Greg, Mark,<br class="">
                    <br class="">
                    that's actually a very old feature originating from
                    V2. It's meant to alert about a car left turned on,
                    which is both a potential security issue (key is
                    plugged) and a potential fire/explosion threat on
                    vehicles that may overcharge the 12V battery from
                    the DC/DC converter. It's also main battery
                    drainage.<br class="">
                    <br class="">
                    This also needs to trigger during charging, but of
                    course not if the vehicle wakes itself for some
                    internal checks or OTA updates / whatever.<br class="">
                    <br class="">
                    This was/is using the definition of "awake" as
                    "turned on", and "on" as "ignited". It seems all
                    cars except the roadster follow this scheme now, so
                    maybe we should separate the "maintenance awake"
                    state?<br class="">
                    <br class="">
                    Regards,<br class="">
                    Michael<br class="">
                    <br class="">
                    <br class="">
                    Am 07.02.20 um 08:43 schrieb Mark Webb-Johnson:<br class="">
                  </div>
                  <blockquote type="cite" cite="mid:2E9FB03E-E1F9-4471-85DC-3530F197795B@webb-johnson.net" class="">
                    <meta http-equiv="Content-Type" content="text/html;
                      charset=UTF-8" class="">
                    Greg,
                    <div class=""><br class="">
                    </div>
                    <div class="">That would be the system thinking the
                      vehicle is asleep, but speed > 0.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">I did fix the roadster awake/sleep
                      flag (which was not being set correctly before),
                      so most likely this is something new.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">The logic is in VehicleTicker1() in
                      vehicle.cpp. It is:</div>
                    <div class=""><br class="">
                    </div>
                    <blockquote style="margin: 0 0 0 40px; border: none;
                      padding: 0px;" class="">
                      <div class="">
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">// Idle alert:</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">if
                              (!StdMetrics.ms_v_env_awake->AsBool()
                              || StdMetrics.ms_v_pos_speed->AsFloat()
                              > 0)</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  {</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  m_idle_ticker = 15 * 60;
                              // first alert after 15 minutes</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  }</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">else if (m_idle_ticker
                              > 0 && --m_idle_ticker == 0)</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  {</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  NotifyVehicleIdling();</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  m_idle_ticker = 60 * 60;
                              // successive alerts every 60 minutes</span></font></div>
                        <div class=""><font class="" face="Andale Mono"><span style="font-style: normal; font-size:
                              14px;" class="">  }</span></font></div>
                      </div>
                    </blockquote>
                    <div class="">
                      <div class=""><br class="">
                      </div>
                      <div class="">So, that resets the fifteen minute
                        timer whenever the vehicle is either asleep OR
                        speed>0 (driving). Otherwise the timer counts
                        down, and after 15 minutes the alert is raised
                        (and every 60 minutes thereafter until either
                        the vehicle goes to sleep or speed>0).</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">For roadster, that work work. The
                        car can ‘awake’ itself for charging,etc.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">I am not really sure why we are
                        using ms_v_env_awake in the first place here.
                        Why do we care if the vehicle is awake or not?
                        Surely we should be looking at ms_v_env_on (ie;
                        vehicle switched on)? But for JDEMO users that
                        would cause a problem (as for they have to leave
                        the vehicle ignition on while charging).</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">Maybe simplest to disable this alert
                        for Roadster, unless someone else has any better
                        ideas. In any case, we need to think about using
                        ms_v_env_awake vs ms_v_env_on.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">Regards, Mark.</div>
                      <div class=""><br class="">
                      </div>
                      <div class="">
                        <blockquote type="cite" class="">
                          <div class="">On 7 Feb 2020, at 2:22 AM, Greg
                            D. <<a href="mailto:gregd2350@gmail.com" class="" moz-do-not-send="true">gregd2350@gmail.com</a>>
                            wrote:</div>
                          <br class="Apple-interchange-newline">
                          <div class="">
                            <div class="">Hi folks,<br class="">
                              <br class="">
                              I'm starting to get an alert "Vehicle is
                              idling / stopped turned on"<br class="">
                              when my Roadster is charging.  Seems to
                              occur every hour.<br class="">
                              <br class="">
                              Is this something new with OVMSv3, or did
                              something change / break on my<br class="">
                              car?<br class="">
                              <br class="">
                              Greg<br class="">
                              <br class="">
_______________________________________________<br class="">
                              OvmsDev mailing list<br class="">
                              <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
                              <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><br class="">
                            </div>
                          </div>
                        </blockquote>
                      </div>
                      <br class="">
                    </div>
                    <br class="">
                    <fieldset class="mimeAttachmentHeader"></fieldset>
                    <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<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>
                  </blockquote>
                  <br class="">
                  <br class="">
                  <pre class="moz-signature" cols="144">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
                  <br class="">
                  <fieldset class="mimeAttachmentHeader"></fieldset>
                  <br class="">
                  <pre class="" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<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>
                </blockquote>
                <br class="">
              </div>
              _______________________________________________<br class="">
              OvmsDev mailing list<br class="">
              <a href="mailto:OvmsDev@lists.openvehicles.com" class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br class="">
              <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br class="">
      <fieldset class="mimeAttachmentHeader"></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 class="">
    <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
  </div>

_______________________________________________<br class="">OvmsDev mailing list<br class=""><a href="mailto:OvmsDev@lists.openvehicles.com" class="">OvmsDev@lists.openvehicles.com</a><br class="">http://lists.openvehicles.com/mailman/listinfo/ovmsdev<br class=""></div></blockquote></div><br class=""></div></body></html>