Skip to content

Commit

Permalink
Merge pull request #340 from sti0/feature/extract-air-dew-pnt-temp
Browse files Browse the repository at this point in the history
Extract air temperature and dew point for LWZ devices
  • Loading branch information
pail23 authored Dec 22, 2024
2 parents 2521c8a + 89cb0b5 commit 942ff62
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
2 changes: 2 additions & 0 deletions custom_components/stiebel_eltron_isg/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,8 @@
VENTILATION_AIR_TARGET_FLOW_RATE = "ventilation_air_target_flow_rate"
EXTRACT_AIR_ACTUAL_FAN_SPEED = "extract_air_actual"
EXTRACT_AIR_TARGET_FLOW_RATE = "extract_air_target_flowrate"
EXTRACT_AIR_DEW_POINT = "extract_air_dew_point"
EXTRACT_AIR_TEMPERATURE = "extract_air_temperature"
EXTRACT_AIR_HUMIDITY = "extract_air_humidity"

RESET_HEATPUMP = "reset_heatpump"
Expand Down
12 changes: 9 additions & 3 deletions custom_components/stiebel_eltron_isg/lwz_coordinator.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,10 @@
ERROR_STATUS,
EVAPORATOR_DEFROST,
EXTRACT_AIR_ACTUAL_FAN_SPEED,
EXTRACT_AIR_DEW_POINT,
EXTRACT_AIR_HUMIDITY,
EXTRACT_AIR_TARGET_FLOW_RATE,
EXTRACT_AIR_TEMPERATURE,
FAN_LEVEL_DAY,
FAN_LEVEL_NIGHT,
FILTER,
Expand Down Expand Up @@ -222,14 +224,18 @@ async def read_modbus_system_values(self) -> dict:
result[TARGET_TEMPERATURE_WATER] = get_isg_scaled_value(
decoder.decode_16bit_int(),
)
# 18-19-20-21-22
# 18-19-20-21-22-23-24
result[VENTILATION_AIR_ACTUAL_FAN_SPEED] = decoder.decode_16bit_uint()
result[VENTILATION_AIR_TARGET_FLOW_RATE] = decoder.decode_16bit_uint()
result[EXTRACT_AIR_ACTUAL_FAN_SPEED] = decoder.decode_16bit_uint()
result[EXTRACT_AIR_TARGET_FLOW_RATE] = decoder.decode_16bit_uint()
result[EXTRACT_AIR_HUMIDITY] = decoder.decode_16bit_uint()
# skip 23-24
decoder.skip_bytes(4)
result[EXTRACT_AIR_TEMPERATURE] = get_isg_scaled_value(
decoder.decode_16bit_uint()
)
result[EXTRACT_AIR_DEW_POINT] = get_isg_scaled_value(
decoder.decode_16bit_uint()
)
# 25-26
result[DEWPOINT_TEMPERATURE_HK1] = get_isg_scaled_value(
decoder.decode_16bit_int()
Expand Down
8 changes: 8 additions & 0 deletions custom_components/stiebel_eltron_isg/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,10 @@
ELECTRICAL_BOOSTER_HEATING,
ELECTRICAL_BOOSTER_HEATING_WATER,
EXTRACT_AIR_ACTUAL_FAN_SPEED,
EXTRACT_AIR_DEW_POINT,
EXTRACT_AIR_HUMIDITY,
EXTRACT_AIR_TARGET_FLOW_RATE,
EXTRACT_AIR_TEMPERATURE,
FLOW_TEMPERATURE,
FLOW_TEMPERATURE_NHZ,
FLOW_TEMPERATURE_WP1,
Expand Down Expand Up @@ -483,7 +485,13 @@ def create_volume_stream_entity_description(name, key):
native_unit_of_measurement=UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR,
state_class=SensorStateClass.MEASUREMENT,
),
create_temperature_entity_description(
"Extract air dew point", EXTRACT_AIR_DEW_POINT
),
create_humidity_entity_description("Extract air humidity", EXTRACT_AIR_HUMIDITY),
create_temperature_entity_description(
"Extract air temperature", EXTRACT_AIR_TEMPERATURE
),
]


Expand Down

0 comments on commit 942ff62

Please sign in to comment.