wubbl0rz/FiatChamp

Jeep Wrangler 4xe (eu version)

Closed this issue ยท 10 comments

Hi. Great work, but seems like Jeep doesnt work. This is the output i get when i try to use it:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
[17:35:26] ERROR: Got unexpected response from the API: Service not enabled
Unhandled exception. System.InvalidOperationException: Failed to convert configuration value at 'MqttPort' to type 'System.Int32'.
---> System.ArgumentException: is not a valid value for Int32. (Parameter 'value')
---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
--- End of inner exception stack trace ---
at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
at System.ComponentModel.TypeConverter.ConvertFromInvariantString(String text)
at Microsoft.Extensions.Configuration.ConfigurationBinder.TryConvertValue(Type type, String value, String path, Object& result, Exception& error)
--- End of inner exception stack trace ---
at Microsoft.Extensions.Configuration.ConfigurationBinder.BindInstance(Type type, Object instance, IConfiguration config, BinderOptions options)
at Microsoft.Extensions.Configuration.ConfigurationBinder.GetPropertyValue(PropertyInfo property, Object instance, IConfiguration config, BinderOptions options)
at Microsoft.Extensions.Configuration.ConfigurationBinder.BindProperty(PropertyInfo property, Object instance, IConfiguration config, BinderOptions options)
at Microsoft.Extensions.Configuration.ConfigurationBinder.BindNonScalar(IConfiguration configuration, Object instance, BinderOptions options)
at Microsoft.Extensions.Configuration.ConfigurationBinder.BindInstance(Type type, Object instance, IConfiguration config, BinderOptions options)
at Microsoft.Extensions.Configuration.ConfigurationBinder.Get(IConfiguration configuration, Type type, Action1 configureOptions) at Microsoft.Extensions.Configuration.ConfigurationBinder.Get[T](IConfiguration configuration, Action1 configureOptions)
at Microsoft.Extensions.Configuration.ConfigurationBinder.Get[T](IConfiguration configuration)
at Program.

$(String[] args) in /home/runner/work/FiatChamp/FiatChamp/FiatChampAddon/FiatClient/Program.cs:line 25
at Program.(String[] args)
/run.sh: line 26: 172 Aborted (core dumped) ./FiatChamp
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

this looks not like a jeep problem. have you enabled (and setup) the official mqtt addon in home assistant ? ๐Ÿค”

[17:35:26] ERROR: Got unexpected response from the API: Service not enabled

addon can't get mqtt server from home assistant. but for jeep as in the readme said:

Dodge or Jeep Uconnect Users: This addon may not work with your car. I do not own such a car and so i cannot test it. Some of the urls looks very "fiat only". If you want to help get this working for these cars too please open an issue.

i have seen a fix for jeep that we could try (after fixing the mqtt error). if you want to help with jeep please let me know. we could try a jeep specific api key i found in another github project ๐Ÿ˜…

Ok, i c. I am using a standalone mqtt server, not using the HA official addon.

a few hours ago i pushed a change that allows you to use an external broker as long its the same broker that your home assistant uses. have a look in the configuration there is a menu now to override the mqtt settings. with user, password, ip for the external broker.

image

Yes i found it. Now it is login in and its running, and appear under devices and entities, but no data received.:
image

does it have any errors in the addon log ? i dont think jeep will work out of the box. but it should at least write some logs what its doing ๐Ÿ˜„

if there is data it is found under the mqtt integration. there should be a new mqtt device thats called "car" or the car nickname you gave it on the website.

image

image

I found the mqqt entities. And it seems like everything is working. I have the same control button as you, it update the location of the car (jeep mobile app sends an alert) but still unknown under HA. And i got whole set of sensors wich mostly seems to have correct values. I havent enabled Dangerous commands yet. What do i risk if i try?
I have no errors in the log, beside "enable dagngerous commands" when i hit a button like, blink and so.

Here some screenshot:
image

nice so it works for jeep too didn't really expected that ๐Ÿคฏ maybe some sensors are different between jeep and fiat.

the dangerous commands are dangerous because i found some of them in the fiat android app sources. so its unclear what exactly will happen. blink is if i remember correctly not "dangerous" so it should work without the dangerous option... if the car supports it. door lock/unlock is dangerous because you could accidently remotely unlock your car and HVAC (turning on is fine but turning off not ... only fiat nows why ๐Ÿฅด ) is dangerous because the command is not supported in the fiat app. so you sending an potentially unsupported command to your car and only the fiat/jeep programmers know what can happen.

location should work if you click on it and go to the attributes. why its unknown ? i dont know ... just home assistant things ๐Ÿ˜
image

I had to try the Dangerous option.
Everything work as the Jeep app do. We dont have the HVAC, Blink or Trunk option so idident work as expected.
But lock/unlock works, Charge now works and update location.
I havent tried DeepRefresh since i dont know what i does.

Thanks a lot for your work. Realy cool to have this working :) ...

deeprefresh is "fiat language" for refresh battery level status ... so if you are charging and call "deeprefresh" from time to time it should update the battery % level ๐Ÿ˜

i will link this issue in the readme for future jeep users ๐Ÿ‘