Integrates the Home Power Plants from E3/DC GmbH into openHAB. See [E3DC Website](https://www.e3dc.com/) to find more informations about the device.
The Power Plant handles all your Electrical Energy Resources like Photovoltaic Producers, Battery Storage, Wallbox Power Supply, Household Consumption and even more.
E3DC devices are integrated into the Modbus Binding.
See chapter [Thing Configuration](#thing-configuration) how to set them up or check the [full example Things](#things) for manual setup.
## Supported Things
First you need a Bridge which establishes the basic connection towards your E3DC device
| E3DC Home Power Plant | e3dc | Provides Power values, String Details, Emergency Power Status and general Information of your E3DC Home Power Plant |
| E3DC Wallbox | e3dc-wallbox | Provides your Wallbox Settings. Switches like "Sunmode" or "1-Phase Charging" can be changed |
## Discovery
There's no discovery. Modbus registers are available for all devices.
## Thing Configuration
As mentioned earlier in the [Binding Description](#e3dc-binding) the needed Things can be found in the **Modbus Binding** and have to be added manually without Discovery
1. Create _Modbus TCP Bridge_ with matching Settings of your E3DC Device
* IP Address
* Device ID
* Port ID
2. Create _E3DC Home Power Plant_ and attach it to the previous installed _Modbus TCP Bridge_. Configuration requires an approriate Data Refresh Interval with more than 1000 Milliseconds
3. If you have a Wallbox attached add _E3DC Wallbox_ Thing with your previous installed _E3DC Home Power Plant_ as Bridge. Configuration requires a Wallbox ID between 0 and 7.
Check the [full example Things](#things) for manual setup.
| PV Output | power | pv-power-supply | Number:Power | Photovoltaic Power Production |
| Battery Discharge | power | battery-power-supply | Number:Power | Battery discharges and provides Power |
| Battery Charge | power | battery-power-consumption | Number:Power | Battery charges and consumes Power |
| Household Consumption | power | household-power-consumption | Number:Power | Household consuming Power |
| Grid Power Consumption | power | grid-power-consumption | Number:Power | Grid Power is needed in order to satisfy your overall Power consumption |
| Grid Power Supply | power | grid-power-supply | Number:Power | More Photovoltaic Power is produced than needed. Additional Power is provided towards the Grid |
| External Power Supply | power | external-power-supply | Number:Power | Power produced by an external device which is attached to your E3DC device |
| Wallbox Power Consumption | power | wallbox-power-consumption | Number:Power | Power consumption of attached Wallboxes |
| Wallbox PV Power Consumption | power | wallbox-pv-power-consumption | Number:Power | Photovoltaic Power consumption (PV plus Battery) of attached Wallboxes |
| Autarky | power | autarky-channel | Number:Dimensionless | Your current Autarky Level in Percent |
| Self Consumption | power | self-consumption | Number:Dimensionless | Your current Photovoltaic Self Consumption Level in Percent |
| Battery State Of Charge | power | battery-soc | Number:Dimensionless | Charge Level of your attached Battery in Percent |
### Channel Group _String Details Block_
| Channel Label | Channel Group ID | Channel ID | Type | Description |
| Emergency Power Status | emergency | emergency-power-status | String | Possible values: EP not supported, EP active, EP not active, EP not available, EP Switch in wrong position, EP Status unknown |
| Jack Locked | wb-jack-locked | Switch | RO | Jack is locked |
| Jack Plugged | wb-jack-plugged | Switch | RO | Jack is plugged |
| Schuko Socket On | wb-schuko-on | Switch | RW | If your Wallbox has an additional Schuko Socket it provides state ON or OFF |
| Schuko Socket Plugged | wb-schuko-plugged | Switch | RO | If your Wallbox has an additional Schuko Socket it provides plugged state ON or OFF |
| Schuko Socket Locked | wb-schuko-locked | Switch | RO | If your Wallbox has an additional Schuko Socket it provides locked state ON or OFF |
| Schuko 16A Relay On | wb-schuko-relay-16a | Switch | RO | Schuko 16A Relay is ON |
| 16A Relay On | wb-relay-16a | Switch | RO | Wallbox 16A Relay is ON |
| 32A Relay On | wb-relay-32a | Switch | RO | Wallbox 32A Relay is ON |
| 1-Phase Charging | 1-Phase Active | Switch | RW | 1-phase charging is activated. If OFF 3-phase charging is activated |
## Full Example
Following example provides the full configuration. If you enter the correct Connection Data, IP Address, Device ID and Port number in the thing configuration you should be fine.
Switch item=E3DC_EMS_ChargeLockTime label="Charge Lock Times [%s]"
Switch item=E3DC_EMS_DischargeLockTime label="Discharge Lock Times [%s]"
}
}
```
## Going further
Setup and configured everything the right way? Congratulations, you've now the recent E3DC values on your table. Don't stop and go ahead!
### Persistence
You can see in the example item configuration, that I added some items to the "persist". Feel free to choose your own group name but this opens the possibility
to store the items in a database. See following *.persist file configuration how this can be established.
```
Strategies {
everyMinute : "0 * ** * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
Items {
// persist items on every change and every minute - used for E3DC
persist : strategy = everyChange, everyMinute
}
```
### Visualization
After the timeline is available in your database you can continue with Visualization. I like the Grafana approach and I used the
I prepared my machine and I'm quite pleased with the results.
<imgstyle="float: right;"src="doc/GrafanaPV.png">
In the above picture there are two graphs
* The top one shows the Photovoltaic Production of my 2 attached Strings. You can clearly see when the sky wasn't bright the production goes down
* The bottom graph show the producers & consumers.
* Battery in blue charging during the day, discharging at night
* Household consumption in green
* Wallbox consumption in orange
* Grid consumption / supply in yellow
### Cross Connections
With the above setup you have now a great visualization and overview regarding your electric production and consumption. Now use the Power of openHAB and cross
connect your data. For example you can use the
[OpenweatherMap API Binding](https://www.openhab.org/addons/bindings/openweathermap/)
the cloudiness in Percent. With a modified *.persist file I store the cloudiness forecast also in the database
```
Strategies {
everyMinute : "0 * ** * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
Items {
// persist items on every change and every minute - used for E3DC