Skip to content

Commit

Permalink
Merge pull request #53 from claudegel/HP6000ZB
Browse files Browse the repository at this point in the history
Add support for HP6000ZB-xx
  • Loading branch information
claudegel authored Nov 10, 2024
2 parents 9e5cb34 + a372533 commit 3c07c5a
Showing 1 changed file with 92 additions and 2 deletions.
94 changes: 92 additions & 2 deletions thermostat.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Module to handle quirks of the Sinopé Technologies thermostat.
"""Module to handle quirks of the Sinopé Technologies thermostats.
Manufacturer specific cluster implements attributes to control displaying
of outdoor temperature, setting occupancy on/off and setting device time.
Expand All @@ -14,13 +14,14 @@
Basic,
Groups,
Identify,
LevelControl,
Ota,
PowerConfiguration,
Scenes,
Time,
)
from zigpy.zcl.clusters.homeautomation import Diagnostic, ElectricalMeasurement
from zigpy.zcl.clusters.hvac import Thermostat, UserInterface
from zigpy.zcl.clusters.hvac import Fan, Thermostat, UserInterface
from zigpy.zcl.clusters.measurement import TemperatureMeasurement
from zigpy.zcl.clusters.smartenergy import Metering
from zigpy.zcl.foundation import Array
Expand Down Expand Up @@ -735,3 +736,92 @@ class SinopeG2Thermostats(SinopeTechnologiesThermostat):
}
}
}


class SinopeHPThermostats(SinopeTechnologiesThermostat):
"""HP6000ZB-MA and HP6000ZB-GE thermostats."""

signature = {
# <SimpleDescriptor endpoint=1 profile=260 device_type=775 device_version=1
# input_clusters=[0, 3, 4, 5, 8, 513, 514, 516, 1026, 2821, 65281]
# output_clusters=[25]>
MODELS_INFO: [
(SINOPE, "HP6000ZB-MA"),
(SINOPE, "HP6000ZB-GE"),
],
ENDPOINTS: {
1: {
PROFILE_ID: zha_p.PROFILE_ID,
DEVICE_TYPE: zha_p.DeviceType.MINI_SPLIT_AC,
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
LevelControl.cluster_id,
Thermostat.cluster_id,
Fan.cluster_id,
UserInterface.cluster_id,
TemperatureMeasurement.cluster_id,
Diagnostic.cluster_id,
SINOPE_MANUFACTURER_CLUSTER_ID,
],
OUTPUT_CLUSTERS: [Ota.cluster_id],
},
2: {
PROFILE_ID: zha_p.PROFILE_ID,
DEVICE_TYPE: zha_p.DeviceType.MINI_SPLIT_AC,
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
LevelControl.cluster_id,
Thermostat.cluster_id,
Fan.cluster_id,
UserInterface.cluster_id,
TemperatureMeasurement.cluster_id,
Diagnostic.cluster_id,
SINOPE_MANUFACTURER_CLUSTER_ID,
],
OUTPUT_CLUSTERS: [Ota.cluster_id],
},
},
}

replacement = {
ENDPOINTS: {
1: {
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
LevelControl.cluster_id,
Fan.cluster_id,
UserInterface.cluster_id,
TemperatureMeasurement.cluster_id,
Diagnostic.cluster_id,
SinopeTechnologiesThermostatCluster,
SinopeTechnologiesManufacturerCluster,
],
OUTPUT_CLUSTERS: [Ota.cluster_id],
},
2: {
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
LevelControl.cluster_id,
Fan.cluster_id,
UserInterface.cluster_id,
TemperatureMeasurement.cluster_id,
Diagnostic.cluster_id,
SinopeTechnologiesThermostatCluster,
SinopeTechnologiesManufacturerCluster,
],
OUTPUT_CLUSTERS: [Ota.cluster_id],
},
}
}

0 comments on commit 3c07c5a

Please sign in to comment.