Skip to content

Commit bda9294

Browse files
authored
Add support for Sinopé HP6000ZB-xx thermostats (#3501)
1 parent 1bd968c commit bda9294

File tree

1 file changed

+93
-2
lines changed

1 file changed

+93
-2
lines changed

zhaquirks/sinope/thermostat.py

Lines changed: 93 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""Module to handle quirks of the Sinopé Technologies thermostat.
1+
"""Module to handle quirks of the Sinopé Technologies thermostats.
22
33
Manufacturer specific cluster implements attributes to control displaying
44
of outdoor temperature, setting occupancy on/off and setting device time.
@@ -14,13 +14,14 @@
1414
Basic,
1515
Groups,
1616
Identify,
17+
LevelControl,
1718
Ota,
1819
PowerConfiguration,
1920
Scenes,
2021
Time,
2122
)
2223
from zigpy.zcl.clusters.homeautomation import Diagnostic, ElectricalMeasurement
23-
from zigpy.zcl.clusters.hvac import Thermostat, UserInterface
24+
from zigpy.zcl.clusters.hvac import Fan, Thermostat, UserInterface
2425
from zigpy.zcl.clusters.measurement import TemperatureMeasurement
2526
from zigpy.zcl.clusters.smartenergy import Metering
2627
from zigpy.zcl.foundation import Array
@@ -645,3 +646,93 @@ class SinopeG2Thermostats(SinopeTechnologiesThermostat):
645646
}
646647
}
647648
}
649+
650+
651+
class SinopeHPThermostats(SinopeTechnologiesThermostat):
652+
"""HP6000ZB-MA and HP6000ZB-GE thermostats."""
653+
654+
signature = {
655+
# <SimpleDescriptor endpoint=1 profile=260 device_type=775 device_version=1
656+
# input_clusters=[0, 3, 4, 5, 8, 513, 514, 516, 1026, 2821, 65281]
657+
# output_clusters=[25]>
658+
MODELS_INFO: [
659+
(SINOPE, "HP6000ZB-GE"),
660+
(SINOPE, "HP6000ZB-HS"),
661+
(SINOPE, "HP6000ZB-MA"),
662+
],
663+
ENDPOINTS: {
664+
1: {
665+
PROFILE_ID: zha_p.PROFILE_ID,
666+
DEVICE_TYPE: zha_p.DeviceType.MINI_SPLIT_AC,
667+
INPUT_CLUSTERS: [
668+
Basic.cluster_id,
669+
Identify.cluster_id,
670+
Groups.cluster_id,
671+
Scenes.cluster_id,
672+
LevelControl.cluster_id,
673+
Thermostat.cluster_id,
674+
Fan.cluster_id,
675+
UserInterface.cluster_id,
676+
TemperatureMeasurement.cluster_id,
677+
Diagnostic.cluster_id,
678+
SINOPE_MANUFACTURER_CLUSTER_ID,
679+
],
680+
OUTPUT_CLUSTERS: [Ota.cluster_id],
681+
},
682+
2: {
683+
PROFILE_ID: zha_p.PROFILE_ID,
684+
DEVICE_TYPE: zha_p.DeviceType.MINI_SPLIT_AC,
685+
INPUT_CLUSTERS: [
686+
Basic.cluster_id,
687+
Identify.cluster_id,
688+
Groups.cluster_id,
689+
Scenes.cluster_id,
690+
LevelControl.cluster_id,
691+
Thermostat.cluster_id,
692+
Fan.cluster_id,
693+
UserInterface.cluster_id,
694+
TemperatureMeasurement.cluster_id,
695+
Diagnostic.cluster_id,
696+
SINOPE_MANUFACTURER_CLUSTER_ID,
697+
],
698+
OUTPUT_CLUSTERS: [Ota.cluster_id],
699+
},
700+
},
701+
}
702+
703+
replacement = {
704+
ENDPOINTS: {
705+
1: {
706+
INPUT_CLUSTERS: [
707+
Basic.cluster_id,
708+
Identify.cluster_id,
709+
Groups.cluster_id,
710+
Scenes.cluster_id,
711+
LevelControl.cluster_id,
712+
Fan.cluster_id,
713+
UserInterface.cluster_id,
714+
TemperatureMeasurement.cluster_id,
715+
Diagnostic.cluster_id,
716+
SinopeTechnologiesThermostatCluster,
717+
SinopeTechnologiesManufacturerCluster,
718+
],
719+
OUTPUT_CLUSTERS: [Ota.cluster_id],
720+
},
721+
2: {
722+
INPUT_CLUSTERS: [
723+
Basic.cluster_id,
724+
Identify.cluster_id,
725+
Groups.cluster_id,
726+
Scenes.cluster_id,
727+
LevelControl.cluster_id,
728+
Fan.cluster_id,
729+
UserInterface.cluster_id,
730+
TemperatureMeasurement.cluster_id,
731+
Diagnostic.cluster_id,
732+
SinopeTechnologiesThermostatCluster,
733+
SinopeTechnologiesManufacturerCluster,
734+
],
735+
OUTPUT_CLUSTERS: [Ota.cluster_id],
736+
},
737+
}
738+
}

0 commit comments

Comments
 (0)