All Projects → steff393 → wbec

steff393 / wbec

Licence: MIT License
Control Heidelberg Wallbox Energy Control over WiFi using ESP8266

Programming Languages

C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
c
50402 projects - #5 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to wbec

hgdo
Hörmann Garage Door Opener mit ESP8266 (direkt über Bus, ohne UAP1 !)
Stars: ✭ 19 (-69.35%)
Mutual labels:  esp8266, wlan
OpenWeather
Arduino library to fetch weather forecasts from OpenWeatherMap
Stars: ✭ 88 (+41.94%)
Mutual labels:  esp8266
smart-pod
An ESP8266 and VS1053 driven WebRadio and Internet music player.
Stars: ✭ 17 (-72.58%)
Mutual labels:  esp8266
OneWireNg
Arduino 1-wire service library. OneWire compatible. Dallas thermometers support.
Stars: ✭ 32 (-48.39%)
Mutual labels:  esp8266
MicroPythonScripts
MicroPython Scripts and projects
Stars: ✭ 16 (-74.19%)
Mutual labels:  esp8266
coro2sens
Build a simple device that warns if CO₂ concentration in a room becomes a risk for COVID-19 aerosol infections.
Stars: ✭ 32 (-48.39%)
Mutual labels:  esp8266
sps30
Sensirion SPS30 driver for ESP32, SODAQ, MEGA2560, UNO, ESP8266, Particle-photon on UART OR I2C coummunication
Stars: ✭ 57 (-8.06%)
Mutual labels:  esp8266
nodemcu-shell
UNIX-like ultra-lightweight Shell for NodeMCU supported devices (ESP8266, ESP32, Raspberry Pi, NanoPi, Orange Pi) written in Lua
Stars: ✭ 25 (-59.68%)
Mutual labels:  esp8266
ResQ
Open Source Search and Rescue Tool for ground tracking and air usage based on ESP8266 hardware.
Stars: ✭ 20 (-67.74%)
Mutual labels:  esp8266
anwi
ANWI - All New Wireless IDS
Stars: ✭ 26 (-58.06%)
Mutual labels:  esp8266
raspiApWlanScripts
Wifi station/AP mode scripts
Stars: ✭ 24 (-61.29%)
Mutual labels:  wlan
TTyGO
VT220 serial terminal for Arduino
Stars: ✭ 22 (-64.52%)
Mutual labels:  esp8266
thinx-device-api
Remote IoT Device Management Platform
Stars: ✭ 19 (-69.35%)
Mutual labels:  esp8266
AstroMech
Protocol for exchanging small amounts of data over audio.
Stars: ✭ 21 (-66.13%)
Mutual labels:  esp8266
esp-homekit-direct
Connect HomeKit using esp8266 without HomeBridge
Stars: ✭ 72 (+16.13%)
Mutual labels:  esp8266
Sonoff-ESP8266-HomeKit
Firmware to control your Sonoff natively and directly through HomeKit.
Stars: ✭ 58 (-6.45%)
Mutual labels:  esp8266
TinyPixelMapper
a Pixelmapping software for the ESP32 and ESP8266 for addressible LED Strips, with a OSC controll interface and FFT
Stars: ✭ 22 (-64.52%)
Mutual labels:  esp8266
Somfy Remote Lib
Emulate a Somfy remote using a 433.42 MHz transmitter.
Stars: ✭ 43 (-30.65%)
Mutual labels:  esp8266
kwswitch
智能开关平台,包含服务端、硬件端、安卓端和前端。关键词:物联网开关、远程开关、红外线遥控开关、WIFI继电器、MQTT协议、ESP8266、Iot smart switch、Android、Spring boot、Vue、Arduino
Stars: ✭ 59 (-4.84%)
Mutual labels:  esp8266
WiFiConnect
WiFi connection manager for ESP32 and ESP8266 with OLED support
Stars: ✭ 28 (-54.84%)
Mutual labels:  esp8266

< scroll down for English version and additional information >

wbec

