[Ovmsdev] Android App beta

Chris van der Meijden chris at arachnon.de
Sun Oct 9 18:45:21 HKT 2022


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 -a com.whereismywifeserver.intent.TEST --es sms_body
> "test from adb"'
> 
> 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 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20221009/70c9bb95/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kustomwidget-eup.png
Type: image/png
Size: 151962 bytes
Desc: not available
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20221009/70c9bb95/attachment-0001.png>


More information about the OvmsDev mailing list