[SOLVED] Help with sending Command

:+1:

@glhopital

Bridge goes ONLINE even if you enter wrong password.

Thing goes OFFLINE after Communication error and never goes ONLINE again have to restart binding.

/Mike

I thought it does not work in the beginning as well, but:
If you unlock the car, only the trunk is unlocked (no lights indicate this process), so when you touch the trunk to open, it will unlock all other locks.
Maybe you can try if this is the case with your car as well!?

Do you have also the problem, that the connection is lost sometimes?

I mean: after a while I cannot request updates anymore (e.g. locked doors state):
Even though the doors are locked, the state is not updated correctly,

As soon as I send a command (e.g. voc lock) and the states are updated properly.
Alternatively I can open the official Volvo app to revive the connection.
So the official app does obviously something differently.

I use:
executeCommandLine(“/usr/local/bin/voc -u ‘xxxx’ -p ‘xxxx’ heater start”, 10000)

Because their is no other option (in rules) with the binding I use the python script for specific tasks

Yes i also have this problem. I am also having problem that when i restart router i have to restart the binding.

I have now compiled my own version where i can do this whit rules for loch, heather and engine.

/Mike

What car is this and from which year?
I always have null (even while driving it did not change).
My Car is a XC60 from 2016

Is it possible to see the car’s software version? I will check vs. mine then.
Because my XC60 is one of the latest of the previous model, I assume it should be the latest fw for this XC60 series.

Mine is a V90 from 2017. The firmware got upgraded (on service) on the 6th of December.

How can I find the cars software?
Output from voc print gives some clues, but I’m not really sure that it’s the software version


"serverVersion": "4.20.34-hotfix-4.20.32_december_incident-voc-deployable"

My XC60 is from 02/2018 and does not give heading information.

I am checking this right now as well, but I a mising the Trunk. :frowning:

Hi NCO

That is correct. Currently the trunk (or Tailgate) is missing in VoC. The same applies to Average Speed.
2 days ago I made a pull request in order to include these two sensors.
Give Erik (molobrakos) some time to solve it.
And if you can’t wait. See https://github.com/molobrakos/volvooncall/issues/43.
Although I’m not an OpenHab user I also noted that some of the functions are not always supported.

E.g.
pi@rpi3plus:~ $ voc print|grep engine
“engineCode”: “XXXXXXXX”,
“engineRunning”: false,
“engineRunningTimestamp”: “2019-01-24T13:00:29+00:00”,
“engineStartSupported”: false,

In this case it will not be possible to start the engine remotely

pi@rpi3plus:~ $ voc print|grep lock
“lockSupported”: true,
“unlockSupported”: true,
“unlockTimeFrame”: 120,

Be aware that, if you remotely unlock the car only the release of the tailgate is activated/unlocked.
As soon as you open the tailgate all other doors are unlocked. You have 120 seconds (2 minutes) to do this and after these 120 seconds the tailgate is locked again.

Honk and Blink is also an issue.
It should work, but you have to submit your location (lat,lon). This is what the app also does.
If you are too far away from your car (> 500m) it will not work in the app either.

See:
“honkAndBlinkDistance”: 500,
“honkAndBlinkSupported”: true,
“honkAndBlinkVersionsSupported”: [
“honkAndOrBlink”,
“honkAndBlink”
See: https://github.com/molobrakos/volvooncall/issues/7#issuecomment-392582296

Also the temperature is not supported in VoC.

Obviously Volvo has an agreement with HERE for all kind of service. Your navigation maps are also from HERE. The temperature you see in your app is based on the coordinates the car send to the server and they get back the temperature from HERE., which is then presented in your app. So it is not the temperature sensor you see, but the temperature for the coordinates of the car.
Work around is to use a weather service, like DarkSky or make a developer account at HERE and then you can get the same temperature as shown in the app.

Hope this info helps some of you.

1 Like

Hi Herman,

Thanks for the detailed response.

I have solved the „Trunk issue“ by using the general doors‘ state (OPEN) and conclude that the trunk must be open if all others are closed.

The information of the honk and blink was new to me. That’s why I never got it working :wink:

The temperature I get the same way like Volvo (checking with weather underground at my cars position.

Again thanks for your help.

By the way:
Do you happen to know thesyntax how to submit the location information?

Hello

I have also considered your solution on how to check whether the tailgate is open or closed, but finally I decided to do more research on why it was not included and I wanted also to have the “Average speed” available. I found that it simply has not been included and so I decided to add it.

You said that you are using Weather Underground to get your temperature at the cars location.
Weather Underground has announced, I think, around May 2018, that it will stop issuing free API keys.
Existing API keys should continue to work until 2018/12/31. However my key is still working, but I expect that it will stop sooner or later.

For the honk and blink, according to the link https://github.com/molobrakos/volvooncall/issues/7#issuecomment-392582296 the syntax is as follows:
Commands are “honk_blink/lights” and “honk_blink/both”. In the body you need to send along GPS coordinates in this format {“clientLatitude”:XXXXXXX,“clientLongitude”:XXXXXXXX,“clientAccuracy”:0}.

I have not tested this function myself, so I can’t confirm.
Edit: I just did a quick test but no success so far.

To get the coordinates of your car you can use: voc owntracks

This will give you something like:
pi@rpi3plus:~ $ voc owntracks
{
“_type”: “location”,
“tid”: “volvo”,
“t”: “p”,
“lat”: 51.17938558300781,
“lon”: 6.606697972519531,
“acc”: 1,
“tst”: 1548437898

All the required information (lat,lon and acc) is then available and I assume that as you use the cars coordinates it will work. Otherwise you need to adjust it a little bit, but you have to stay inside the range of 500 m.

I see that a lot of people try to implement as much as functionality in OpenHab.
I noticed that there is also something like:
“theftAlarm”: null,
Has anyone perhaps implemented or experience with this option.
Could be interesting e.g. to switch on the lighting in your house, if at least the car is parked near your house.
So again the coordinates are important.

Regards,
Herman

PR corrected with credentials control, atempt to reconnect if going OFFLINE after communication error and also action actived by channels (engine start, heater on/off
)

Thanks @glhopital

I receive this when trying to build in standard IDE.

[ERROR] .binding.volvooncall\META-INF\MANIFEST.MF:[0]
The package org.openhab.binding.volvooncall.handler should be marked as "internal" if it is not exported.

also remoteHeather is not in any channel group so it is not visible from PaperUI.

/mike

Should be solved now.

For information:

Today Molobrakos published an updated version of the “volvo on call” python script.
(version 0.8.9)
Fix: dashboard: Fix timestamp string-representation in position.
Added: dashboard and MQTT: Tailgate
Added: dashboard and MQTT: Average Speed

Regards,
Herman

Now i have started to use the binding instead without any problems.

/Mike

Again, thanks for your detaile response and sorry for the delay.

Never mind - I guess I won’t need it anyway :wink:

Weatherunderground might become an issue, but I can also still retrieve data.

I guess I will try the new OpenWeatherMap binding


I actually get the coordinates from the dashboard.
For car theft I compare if the engine starts and no one is around.
That does work kind of ok, but the problem is, that the location is not updated while the car is in use.
So I usually check whether my wife or I have been close to the car within a 5 minutes time frame when the engine started:

val Number dist = (CarDist.minimumSince(now.minusMinutes(5), "jdbc").state as DecimalType)