WiCAN ESP32-based open-source OBD2/OBD-II Vehicle (car or truck) CAN Bus Diagnostics to WIFi/BLE/USB adapter for Home Assistant integration?

I think that this ESP32-based OBD (On-Board Diagnostics) open-source hardware CAN-bus adapter for reading and controlling vehicle bus of cars or trucks via their ECU (electronic control unit) + a open-source wican firmware combination in this crowdfunding/crowdsourceing campaign on Crowd Supply could make for a very interesting product for monitoring your car or truck if and when the community starts building WiCAN integrations for Home Assistant:

WiCAN” open-source OBD-II Car Diagnostics CAN Bus to WIFi/BLE/USB adapter based on ESP32:

https://www.crowdsupply.com/meatpi-electronics/wican

I think it has great potential for Home Assistant integration in order in car/truck sensor status and diagnostics data as well device tracking location if leave them always plugged into your cars.

The guy that made it and owns the project has now expressed interest in making a new integration for Home Assistant, however he is asking the community which is the best way forward to achieve that:

https://www.crowdsupply.com/meatpi-electronics/wican/updates/wican-home-assistant-integration-and-more

Is MQTT the way to go? I started some discussion about that before with MeatPi on his GitHub here:

https://github.com/meatpiHQ/wican-fw/issues/3

Today it support BUSmaster, slcand, SavvyCAN, and RealDash as well as python-can/SocketCAN

8 Likes

I’m also very interested in this project (and I’m a backer, too).

MQTT might be a good approach assuming you have a hotspot in your car - it may require HA users to expose their MQTT ports to the public internet or by VPN though. Not a deal breaker with the right security settings IMO. Another project (Torque) uses a mobile app to publish data via a Phone app.

I do not have a hotspot in any of my cars, only a Wi-Fi access point in my garage/car-port. But I was initially only planning on using the device tracker part as an arrival sensor in order to “presence” and/or “proximity” detect when the cars arrive and leave my garage/car-port based on if they are connected to WiFi or when MQTT

1 Like

FYI, looks like the WiCAN founder has now started to work on adding support for Home Assistant, see:

https://www.crowdsupply.com/meatpi-electronics/wican/updates/low-battery-alerts-with-wican-and-home-assistant

I have a plug-in hybrid SUV. It’d be very useful if I could get battery state-of-charge into HA, but there’s no published library for my vehicle. How easy would it be to reverse engineer the ID for the parameter.

1 Like

FYI, the developer posted an update to the campaign saying that the initial batching will soon ship to Crowd Supply for distribution and that the latest firmware now has initial MQTT protocol support:

Pre-order for the next batch is now also available

Not received mine yet but FYI developer posted video and instructions for WiCAN with Home Assistant:

https://github.com/meatpiHQ/wican-fw#home-assistant

Home Assistant

WiCAN is able to send CAN bus messages to Home Assistant using MQTT protocol. I found that using Node-RED is the simplest way to create automation based on the CAN messages received. This short video highlights some of the steps https://youtu.be/oR5HQIUPR9I

1. Install Home Assistant Mosquitto broker add-on
2. Create Home Assistant new user account for WiCAN. These user credentials will be used to set up the MQTT setting for WiCAN.
3. Connect to WiCAN access point WiCAN_xxxxxxxxxxxx then, using a web browser, go to http://192.168.80.1/
4. Set the “Mode” to Ap+Station
5. Fill in your Home WiFi network SSID and Password.
6. Enable MQTT and fill in the Home Assistant credentials created in step 2
7. Install Home Assistant Node-RED Add-on
8. Download “wican_example_flow.json” and replace device_id with your WiCAN ID.
9. Open Node-RED Add-on and import the edited “wican_example_flow.json”
10. Double click on the subsction Node and edit the server fill in MQTT broker IP address and credentials created in step 2
11. Click deploy.
12. To create a new MQTT sensor, you’ll need to edit the configuration.yaml file by adding the following lines:

mqtt:
sensor:
- name: “Amb Temp”
state_topic: “CAR1/Amb_Temp”
unit_of_measurement: “C”
value_template: “{{ value_json.amb_temp }}”
- name: “Fuel Level”
state_topic: “CAR1/Fuel_Level”
unit_of_measurement: “%”
value_template: “{{ value_json.fuel_level }}”