WLAN-Anbindung der Heidelberg WallBox Energy Control über ESP8266

GitHub all releases Lines of code

Die Heidelberg Wallbox Energy Control ist eine hochwertige Ladestation, bietet aber nur Modbus RTU als Schnittstelle.
Ziel des Projekts ist es, eine WLAN-Schnittstelle zu entwickeln, die gleichzeitig die Modbus-Leader-Funktion übernimmt.

Funktionen

  • Anbindung an openWB, EVCC, Solaranzeige (per tlw. Emulation der go-eCharger API)
  • MQTT-Kommunikation mit openWB und EVCC (ideal für mehrere Ladestationen)
  • Steuerbar per Android App Wallbox Steuerung
  • PV-Überschussladen, Zielladen, etc. mit den o.g. Steuerungen
  • RFID-Kartenleser zur Freischaltung der Wallbox mit gültiger Karte/Chip (spezielle HW nötig, s. Wiki)
  • Ansteuerung aller verbundenen Ladestationen (bis zu 16 Follower am Modbus, bis zu 8 openWB-Ladepunkte)
  • Lesen/Schreiben der Modbus-Register über ein JSON-Web-Interface
  • Standby-Funktion der Ladestation einstellbar
  • Einfacher Prototyp einer Webseite zur Steuerung
  • Einfacher Prototyp eines lokalen Lastmanagements (in Entwicklung)
  • Softwareupdate per WLAN (Over The Air), z.B. mit PlatformIO oder einfach per Browser (s. Wiki)
  • Access-Point-Modus zur initialen Einstellung des WLANs (SSID/Passwort, s. Wiki)
  • Weniger als 1W Strombedarf (trotz Ansteuerung von bis zu 16 Ladestationen)

Kontakt

Bei Fragen oder wenn ihr Unterstützung braucht gerne einfach eine Mail schicken ([email protected])
Bitte schaut auch ins Wiki und in meine anderen Projekte.

Bilder

Dank

wbec

Wifi interface to Heidelberg WallBox Energy Control using ESP8266

The Heidelberg Wallbox Energy Control is a high quality wallbox, but it offers only a Modbus RTU interface. Goal of this project is to establish an Wifi interface, which also acts as Modbus master.

Features

  • Works with openWB, EVCC, Solaranzeige (by emulation of parts of the go-eCharger API)
  • Support of MQTT communication to openWB and EVCC (perfect for multiple wallboxes)
  • Support of Android App Wallbox Steuerung
  • RFID card reader for unlocking the wallbox only with valid card/chip (needs special HW, s. Wiki)
  • Prepared for supporting up to all 16 connected boxes (up to 8 openWB load points)
  • Modbus registers can be read/written via JSON web interface
  • Standby of Wallbox can be configured
  • Simple prototype of a web interface
  • Simple prototype of a local load management
  • Update via WiFi (OTA), e.g. with PlatformIO or simply via Web browser (s. Wiki)
  • Access point mode, to configure your WiFi network/password (s. Wiki)
  • < 1W power consumption (for controlling up to 16 boxes)

Contact

In case of any questions or in case you need support, feel free to send a mail ([email protected]) ;-)
Please also take a look to the Wiki.

Switch configuration of wallbox

S1 >= 5 (16A max)
S2 = 0000
S3 = 0 (6A min)
S4 = 0001 (slave address, Bus-ID)
S5 = 0000
S6 = 0100 (terminator 120 Ohm, only on last box)

Examples

Simple web interface (example with powerfox setup):
http://x.x.x.x/web.html

Get current status (here for 2 configured wallboxes, but only 1 connected):

http://192.168.xx.yy/json

