Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Energy consumption sensors #19

Closed
wants to merge 9 commits into from
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,30 @@
ESPHome component for Rego 1000 heat pump controller, found in:

* IVT Greenline HE/HC/HA
* IVT Premiumline A Plus
* IVT Premiumline EQ
* IVT Premiumline HQ

### Features

* Poll any variable from heat pump (temperature sensors, timers, PID control values..)
* Read any passive data on the heat pump CAN bus (used for i.e. compressor on/off state)
* Set indoor setpoint using the Home assistant climate integration
* Act as an IVT indoor sensor using the tempeature from a home assistant integrated temperature sensor
* Act as an IVT indoor sensor using the temperature from a home assistant integrated temperature sensor
* Set any heat pump variable, e.g. hysterisis, admin access, hot water eco/comfort mode

### Installation

If the calculated sensor `Energy consumption compressor` will be used the estimated compressor power consumption should be set (or added if missing) in the `rego1000-vx.x.x.yaml file`

Make changes to secrets and CAN bus pins in rego1000.yaml, then install it on the ESP32 using

```bash
esphome run rego1000-<version>.yaml
```

### Connection

![Connection overview](connection_overview.jpg)
![Connection](connection.jpg)

Expand Down
1 change: 1 addition & 0 deletions rego1000-v3.14.0.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
substitutions:
COMPRESSOR_POWER: "2.6"
REGO_CAN_SUFFIX: "270"
ACCESSORIES_CONNECTED_BITMASK: "0x0000"
ACCESS_LEVEL: "0x0001"
Expand Down
67 changes: 67 additions & 0 deletions rego1000.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ sensor:
unit_of_measurement: °C
state_class: measurement
accuracy_decimals: 1

# The variable used for the sensor below is supported in Rego1000 v3.9.0 but has been removed in v3.14.0
# - platform: rego1000
# name: Energy output
# rego_variable: $STATS_ENERGY_OUTPUT
Expand All @@ -133,6 +135,71 @@ sensor:
# device_class: "energy"
# accuracy_decimals: 2

# Sensor for compressor operational time and estimated consumed energy
- platform: rego1000
id: op_time_compressor_heating
name: OpTime compressor heating
rego_variable: $STATS_COMPRESSOR_HEATING
unit_of_measurement: h
state_class: "total_increasing"
device_class: "duration"
filters:
- lambda: return x / 3600.0;
accuracy_decimals: 2
- platform: rego1000
id: op_time_compressor_dwh
name: OpTime compressor dhw
rego_variable: $STATS_COMPRESSOR_DHW
unit_of_measurement: h
state_class: "total_increasing"
device_class: "duration"
filters:
- lambda: return x / 3600.0;
accuracy_decimals: 2

# If this calculated sensor is used the COMPRESSOR_POWER should be set in the rego1000-vx.x.x.yaml file
# - platform: template
# id: energy_consumption_compressor
# name: Energy consumption compressor
# unit_of_measurement: kWh
# state_class: "total_increasing"
# device_class: "energy"
# accuracy_decimals: 2
# lambda: |-
# return (id(op_time_compressor_heating).state + id(op_time_compressor_dwh).state) * $COMPRESSOR_POWER;
# update_interval: 60s

# Sensor for energy consumed by additional heating
- platform: rego1000
id: energy_consumption_add_heating
name: Energy consumption add heating
rego_variable: $STATS_ELECTR_ADD_HEATING
value_factor: .001
unit_of_measurement: kWh
state_class: "total_increasing"
device_class: "energy"
accuracy_decimals: 2
- platform: rego1000
id: energy_consumption_add_dhw
name: Energy consumption add dhw
rego_variable: $STATS_ELECTR_ADD_DHW
value_factor: .001
unit_of_measurement: kWh
state_class: "total_increasing"
device_class: "energy"
accuracy_decimals: 2
- platform: template
id: energy_consumption_add
name: Energy consumption add
unit_of_measurement: kWh
state_class: "total_increasing"
device_class: "energy"
accuracy_decimals: 2
lambda: |-
return id(energy_consumption_add_heating).state + id(energy_consumption_add_dhw).state;
update_interval: 60s


binary_sensor:
- platform: rego1000
name: "Heat carrier pump"
Expand Down
Loading