Fork of original OVMS3 project. Simplified repo for easier handling for myself. Focusing on Renault Zoe Phase 2 integration. https://ovms.bit-cloud.de
Find a file
2022-04-12 23:36:26 +02:00
OVMS.V3 Fix hyphen 2022-04-12 23:36:26 +02:00
OVMS.V3-idf@1ff5e24b1b Initial commit, fork from original Project 2022-04-06 00:04:46 +02:00
Reference Add CanZE as reference 2022-04-10 20:32:02 +02:00
.gitignore Initial commit, fork from original Project 2022-04-06 00:04:46 +02:00
.gitmodules Initial commit, fork from original Project 2022-04-06 00:04:46 +02:00
jenkins.xml Added jenkins config 2022-04-09 05:12:20 +02:00
ovms-ca.crt Add CA of my own Server 2022-04-06 01:13:00 +02:00
README.MD Fix OTA 2022-04-09 04:39:36 +02:00

OVMS3 Fork

I forked OVMS3 Original project to work on a vehicle integration for my Renault Zoe Phase 2.

Orignal project: https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3

Firmware-Version

The fork is fixed at Version 3.3.002 with their provided modified ESP-IDF

To-Do List

  • Integrate my server to assistant and server recommendation and add CA as well
  • Integrate PIDs for reading values like odometer, battery cell voltage and so on, via OBD connector (because of gateway read-only)
  • Accessing CAN bus after gateway to get full access to controllers use all available CAN bus interfaces OVMS hardware has
  • Get more useful PIDs with direct access of CAN busses
  • Try to control things like wake-up, charge control
  • Implement own control routines like stopping charge after certain soc, try to control Cabine heaters to heat while charging (use debug commands to enable them)

Releases

Successful build will be uploaded to my own OTA ovms-server at https://ovms-ota.bit-cloud.de or under Releases tab so self host them. You can just enter my OTA server URL under Config -> Firmware -> Update Server and click Flash from web-tab with empty URL to flash my firmware.

I will maintain main and edge version tag, please only flash main versions if you want to use it.

Version numbers

Firmware versions will be named like openvehicles ones. I will add a dash with a counting number so I can signal if an update is available. If I push my fork to newest version from openvehicles, I increase original Firmware number.

Example

Version string: 3.3.002-cs131
3.3.002 = Original firmware my fork based on.
-cs131 = counting number of my version.

Build prerequisites

If you have a freshly installed Debian or Ubuntu based operating system, you can install prerequisites with following commands. On other distributions you need to install these with your package manager

apt install git build-essential pyhton3 python3-pip python ncurses-dev flex bison gperf dos2unix
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2.7 get-pip.py

Build

Clone my repository and init submodules

git clone https://git.bit-cloud.de/carsten.schmiemann/OVMS3.git
cd OVMS3/
git submodule init
git submodule update

Install provided ESP IoT Development Framework

cd OVMS.V3-idf/
./install.sh

If you have trouble to install because another version of the IDF installed, delete the entire folder and try step above again

rm -rf ~/.espressif

Enable IDF (everytime you open a shell and want to compile project)

cd OVMS.V3-idf/
source export.sh

Go to OVMS Folder copy sdkconfig for your hardware and build firmware In this example for hardware 3.1 and above. You can customize it via make menuconfig

cd OVMS.V3/
cp support/sdkconfig.default.hw31 sdkconfig
make -jX

X = number of cpu cores to speed up build process

Then upload built firmware to your webserver and flash it via OTA function in OVMS webinterface.

Hint: If you build your first time, you need to execute make multiple times, because of downloading dependencies.

Security concerns

The OVMS3 project use an outdated and modified IDF, there are many security problems with them. Major problem is missing firewall so your webinterface and services like SSH is open to public ip of 3G/LTE interface. Most providers use an CG-NAT, but this is no a reliable protection at all.

Many of used libraries are outdated too. For example mongoose webserver has a lot of security problems fixed with newer versions.

I cannot fix these issues because I am not an experienced C programmer, I will focus on my vehicle integration.

I hope original project maintainers will fix them in the future, I know it is not an easy task because there a lot of changes in the IDF and dependencies.

OVMS Server

I use my own OVMS server, because I love privacy. So there are no push available only E-Mail for notifications.

You can use it too if you want, just register a account and vehicle at https://ovms.bit-cloud.de and point your OVMS module at https://ovms-server.bit-cloud.de Port 6870 with TLS enabled. You need to insert my CA into your OVMS3, because I cannot proxy it with nginx and letsencrypt certificates so I used self signed certs.

Create a file called ovms-ca at /store/trustedca with bult in editor in the webinterface. (Create folder if not exist) Paste content of ovms-ca.crt file to it and save it. The go to the web shell or ssh and typ in

tls trust reload