11. Restart Home assistant
12. After restart go to dashboard and Add new Card entity.

Does anybody knows if the Wican OBD2 BLE dongle is also compatible with the famous EV routing application ABRP ?

Hello : i found this code, of direct acces in BT to a dongle, from a Rasberry : GitHub - greenenergyprojects/obd2-gateway: OBD2 / HTTP Gateway

Any volonteer to port it to HA ?

It woud allow to use cheaper ODB2 BT4.0 dongle on the market (with the limitation of distance between car & rasberry)

1 Like

Hi Hedda! Have you received your Wican Esp32 yet?

I just received my first wican! I’m very impressed with this project. I love it! Thanks for sharing it in the community. I have been a Home Assistant user for years and both my house and my motorhome work thanks to it.

Yesterday, I implanted the Wican in my Peugeot Expert Motorhome which is 2 years old. The vehicle has a 4G Router and Homeassistant as its brain. This morning I just received the outside ambient temperature for the first time by MQTT/Node Red (following his instructions).

And I’m looking forward to see more Canbus information on Homeassistant.
Who knows, maybe one day we can turn the car volume up and down from Home Assistant!

I will closely follow the project and the future integration with Home Assistant.

1 Like

I have recieved both of mine however not yet had time to actually test/try any them yet with our two old cars.

Other than for reading diagnostic alarm messages and help with reminders to fill up the fuel tank I am thinking about trying to also use them as arrival sensors as well, if can figure out when to set assumed state of a car as gone and when assumed states should be set to arrived.

1 Like

Do they put a bluetooth LE signal out?

@pocket I have the same use case, I’d love to send state of charge (SoC) to HA while my vehicle is charging and on WiFi. Did you ever figure out if this is possible?

I’m intrigued by this project but find the documentation somewhat lacking. It’s not clear if (1) it will work at all with my specific make / model of car, (2) if it will read SoC, or (3) if it will work while the car is powered off.

1 Like

@danep Check out meapiHQ discussion in link below. I was able the pull the generic pid for state of charge (%) on my Pacifica and plot it in HA. However, I after a while the device would seem to lock up and I would not get further readings until I reseated it. I haven’t had time to play with it much, but may not be an issue in newer firmware or maybe I was overwhelming the bus with polls. I wasn’t able to figure out the more advanced statistics as my understanding how to accesses it is beyond my understanding.

https://github.com/meatpiHQ/wican-fw/discussions/23

Unfortunately, I’ve made an initial attempt to get it working, but haven’t been able to follow through. Like @smurf12345’s experience, the WiCAN would lose connectivity. From what I’ve read, the process of charging the traction battery on my car doesn’t charge the starter battery. I may need to power the WiCAN externally to keep it online.

I have been trying to find SOME way to get basic info like SOC and battery levels of my Huyndai Electric to Home Assistant. I found out EQNotify could do that (and I have ODB-II -reader with BT but that needs Android phone in between. I do have one but I am not standing next to my car 24/7 with the phone in my hand :slight_smile: I would like if there was some device that I could plug into ODB port on my car and it would take the power it needs from that port (and would consume very little when in sleep mode).

This WiCAN thing could be what I need, but before I order something from around the globe, I would like to know if it keeps connection (or at least wakes up automatically when car is charging), and works with my car. Not too much information available…

I submitted this Github Issue to the WiCAN repo regarding overwhelming the bus with polls. Thought it might interest you too.

Hey boys i ordered this one today. Did anyone actually got it working ? I’m expecting to use this to automate the garage door along with reading some info from it about my hyundai i30. Did anyone make it work with hyundai? Or anyone with actual screen shots from HA showing that it works ?

I installed one in my wife’s 15 Sienna and my '18 Fusion Energi yesterday and have started to receive MQTT messages from it.

Haven’t integrated it yet with HA as my wifi has been spotty and I don’t want to deal with that ATM.

Will update as I get some usable data.

Any updates from ya’ll? I’d love to get the battery charge and fuel amount of my cars into HA