Volvo Oncall binding

Apologies if this is the wrong place to post this, but I have the VoC binding set up and working. My main issue with the polling interval.

I have set the refreshinterval to 1 in volvo.things (in reality I would like to set it lower than this but was not confident something like 0.1 would be understood):


{
Thing vehicle XC90 “XC90” @ “World” [vin="[omitted]", refreshinterval=1]
}

I have tested but reviewing the Openhab log for response times and they are still really slow. Like 8-10 minutes before an item state is updated. Is there anything I should be investigating to improve this?

The VoC app on iOS is more responsive. Not instantaneous of course but generally within a minute.

Would it in fact be possible to write a rule to force Openhab to check the channel state on a regular basis or would that be pointless as the channel updates are controlled by the above refreshinterval parameter?

Thanks.

Dear all,
unfortunately my VOC setup doesn’t work anymore. So far it has been working well. Currently I get the following error messages in openhab.log. Does anybody have an idea about the reason and how to solve the problem?

2020-04-24 11:33:45.416 [ERROR] [nternal.items.ItemStateConverterImpl] - A conversion of null was requested:
java.lang.IllegalArgumentException: State must not be null.
        at org.eclipse.smarthome.core.internal.items.ItemStateConverterImpl.convertToAcceptedState(ItemStateConverterImpl.java:58) ~[?:?]
        at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.sendUpdate(ProfileCallbackImpl.java:134) ~[?:?]
        at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onStateUpdateFromHandler(SystemDefaultProfile.java:53) ~[?:?]
        at org.eclipse.smarthome.core.thing.internal.CommunicationManager.lambda$9(CommunicationManager.java:467) ~[?:?]
        at org.eclipse.smarthome.core.thing.internal.CommunicationManager.lambda$11(CommunicationManager.java:487) ~[?:?]
        at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_232]
        at org.eclipse.smarthome.core.thing.internal.CommunicationManager.handleCallFromHandler(CommunicationManager.java:483) ~[?:?]
        at org.eclipse.smarthome.core.thing.internal.CommunicationManager.stateUpdated(CommunicationManager.java:465) ~[?:?]
        at org.eclipse.smarthome.core.thing.internal.ThingManagerImpl$1.stateUpdated(ThingManagerImpl.java:168) ~[?:?]
        at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.updateState(BaseThingHandler.java:245) ~[?:?]
        at org.openhab.binding.volvooncall.internal.handler.VehicleHandler.lambda$6(VehicleHandler.java:164) ~[?:?]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:1.8.0_232]
        at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) ~[?:1.8.0_232]
        at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_232]
        at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:1.8.0_232]
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[?:1.8.0_232]
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_232]
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:1.8.0_232]
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:1.8.0_232]
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_232]
        at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485) ~[?:1.8.0_232]
        at org.openhab.binding.volvooncall.internal.handler.VehicleHandler.queryApiAndUpdateChannels(VehicleHandler.java:161) ~[?:?]
        at org.openhab.binding.volvooncall.internal.handler.VehicleHandler.handleCommand(VehicleHandler.java:211) ~[?:?]
        at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:191) ~[?:?]
        at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:267) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_232]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_232]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_232]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

I have the same issue since yesterday.
Just installed the new binding (org.openhab.binding.volvooncall-2.5.5-SNAPSHOT), but still the same.

Spotted this on my side yesterday also. The PR is currently under review here

Same issue here - does anyone have any news regarding this problem?

Hello glhopital, is there any news on the PR? When do you think the problem will be fixed?

The PR is about to be finalized, I’ve got a version on test that seems fine.

Thanks, GaeI.
Unfortunately I still get the error:

2020-05-13 14:37:02.632 [ERROR] [nternal.items.ItemStateConverterImpl] - A conversion of null was requested:
java.lang.IllegalArgumentException: State must not be null.

Karaf shows the right jar, I guess:
290 x Active x 80 x 2.5.5.202005130245 x openHAB Add-ons :: Bundles :: Volvo On Call Binding

Argh, this hurts ! Do you have any clue on what data this happens (maybe try unlinking items) ? On my side it works fine since ~ 1 week.

I am currently checking.
Because I used the VOC script from @molobrakos in between I thought it’s a good idea to clean the cache and delete the vehicle from Paperui.
So, I created it with a new ID and changed my items accordingly.
I will try with your unlink suggestion.

EDIT:

  1. After I deleted the Thing resulting in unlinking of everything the error was gone (of course).
  2. Keeping just some items still work.
  3. I will add the other channels step by step to identify the culprit.

Where do i get the jar?

/Mike

Here are the most recent builds:
https://openhab.jfrog.io/openhab/webapp/#/builds/PR-openHAB2-Addons/19015/1589387112811/published%20

It’s these guys here:

Switch          CarLocked           "Pulpo [%s]"                        (G_Car) {channel="volvooncall:vehicle:xxx:doors#carLocked"}
Switch          CarEngine           "Motor läuft? [%s]"                 (G_Car) {channel="volvooncall:vehicle:xxx:other#engineRunning"}

Could you please post a screenshot of your car properties like this :
Capture d’écran du 2020-05-14 08-53-16

I had a look at the code behind those two channels, and they are happily managed as optional, so I do not get how you can head to a null state :-/

Hi,

I must admit, that I did not change the items / channels a lot, but I am sure that the Engine and Lock state was reflected properly in older VOC binding versions.
My vehicles properties look like this:

I can’t understand or reproduce the problem you’re facing. I using Molobrackos you’re able to catch the API answer you get I could maybe try with this.

Thanks for your efforts and help.
The problem might be related to my system, because the working channels don’t get an update at all.
And I have no idea why.
I deleted the VOC Api Thing as well as the vehicle thing and created it with a brand new vehicle name (not the VIN) to avoid conflict mit still existing zombie links.
The items don’t get updated though:

Contact			CarDrHood			"Motorhaube"						(G_jdbc,G_CarDoors,Group_HabPanel_Dashboard)						{channel="volvooncall:vehicle:VolvoXC60:doors#hood"}
Contact			CarDrFrLeft			"Tür vorne links"					(G_jdbc,G_CarDoors,Group_HabPanel_Dashboard)						{channel="volvooncall:vehicle:VolvoXC60:doors#frontLeft"}
Contact			CarDrFrRght			"Tür vorne rechts"					(G_jdbc,G_CarDoors,Group_HabPanel_Dashboard)						{channel="volvooncall:vehicle:VolvoXC60:doors#frontRight"}
Contact			CarDrReLeft			"Tür hinten links"					(G_jdbc,G_CarDoors,Group_HabPanel_Dashboard)						{channel="volvooncall:vehicle:VolvoXC60:doors#rearLeft"}
Contact			CarDrReRght			"Tür hinten rechts"					(G_jdbc,G_CarDoors,Group_HabPanel_Dashboard)						{channel="volvooncall:vehicle:VolvoXC60:doors#rearRight"}
Contact			Car_DrTrunk			"Kofferraum"						(G_jdbc,G_CarDoors,Group_HabPanel_Dashboard)						{channel="volvooncall:vehicle:VolvoXC60:doors#tailgate"}

All have the state NULL,


but are linked:

using the python script from molobrakos works fine.

maybe a cache cleaning ?

I did this as well, but will do again:
delete all related VOC things
remove the VOC items
clean cache restart OH.

Currently I just get the following DEBUG entries in OH.log: