[Ovmsdev] Doubs in implementation with nodejs.

gregg hansen gregg at rabbitev.com
Thu Aug 4 12:05:03 HKT 2022


Just to be sure, we’ll set some time frames and I’ll park the car

On Wed, Aug 3, 2022 at 11:03 PM Mark Webb-Johnson <mark at webb-johnson.net>
wrote:

> Gregg,
>
> I checked for August 2022, ET225567 I find (redacted as necessary):
>
> 2022-08-04 03:34:52.589231 UTC info  OVMS::Server::ApiV2: #10 A ET225567
> rx msg C 20,
> 2022-08-04 03:34:52.590298 UTC info  OVMS::Server::ApiV2: #10 A ET225567
> cmd req for ET225567 (queue now 10)
> 2022-08-04 03:34:52.590552 UTC info  OVMS::Server::ApiV2: #25 C ET225567
> tx msg C 20,
> 2022-08-04 03:34:55.185066 UTC info  OVMS::Server::ApiV2: #25 C ET225567
> rx msg c 20,0
> 2022-08-04 03:34:55.185657 UTC info  OVMS::Server::ApiV2: #25 C ET225567
> cmd rsp to #10 for ET225567 (queue now )
> 2022-08-04 03:34:55.185739 UTC info  OVMS::Server::ApiV2: #10 A ET225567
> tx msg c 20,0
>
>
> No way of knowing if that was from the app or the library, but the message
> sequence is correct and the command was acknowledged by the car as
> successfully executed. Command #20 is ‘lock car’.
>
> Regards, Mark
>
> On 4 Aug 2022, at 11:36 AM, gregg hansen <gregg at rabbitev.com> wrote:
>
> If there is a better library to try let me know.  We tried a couple before
> we landed on that one.
>
> We only test with one vehicle - ET225567
>
> This is my fleet vehicle, so there’s a decent chance it will be in use.
>
> Tomorrow we’ll try some tests and send some timestamps
>
> On Wed, Aug 3, 2022 at 10:31 PM Mark Webb-Johnson <mark at webb-johnson.net>
> wrote:
>
>> Gregg,
>>
>> OK. That is clearer. At a glance, the library seems ok, but I haven’t
>> worked with that one previously, or even knew of it.
>>
>> Can you let me know a vehicle ID, and UTC timestamp, of one of your
>> connections and attempted unlocks? I can then check the server logs.
>>
>> Or let me know vehicle ID, try it now, and I can monitor.
>>
>> Regards, Mark.
>>
>>
>> On 4 Aug 2022, at 11:21 AM, gregg hansen <gregg at rabbitev.com> wrote:
>>
>> This is the library we are using it encrypt some data and use the MP
>> commands to call some functionalities to the car with this we retrieve some
>> data like the battery status.
>>
>> NPM Lib
>> https://www.npmjs.com/package/ovms-client?activeTab=readme
>> Github
>> https://github.com/birkir/ovms-client
>> (in the Github is an instruction that explains how does the library works)
>>
>> It has a function to send shell commands like 'stat' commands, but when
>> we send a command looks like the car is receiving the command but it seems
>> like the car gets the commands but does not interact with it.
>>
>> There is other function that allows us to send raw data to the car that
>> is the MP commands, but in this case when I send a Raw command this don't
>> connect with the car and its stock loading waiting for a response that is
>> never returned.
>>
>> I have been trying to make a script that lets me connect to the car, but
>> I only could connect to the ovms-server that let us make the connection
>> with the car, but I can not set the carId and password on that socket to
>> make the connection to the car.
>>
>> We are using OVMS v2 in the cars.
>>
>> Thanks for your help and we are going to be glad to read you answers
>>
>> On Wed, Aug 3, 2022 at 10:07 PM Mark Webb-Johnson <mark at webb-johnson.net>
>> wrote:
>>
>>> Gregg,
>>>
>>> We really need to know exactly what he is doing, and with what protocols.
>>>
>>> From the way you seem to describe it, you:
>>>
>>>
>>>    1. Have a custom app, in react native
>>>    2. You have a custom server, in NodeJS
>>>    3. You presumably have some custom protocol/api between your app and
>>>    server
>>>    4. Your NodeJS server is talking to the OVMS server using your own
>>>    implementation of v2 protocol
>>>
>>>
>>> Is that correct? If so, then #4 is the only issue. The V2 protocol is
>>> fairly well documented, here:
>>>
>>> https://docs.openvehicles.com/en/latest/protocol_v2/index.html
>>>
>>>
>>> It is proprietary and the initial negotiation is complicated, but if you
>>> have established the crypto connection and received the data, then you have
>>> done the hard part. Issuing commands should be easy.
>>>
>>> In v2 protocol, locking/unlocking is performed via the “C” command.
>>>
>>> Probably easiest to look at the sample code in the iOS or Android Apps
>>> to see how that is done. For iOS, see:
>>>
>>>
>>> https://github.com/openvehicles/Open-Vehicle-iOS/blob/master/OpenVehicleApp/ovms/ovmsAppDelegate.m
>>>
>>> (The commandIssue method, and how it is called)
>>>
>>>
>>> Regards, Mark.
>>>
>>> On 3 Aug 2022, at 11:03 PM, gregg hansen <gregg at rabbitev.com> wrote:
>>>
>>> Pablo has not been able to access the list.  He is getting
>>> authentication errors, so while he works through that I thought I would
>>> answer for him...
>>>
>>> "The MP commands are the raw data I am trying to send to the car to open
>>> and close the car."
>>>
>>> The devices are using the V2 server, so I think fixed MP commands make
>>> the most sense.  Pablo is trying to figure out how to make that work, and
>>> so far has not been successful.
>>>
>>>
>>>
>>> On Sun, Jul 31, 2022 at 2:26 AM Michael Balzer <dexter at expeedo.de>
>>> wrote:
>>>
>>>> Pablo,
>>>>
>>>> a bit more information on how you connect to the car would be helpful
>>>> here.
>>>>
>>>> Arbitrary remote shell command execution is supported by the module's
>>>> HTTP API (/api/execute), the module's SSH server, the "V2 protocol" server
>>>> via MP command 7 and any "V3" (MQTT) server via the /client/command topic
>>>> scheme. Plus there's a secondary (non-standard) HTTP command API available
>>>> on my server ovms.dexters-web.de (public API of my custom web shell).
>>>>
>>>> Lock & unlock are also available as fixed MP commands (20,22) on a V2
>>>> server, along with a set of other standard App calls. These do not run via
>>>> the shell but translate to direct internal execution.
>>>>
>>>> Command execution has not yet been implemented for the "V2" server's
>>>> HTTP API. But you can of course implement that if you use that API.
>>>>
>>>> Docs:
>>>>
>>>>    -
>>>>    https://docs.openvehicles.com/en/latest/components/ovms_webserver/docs/index.html#authorization
>>>>    -
>>>>    https://docs.openvehicles.com/en/latest/userguide/console.html#ssh-console
>>>>    -
>>>>    https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#execute-sms-command
>>>>       -
>>>>       https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#lock-car
>>>>       -
>>>>       https://docs.openvehicles.com/en/latest/protocol_v2/commands.html#unlock-car
>>>>    -
>>>>    http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/012641.html
>>>>    -
>>>>    http://lists.openvehicles.com/pipermail/ovmsdev/2018-July/012696.html
>>>>    -
>>>>    https://docs.openvehicles.com/en/latest/protocol_httpapi/requests.html#not-yet-implemented
>>>>
>>>> Which one are you referring to?
>>>>
>>>> Regards,
>>>> Michael
>>>>
>>>>
>>>> Am 29.07.22 um 19:28 schrieb Pablo Cabrera:
>>>>
>>>> Hello OVMS team, we are currently working with an implementation with
>>>> OVMS in a react native app with a NodeJS back-end.
>>>> Currently we can connect with the cars and rescue some data like the
>>>> status of the battery or GPS location, but now we need to send commands to
>>>> lock and unlock the cars from the same app, when we send a command I get a
>>>> response that the command is received in the car, but the command is not
>>>> executed in the bash.
>>>>
>>>> I don't know if you can send me more info about how to make the car
>>>> receive bash commands from remote connections, or how can I send it from
>>>> the NodeJs server into the bash of the car.
>>>>
>>>> Thanks for your time and help.
>>>>
>>>> _______________________________________________
>>>> OvmsDev mailing listOvmsDev at lists.openvehicles.comhttp://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>
>>>>
>>>> --
>>>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal <https://www.google.com/maps/search/Helkenberger+Weg+9+*+D-58256+Ennepetal?entry=gmail&source=g>
>>>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>>>
>>>> _______________________________________________
>>>> OvmsDev mailing list
>>>> OvmsDev at lists.openvehicles.com
>>>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
>>>>
>>>
>>>
>>> --
>>>
>>> RabbitEV
>>> Driving Electric Cars
>>> RabbitEV.com <http://rabbitev.com/>
>>> _______________________________________________
>>> 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/20220803/22e27b36/attachment-0001.htm>


More information about the OvmsDev mailing list