EVNotify/EVNotiPi

When will old ZOE start working?

Opened this issue · 9 comments

Hi,

Because Renault services is not working for our Q210 I wanted to use Evnotify to monitor the charging process. I charge at my work place and there is also wifi coverage in the garage.

So I setup a rpi3 to connect to a bluetooth dongle -> working. I installed all dependencies for evnotipi on it. Evnotipi connects to the dongle fine and then states 'Old ZOE not working yet' :(

When will the old ZOE start working? Or what can I do to get to Q210 working myself? :)

Maybe PR #78 by @noradtux will help me to get the old ZOE class implemented faster?

Yes, it will. In theory it should already work but I didn't have the possibility to test it, yet.
Those PRs I did are quite intrusive, before merging we want to be sure they don't break anything.

@groninge01 Hence you seem to be self-building: If you are willing to test you will need a CAN-hat for the RPi using a MCP2515 controller. The PiCAN from skpang and the CAN-hat from Waveshare are known to work. The Q210 will not work using a Bluetooth dongle or other ELM327-based adapters with my current code.
I develop that stuff in https://github.com/noradtux/evnotipi, so if you want to help with Q210 you might give that repo a shot. If it works it will be ported over to the official repo.

The Q210 will not work using a Bluetooth dongle or other ELM327-based adapters with my current code.
I develop that stuff in https://github.com/noradtux/evnotipi, so if you want to help with Q210 you might give that repo a shot. If it works it will be ported over to the official repo.

I have cloned https://github.com/noradtux/evnotipi and the rpi is once again connected to the bluetooth dongle.

Now I know some Python. I don't know any OBD stuff :) I was kind of hoping to look at the evnotify repo and figure out from there what cmds to put in the Q210 class. I am however completely lost...

Where do I start to build the Q210 class?

I have cloned https://github.com/noradtux/evnotipi and the rpi is once again connected to the bluetooth dongle.

Now I know some Python. I don't know any OBD stuff :) I was kind of hoping to look at the evnotify repo and figure out from there what cmds to put in the Q210 class. I am however completely lost...

Where do I start to build the Q210 class?

The implementation for the "old" Zoes is in car/zoe.py. The specific car modules basically are supposed to provide additional information like max capacity. I just took a look, there are still some minor adjustments to the new infrastructure missing. I will add those right now ...

Aug 02 17:11:16 DietPi systemd[1]: Starting EVNotify Python Service...
Aug 02 17:11:17 DietPi evnotipi.py[1896]: INFO:EVNotiPi/dongle.at_base_dongle:Initializing OBD2 interface
Aug 02 17:11:22 DietPi evnotipi.py[1896]: INFO:EVNotiPi/EVNotify:Initializing EVNotify
Aug  2 17:16:16 DietPi systemd[1]: evnotipi.service: Start operation timed out. Terminating.
Aug  2 17:16:16 DietPi evnotipi.py[1896]: Exception in thread EVNotiPi/EVNotify:
Aug  2 17:16:16 DietPi evnotipi.py[1896]: Traceback (most recent call last):
Aug  2 17:16:16 DietPi evnotipi.py[1896]:   File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
Aug  2 17:16:16 DietPi evnotipi.py[1896]:     self.run()
Aug  2 17:16:16 DietPi evnotipi.py[1896]:   File "/usr/lib/python3/dist-packages/gevent/threading.py", line 177, in run
Aug  2 17:16:16 DietPi evnotipi.py[1896]:     super(Thread, self).run()
Aug  2 17:16:16 DietPi evnotipi.py[1896]:   File "/usr/lib/python3.7/threading.py", line 865, in run
Aug  2 17:16:16 DietPi evnotipi.py[1896]:     self._target(*self._args, **self._kwargs)
Aug  2 17:16:16 DietPi evnotipi.py[1896]:   File "/opt/evnotipi/evnotify.py", line 75, in submit_data
Aug  2 17:16:16 DietPi evnotipi.py[1896]:     evn = EVNotifyAPI.EVNotify(self._config['akey'], self._config['token'])
Aug  2 17:16:16 DietPi evnotipi.py[1896]: AttributeError: module 'EVNotifyAPI' has no attribute 'EVNotify'
Aug  2 17:16:16 DietPi evnotipi.py[1896]: INFO:EVNotiPi:Starting main loop
Aug  2 17:16:16 DietPi evnotipi.py[1896]: INFO:EVNotiPi:Exiting ...
Aug  2 17:16:16 DietPi evnotipi.py[1896]: INFO:EVNotiPi:Bye.
Aug  2 17:16:16 DietPi evnotipi.py[1896]: Traceback (most recent call last):
Aug  2 17:16:16 DietPi evnotipi.py[1896]:   File "/opt/evnotipi/evnotipi.py", line 153, in <module>
Aug  2 17:16:16 DietPi evnotipi.py[1896]:     status = t.check_thread()
Aug  2 17:16:16 DietPi evnotipi.py[1896]:   File "/opt/evnotipi/car/car.py", line 176, in check_thread
Aug  2 17:16:16 DietPi evnotipi.py[1896]:     return self._thread.is_alive()
Aug  2 17:16:16 DietPi evnotipi.py[1896]: AttributeError: 'NoneType' object has no attribute 'is_alive'
Aug  2 17:16:16 DietPi systemd[1]: evnotipi.service: Main process exited, code=exited, status=1/FAILURE
Aug  2 17:16:16 DietPi systemd[1]: evnotipi.service: Failed with result 'timeout'.
Aug  2 17:16:16 DietPi systemd[1]: Failed to start EVNotify Python Service.

I copied the EVNotify class to the empty EVNotifyAPI directory. But not quite there yet it seems...

Okay, looks like during merging I put an outdated version of the Zoe code into the repo. I had the better one in a backup, that's now restored and in the repo. And as said, this will not work with ELM327 dongles, especially over bluetooth, because they are too slow and will miss most frames and so will need lots of effort to make work properly.

I copied the EVNotify class to the empty EVNotifyAPI directory. But not quite there yet it seems...

git pull --recurse-submodules

Ok. At this moment that is all the hardware I have. If bluetooth won't work I will stop wasting your time.

Thanks for your time so far...