Brandawg93 / homebridge-fordpass

Control your Ford vehicle in HomeKit using Homebridge.
GNU General Public License v3.0
62 stars 15 forks source link

Vehicle does not response #125

Closed jamesngob closed 3 years ago

jamesngob commented 3 years ago

Describe the bug Hello there, I have 2018 F150 running the latest firmware and software of Fordpass. I installed the plugins and it worked for once or twice. Then it basically stops working... It does not refresh and the button on the HomeApp keep saying "updating..."

Debug Output

To Reproduce

Steps to reproduce the behavior:

Expected behavior

Please answer these questions before submitting this issue:

On what device are you running homebridge: 
On what iOS version are you having issues: 
Does this issue occur consistently or randomly: 
If applicable, what was the last version that worked properly: 
Brandawg93 commented 3 years ago

What does your logs say?

jamesngob commented 3 years ago

If possible, could you please show me how to enable debug or logs for this? I am new to it so I just basically installed it using the UI and leave all the settings as default Thank you

Brandawg93 commented 3 years ago

There should be errors in the logs if it is not working. They usually show up as red text when using the UI. If you want to enable debug mode, you can do so in Homebridge Settings.

jamesngob commented 3 years ago

@Brandawg93: Sorry that I took a few days to move my homebridge server onto a proper linux server and then reinstall the Fordpass plugin. If I use the Siri command, it actually works: start the engine, stop the engine and lock/unlock the truck. But, the icon of the Fordpass on the Home screen does not display correctly: When the truck is LOCKED (by the physical keyfob), the status of the icone is "UNLOCKED". If I use the icon to lock/unlock, it tends to freeze or stuck in the "spinning wheel" for a while (5-10 minutes), then it goes back to "UNLOCKED" or "no response" automatically itself. But the truck is actually LOCKED (thanks God)

On the log, it just has 1 line:

[FordPass]: Status failed with error: 500

So I think, there is some miscommunication significantly between the actual FordPass application and the plugin. The status of the icon has never updated correctly according to the actual status of the truck, mainly the LOCK/UNLOCK status Let me know if you want to me test anything else? James

Brandawg93 commented 3 years ago

The 500 error means that the FordPass API is down. It actually goes down all the time. The FordPass app just doesn't show error codes to my knowledge.

There is a miscommunication, but it is between the FordPass API and the actual vehicle. When you press unlock on the fob, the car unlocks but does not automatically update the API. So when the plugin requests the current state of the vehicle, the API says that the vehicle is still locked even though you unlocked it.

There isn't much I can do from a plugin standpoint to force the vehicle to update The FordPass API.

Brandawg93 commented 3 years ago

There isn't much I can do from a plugin standpoint to force the vehicle to update The FordPass API.

Thanks to @antonintlh, we have found a way to force the vehicle to update the API. This will be available in the next release.

jamesngob commented 3 years ago

@Brandawg93 and @antonintlh You guys rock! Couldn't wait until the next updates... Let me know if you want to test it out and I can be your tester Cheers

Brandawg93 commented 3 years ago

Actually, I just published a new test version (1.3.0-test.0). If you are using the Homebridge UI, you can update your plugin to the test version by clicking the version number. We'd greatly appreciate any feedback or bug reports!

jamesngob commented 3 years ago

@Brandawg93 So I upgrade to the test version that you published, and test a few times with different scenario per below 1/ If I lock/unlock the truck with the keyfob, the Home App will NOT update it. It will always said "Unlocked/Power is off" 2/ If I use the Home app to "lock/unlock" the truck, it response correctly at that time, until I use the Keyfob 3/ The Home App displays the "locking..." status less frequent now (which is a good thing, because it was stuck at that status in the previous version), and often change to "Unlock" after few seconds (even the truck is locked) What I feel is that, the Home App does response to some level, but the Home app status does not reflect the actual status of the truck. So it is still not quite working in that regards.

antonintlh commented 3 years ago

Hi @jamesngob, You can configure delay between each refresh request in your homebridge config. You should note that each request have to wake your car, and then consume the battery. For the moment, the minimum time between refresh requests is set to 1 hour (and defaults to 3 hours).

I am currently searching to improve this feature for MHEV/PHEV and electric cars. If you have one, future solutions may interest you.

It is currently not possible to refresh your car's data in real time because of battery usage and time for each request.

jamesngob commented 3 years ago

@antonintlh That makes perfect sense why there's delay... I certainly don't want to drain the battery just because checking the status of the truck. I currently leave the default of 3 hours... But I just wonder, if I open the Home App, does it trigger the refresh? It doesn't seems to do that though...

Brandawg93 commented 3 years ago

If you open the Home app, it will trigger a refresh of cached data, but it does not force a complete refresh.

jamesngob commented 3 years ago

@Brandawg93 Ah... that explains why... so the last updated (refreshed) status was used when I open the app. So currently, there is no way to force a complete refresh, right? If I adjust the config to 1 hour (minimum), the status will be updated every hour only... I know that I should not just trust the app to monitor my truck but I just want to understand the logic behind...

But other than this, the Siri works, it start/stop the engine. It lock/unlock the truck. But it does not tell you the status of the truck because of the delay...

Brandawg93 commented 3 years ago

Here's the way I understand it:

Use fob = no refresh Use FordPass app / HomeKit to lock/unlock/start/stop = refresh Use FordPass app / HomeKit to view status = cached refresh

antonintlh commented 3 years ago

@Brandawg93 Maybe you could add a stateless switch (with an advanced option to toggle it) to ask for a refresh (and maybe add a cooldown to prevent abuses)?

Brandawg93 commented 3 years ago

I looked into programmable switches, but it seems they can only be programmatically controlled, not by the user. I'm not aware of any homebridge service that has a stateless switch that a user can control. If there were one, I would convert the plugin to something similar to the FordPass app and just have three stateless switches that can lock/unlock/start the car.

github-actions[bot] commented 3 years ago

This issue is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 3 days

jamesngob commented 3 years ago

@Brandawg93 and @antonintlh After a couple of weeks using it, I think I would just be happy the way it is... Anyway, using Siri to start the truck is my main usage recently. At the time of writing, randomly, when I open the Home App, the icon of the FordPass plugin keep spinning for sometimes (2-3 minutes) before getting/retrieving the cache's status. Is it normal, yeah? Thank you again, for your combined support

BatMahn commented 3 years ago

Actually, I just published a new test version (1.3.0-test.0). If you are using the Homebridge UI, you can update your plugin to the test version by clicking the version number. We'd greatly appreciate any feedback or bug reports!

Hey, not seeing an option when clicking on the version number.. am I fat fingering?

Brandawg93 commented 3 years ago

I went ahead and published the new version. v1.3.0 is now the latest version of the plugin and this issue should be resolved now.