{
  "wbec": {
    "version": "v0.3.0"         // wbec version
    "bldDate": "2021-06-10"     // wbec build date
  },
  "box": [
    {                           // s. also https://wallbox.heidelberg.com/wp-content/uploads/2021/04/EC_ModBus_register_table_20210222.pdf
      "busId": 1,               // Modbus bus id (as configured by DIP switches)
      "version": "108",         // Modbus Register-Layouts Version, e.g. 1.0.8
      "chgStat": 2,             // Charging State
      "currL1": 0,              // L1 - Current RMS (in 0.1A)
      "currL2": 0,              // L2 - Current RMS (in 0.1A)
      "currL3": 0,              // L3 - Current RMS (in 0.1A)
      "pcbTemp": 333,           // PCB-Temperatur (in 0.1°C)
      "voltL1": 232,            // Voltage L1 - N rms in Volt
      "voltL2": 9,              // Voltage L2 - N rms in Volt
      "voltL3": 9,              // Voltage L3 - N rms in Volt
      "extLock": 1,             // extern lock state
      "power": 0,               // Power (L1+L2+L3) in VA
      "energyP": 0,             // Energy since PowerOn (in kWh)
      "energyI": 0.003,         // Energy since Installation (in kWh)
      "currMax": 16,            // Hardware configuration maximal current (in 0.1A)
      "currMin": 6,             // Hardware configuration minimal current (in 0.1A)
      "logStr": "<item no> <mfgDate> <serial>",
      "wdTmOut": 15000,         // ModBus-Master WatchDog Timeout (in ms)
      "standby": 4,             // Standby Function Control 
      "remLock": 1,             // Remote lock (only if extern lock unlocked) 
      "currLim": 130,           // Maximal current command
      "currFs": 0,              // FailSafe Current configuration 
      "load": 0,                // wbec load management
      "resCode": "0"            // Result code of last Modbus message (0 = ok)
    },
    {                           // Values of 2nd box ...
      "busId": 2,
      "version": "0",
      "chgStat": 0,
      ...
      "load": 0,
      "resCode": "e4"
    }
  ],
  "modbus": {
    "state": {
      "lastTm": 2852819,        // Timestamp of last Modbus message (in ms)
      "millis": 2855489         // Time since start of wbec (in ms)
    }
  },
  "rfid": {
    "enabled": true,
    "release": false,
    "lastId": "0cb6a781"
  },
  "wifi": {
    "mac": "00:1F:3F:15:29:7E", // wbec MAC address
    "rssi": -76,                // WiFi signal
    "signal": 48,               // WiFi signal quality (in %)
    "channel": 11               // WiFi channel
  }
}

Set allowed current:

http://192.168.xx.yy/json?currLim=120      --> set current limit to 12A (on the box with id=0, i.e. ModBus Bus-ID=1)
http://192.168.xx.yy/json?currLim=60&id=2  --> set current limit to 6A on the box with id=2 (i.e. ModBus Bus-ID=3)

Set Watchdog timeout:

http://192.168.xx.yy/json?wdTmOut=20000

go-eCharger API

wbec can partly emulate the API of Go-eCharger (https://github.com/goecharger/go-eCharger-API-v1) via the following HTTP commands:

Read:
http://x.x.x.x/status
{"car":"1","alw":"1","amp":"6","err":"0","stp":"0","tmp":"307","dws":"5955","ubi":"0","eto":"59","nrg":[231,232,234,0,0,0,0,0,0,0,0,0,0,0,0,0],"fwv":"40"}
{"version":"B","car":"1","err":"0","alw":"1","amp":"6","amx":"6","stp":"0","pha":"63","tmp":"307","dws":"0","dwo":"0","uby":"0","eto":"59","nrg":[233,234,233,0,0,0,0,0,0,0,0,0,0,0,0,0],"fwv":"40","sse":"123456","ama":"16","ust":"2"}

Write:
http://x.x.x.x/mqtt?payload=...

This offers a simple way to integrate wbec into Energy Management Systems, which support go-eCharger, but not the Heidelberg Energy Control, such as EVCC or Solaranzeige.

Credits

Third-party libraries included/adapted in wbec:

Special thanks also to the early testers and supporters: mli987, profex1337, Clanchef and many more!

Support the project

You like wbec? Please star this project on GitHub!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].