[Ovmsdev] Android App beta

Michael Balzer dexter at expeedo.de
Mon Oct 10 04:11:25 HKT 2022


Am 09.10.22 um 20:40 schrieb van der Meijden, Chris:
> Features and Parameters are not showing. Clicking there brings me to 
> Messages.
Oops, yes, confirmed.

>
> Starting in landscape and then turning to portrait is fixed :-)
Nothing changed with the old ScaleLayout, it's on my list, but with low 
priority.

So I don't think it's fixed, was working sometimes before.


>
>
> Am 9. Oktober 2022 20:22:50 MESZ schrieb Chris van der Meijden 
> <chris at arachnon.de>:
>
>     It compiled and runs without troubles, but I needed to build with
>
>     gradlew build -x lint
>
>
>     Am Sonntag, dem 09.10.2022 um 19:16 +0200 schrieb Michael Balzer:
>>     Chris, Michael, thanks for tests & feedback.
>>
>>     Code changes so far are now in the hub:
>>     https://github.com/openvehicles/Open-Vehicle-Android/commit/c23b3dbd772bdae7e82601797cd3a71c2623a78c
>>
>>     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.
>>
>>     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.
>>
>>     Regards,
>>     Michael
>>
>>
>>     Am 09.10.22 um 17:09 schrieb Chris van der Meijden:
>>     I tested the new build. Everything is working fine for me.
>>
>>     I think it is a good idea to restrict the respond to only
>>     action.COMMAND and leave SendCommand for background operation.
>>
>>
>>     Am Sonntag, dem 09.10.2022 um 16:05 +0200 schrieb Michael Balzer:
>>
>>>     Chris, Michael,
>>>
>>>     new builds with the announced new security scheme:
>>>
>>>       * https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-release.apk
>>>       * https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100901-debug.apk
>>>
>>>     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.
>>>
>>>     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.
>>>
>>>     So with am, you can now use:
>>>
>>>       * am broadcast -a com.openvehicles.OVMS.SendCommand -e apikey
>>>         … -e command "stat"
>>>       * am start -a com.openvehicles.OVMS.action.COMMAND -e apikey …
>>>         -e command "stat"
>>>
>>>     The second guarantees the activity is started, so the response
>>>     will be visible.
>>>
>>>     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.
>>>
>>>     Android 10 (API 29) has a new limitation for displaying results
>>>     (starting UI activities) from a service
>>>     (https://developer.android.com/guide/components/activities/background-starts),
>>>     so that works only by chance now anyway.
>>>
>>>     Regards,
>>>     Michael
>>>
>>>
>>>     Am 09.10.22 um 12:45 schrieb Chris van der Meijden:
>>>     Hi Michael,
>>>
>>>     thank you for your response. As always of great help :-)
>>>
>>>     Good that you could find a possible security risc concerning the
>>>     credentials.
>>>
>>>     Regards
>>>
>>>     Chris
>>>
>>>
>>>     Am Sonntag, dem 09.10.2022 um 10:53 +0200 schrieb Michael Balzer:
>>>
>>>
>>>>     Chris,
>>>>
>>>>     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.
>>>>
>>>>     With your (rooted) Lineageos you should be able to use it like
>>>>     this:
>>>>
>>>>     am broadcast -a com.openvehicles.OVMS.SendCommand -e
>>>>     sel_vehicleid xxx -e sel_server_password xxx -e msg_command
>>>>     "7,stat"
>>>>
>>>>     And I missed mentioning I also added support for user command
>>>>     syntax to "SendCommand", so you can now alternatively do
>>>>
>>>>     am broadcast -a com.openvehicles.OVMS.SendCommand -e
>>>>     sel_vehicleid xxx -e sel_server_password xxx -e command "stat"
>>>>
>>>>     Playing with am, I found out…
>>>>
>>>>     am start -n com.openvehicles.OVMS/.api.CommandActivity -a
>>>>     com.openvehicles.OVMS.action.COMMAND -e command "stat"
>>>>
>>>>     …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.
>>>>
>>>>     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.
>>>>
>>>>     Regards,
>>>>     Michael
>>>>
>>>>
>>>>
>>>>     Am 08.10.22 um 19:30 schrieb Chris van der Meijden:
>>>>     I have been playing with the "SH" function of KWGT and tried to
>>>>     send a broadcast over the shell, like adb:
>>>>
>>>>     'am broadcast -acom.whereismywifeserver.intent.TEST
>>>>     --essms_body "test fromadb"'
>>>>
>>>>     That did not work, there where "rights" issues.
>>>>
>>>>     I took a look at the commands documentation. I will play a bit
>>>>     with that.
>>>>
>>>>     Thanx for explaining!
>>>>
>>>>
>>>>     Am Samstag, dem 08.10.2022 um 18:54 +0200 schrieb Michael Balzer:
>>>>
>>>>
>>>>
>>>>>     Chris,
>>>>>
>>>>>     "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.
>>>>>
>>>>>     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.
>>>>>     (https://docs.openvehicles.com/en/latest/protocol_v2/commands.html)
>>>>>
>>>>>     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.
>>>>>
>>>>>     KWGT doesn't support sending intents, that's why I've done all
>>>>>     this.
>>>>>
>>>>>     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.
>>>>>
>>>>>     Regards,
>>>>>     Michael
>>>>>
>>>>>
>>>>>     Am 08.10.22 um 17:54 schrieb Chris van der Meijden:
>>>>>     Hi Michael
>>>>>
>>>>>     I just installed the release apk on my degoogled Lineageos 19.1.
>>>>>
>>>>>     Installation went without any troubles. I tested the broadcast
>>>>>     with my fireplace app via webinent:
>>>>>
>>>>>     action: 'com.openvehicles.OVMS.SendCommand',
>>>>>     extras: {
>>>>>        sel_vehicleid: vid,
>>>>>        sel_server_password: pwd,
>>>>>        msg_command: '7,climatecontrol on'
>>>>>     }
>>>>>
>>>>>     It works still fine and I can see the response dialog in the
>>>>>     OVMS app.
>>>>>
>>>>>     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 :-)
>>>>>
>>>>>     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.
>>>>>
>>>>>     Regards
>>>>>
>>>>>     Chris
>>>>>
>>>>>
>>>>>     Am Samstag, dem 08.10.2022 um 15:37 +0200 schrieb Michael Balzer:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>     New test build:
>>>>>>
>>>>>>       * https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-release.apk
>>>>>>       * https://dexters-web.de/f/tw-beta/OpenVehicleApp-22100801-debug.apk
>>>>>>
>>>>>>
>>>>>>     This includes major extensions & code rewrites, I think I'll
>>>>>>     bump the version to 4.0 when releasing this to Google Play.
>>>>>>
>>>>>>     Main goal & outcome of this effort: command bookmarks.
>>>>>>
>>>>>>     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.
>>>>>>
>>>>>>     So this enabled custom widgets to include buttons triggering
>>>>>>     car commands.
>>>>>>
>>>>>>     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. "#…".
>>>>>>
>>>>>>     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.
>>>>>>
>>>>>>     All this of course needs the service to be enabled & allow
>>>>>>     commands to be sent.
>>>>>>
>>>>>>     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.
>>>>>>
>>>>>>     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.
>>>>>>
>>>>>>
>>>>>>     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.
>>>>>>
>>>>>>     Regards,
>>>>>>     Michael
>>>>>>
>>>>>>
>>>>>>     Am 26.09.22 um 17:26 schrieb Chris van der Meijden:
>>>>>>     For an includable example it would be nice if we could send
>>>>>>     the vehicle image from the OVMS app to KWGT.
>>>>>>
>>>>>>     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:
>>>>>>
>>>>>>     https://github.com/devmarxx/OVMS-Fireplace
>>>>>>
>>>>>>
>>>>>>     Am Montag, dem 26.09.2022 um 13:56 +0200 schrieb Michael Balzer:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>     Nice, please go ahead if you want to create an includable
>>>>>>>     example widget :-)
>>>>>>>
>>>>>>>     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)$.
>>>>>>>
>>>>>>>     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.
>>>>>>>
>>>>>>>     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.
>>>>>>>
>>>>>>>     Regards,
>>>>>>>     Michael
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>     Am 26.09.22 um 12:13 schrieb Chris van der Meijden:
>>>>>>>     Correction:
>>>>>>>
>>>>>>>     $br(ovms, sel_vehicle_label)$
>>>>>>>
>>>>>>>     Am Montag, dem 26.09.2022 um 12:05 +0200 schrieb Chris van
>>>>>>>     der Meijden:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>     I like the new KWGT Widget feature:
>>>>>>>>
>>>>>>>>
>>>>>>>>     Above is the Tesla Widget of our Model 3, beneath that my
>>>>>>>>     OVMS KWGT widget of our VW e-UP.
>>>>>>>>
>>>>>>>>     I had to allow "Passing data to other apps". The syntax for
>>>>>>>>     getting the intent variables to text in KWGT is i.e.
>>>>>>>>
>>>>>>>>     $br(ovms, car_sel_vehicle_label)$
>>>>>>>>
>>>>>>>>     Other variables can be found here:
>>>>>>>>     https://github.com/openvehicles/Open-Vehicle-Android/wiki/Update-Broadcast-Intent-data
>>>>>>>>
>>>>>>>>     The image is local on the filesystem of the phone and does
>>>>>>>>     not come by intent.
>>>>>>>>
>>>>>>>>
>>>>>>>>     Am Sonntag, dem 25.09.2022 um 16:23 +0200 schrieb Michael
>>>>>>>>     Balzer:
>>>>>>>>     No, icon can only be 0 from the else branch, in that case
>>>>>>>>     it shall fall back to the default image.
>>>>>>>>
>>>>>>>>     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.
>>>>>>>>
>>>>>>>>     https://github.com/openvehicles/Open-Vehicle-Android/blob/master/OpenVehicleApp/src/main/java/com/openvehicles/OVMS/ui/FragMap.java#L319
>>>>>>>>
>>>>>>>>     Regards,
>>>>>>>>     Michael
>>>>>>>>
>>>>>>>>
>>>>>>>>     Am 25.09.22 um 15:46 schrieb Chris van der Meijden:
>>>>>>>>     Just guessing, but does
>>>>>>>>
>>>>>>>>     int icon;
>>>>>>>>
>>>>>>>>     in MyGcmListenerService.java
>>>>>>>>     <https://github.com/devmarxx/Open-Vehicle-Android/commit/3c13100a6a25257fe694be3050a1b76ca2b6fb44#diff-c13198cb33bb355f600c37f8889cedcb72346835dbb7e357c031c57aba424487> at
>>>>>>>>     line 132
>>>>>>>>
>>>>>>>>     not need to be initialized like
>>>>>>>>
>>>>>>>>     int icon = 0;
>>>>>>>>
>>>>>>>>     now you use
>>>>>>>>
>>>>>>>>     .setSmallIcon((icon!= 0) ? icon: R.drawable.map_car_default)
>>>>>>>>
>>>>>>>>     at line 150 now?
>>>>>>>>
>>>>>>>>     As the images and the Google stuff are related to that
>>>>>>>>     integer it made me thinking ...
>>>>>>>>
>>>>>>>>
>>>>>>>>     Am Sonntag, dem 25.09.2022 um 11:52 +0200 schrieb Michael
>>>>>>>>     Balzer:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>     Chris,
>>>>>>>>>
>>>>>>>>>     that's not a crash log, that's just a warning.
>>>>>>>>>
>>>>>>>>>     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?
>>>>>>>>>
>>>>>>>>>     A crash log has class "E" (error) and includes an
>>>>>>>>>     exception and a backtrace, for an example see:
>>>>>>>>>     https://issuetracker.google.com/issues/201308676#comment4
>>>>>>>>>
>>>>>>>>>     On the crash: maybe it's because you don't have the Google
>>>>>>>>>     components, not sure if FragMap can handle that.
>>>>>>>>>
>>>>>>>>>     The forum post relates to /e/OS … maybe I need some
>>>>>>>>>     emulator images running alternative Androids now…
>>>>>>>>>
>>>>>>>>>     Regards,
>>>>>>>>>     Michael
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     Am 25.09.22 um 11:40 schrieb Chris van der Meijden:
>>>>>>>>>     Hey Michael,
>>>>>>>>>
>>>>>>>>>     this is from logcat when I change "Track vehicle" and the
>>>>>>>>>     app crashes:
>>>>>>>>>
>>>>>>>>>     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)
>>>>>>>>>
>>>>>>>>>     I saw now, that this crash also happens in the production app.
>>>>>>>>>
>>>>>>>>>     The widget is running well. I will keep the app running
>>>>>>>>>     for while and will see if it stays stable.
>>>>>>>>>
>>>>>>>>>     Regards
>>>>>>>>>
>>>>>>>>>     Chris
>>>>>>>>>
>>>>>>>>>     Am Samstag, dem 24.09.2022 um 23:02 +0200 schrieb Michael
>>>>>>>>>     Balzer:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>     Chris,
>>>>>>>>>>
>>>>>>>>>>     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.
>>>>>>>>>>
>>>>>>>>>>     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.
>>>>>>>>>>
>>>>>>>>>>     Speed optimization was one goal. What about the widget?
>>>>>>>>>>
>>>>>>>>>>     Thanks,
>>>>>>>>>>     Michael
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>     Am 24.09.22 um 22:43 schrieb Chris van der Meijden:
>>>>>>>>>>     Hey Michael,
>>>>>>>>>>
>>>>>>>>>>     I just installed the "release" Version on LineageOS 19.1
>>>>>>>>>>     (Android 12) without Google components.
>>>>>>>>>>
>>>>>>>>>>     The vehicle setup was without any troubles. I could
>>>>>>>>>>     select the yellow VW e-UP image without crashing.
>>>>>>>>>>
>>>>>>>>>>     The App version is set wrong under "Vehicle info"
>>>>>>>>>>     (3.19.1, 2021122401).
>>>>>>>>>>
>>>>>>>>>>     Everything seems to be faster than before.
>>>>>>>>>>
>>>>>>>>>>     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.
>>>>>>>>>>
>>>>>>>>>>     Perhaps this first impression is of some help.
>>>>>>>>>>
>>>>>>>>>>     Regards
>>>>>>>>>>
>>>>>>>>>>     Chris
>>>>>>>>>>
>>>>>>>>>>     Am Samstag, dem 24.09.2022 um 20:10 +0200 schrieb Michael
>>>>>>>>>>     Balzer:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>     Everyone,
>>>>>>>>>>>
>>>>>>>>>>>     I'm currently working on the next Android release
>>>>>>>>>>>     including KustomWidget support and a native app widget
>>>>>>>>>>>     based on the old Automagic gauge widget.
>>>>>>>>>>>
>>>>>>>>>>>     Automagic has been dead for some time now, and it keeps
>>>>>>>>>>>     crashing on Androids >= 7.
>>>>>>>>>>>
>>>>>>>>>>>     My changes so far are in the hub, APK builds are
>>>>>>>>>>>     available here:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>       * https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-release.apk
>>>>>>>>>>>       * debug build for extended logging:
>>>>>>>>>>>         https://dexters-web.de/f/tw-beta/OpenVehicleApp-22092401-debug.apk
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>     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:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>       * https://www.openvehicles.com/node/3410
>>>>>>>>>>>
>>>>>>>>>>>     I could use some help with that, I've got no idea other
>>>>>>>>>>>     than blaming Android.
>>>>>>>>>>>
>>>>>>>>>>>     I've seen the effect in my emulator tests, and it seems
>>>>>>>>>>>     to occur more frequently with non-roadster images.
>>>>>>>>>>>
>>>>>>>>>>>     Regards,
>>>>>>>>>>>     Michael
>>>>>>>>>>>
>>>>>>>>>>>     _______________________________________________
>>>>>>>>>>>     OvmsDev mailing list
>>>>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>     _______________________________________________
>>>>>>>>>>     OvmsDev mailing list
>>>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>>>
>>>>>>>>>>     _______________________________________________
>>>>>>>>>>     OvmsDev mailing list
>>>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     _______________________________________________
>>>>>>>>>     OvmsDev mailing list
>>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>>
>>>>>>>>>     _______________________________________________
>>>>>>>>>     OvmsDev mailing list
>>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>
>>>>>>>>
>>>>>>>>     _______________________________________________
>>>>>>>>     OvmsDev mailing list
>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>
>>>>>>>>     _______________________________________________
>>>>>>>>     OvmsDev mailing list
>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>>
>>>>>>>>     _______________________________________________
>>>>>>>>     OvmsDev mailing list
>>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>
>>>>>>>
>>>>>>>     _______________________________________________
>>>>>>>     OvmsDev mailing list
>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>>
>>>>>>>     _______________________________________________
>>>>>>>     OvmsDev mailing list
>>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>
>>>>>>
>>>>>>     _______________________________________________
>>>>>>     OvmsDev mailing list
>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>>
>>>>>>     _______________________________________________
>>>>>>     OvmsDev mailing list
>>>>>>     OvmsDev at lists.openvehicles.com
>>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>
>>>>>
>>>>>     _______________________________________________
>>>>>     OvmsDev mailing list
>>>>>     OvmsDev at lists.openvehicles.com
>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>>
>>>>>     _______________________________________________
>>>>>     OvmsDev mailing list
>>>>>     OvmsDev at lists.openvehicles.com
>>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>
>>>>
>>>>     _______________________________________________
>>>>     OvmsDev mailing list
>>>>     OvmsDev at lists.openvehicles.com
>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>
>>>>     _______________________________________________
>>>>     OvmsDev mailing list
>>>>     OvmsDev at lists.openvehicles.com
>>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>
>>>
>>>     _______________________________________________
>>>     OvmsDev mailing list
>>>     OvmsDev at lists.openvehicles.com
>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>
>>>     _______________________________________________
>>>     OvmsDev mailing list
>>>     OvmsDev at lists.openvehicles.com
>>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>
>>
>>     _______________________________________________
>>     OvmsDev mailing list
>>     OvmsDev at lists.openvehicles.com
>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>
>>     _______________________________________________
>>     OvmsDev mailing list
>>     OvmsDev at lists.openvehicles.com
>>     http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>
>
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20221009/9895ddc0/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20221009/9895ddc0/attachment-0001.sig>


More information about the OvmsDev mailing list