|
1 |
| -"""Module to handle quirks of the Sinopé Technologies thermostat. |
| 1 | +"""Module to handle quirks of the Sinopé Technologies thermostats. |
2 | 2 |
|
3 | 3 | Manufacturer specific cluster implements attributes to control displaying
|
4 | 4 | of outdoor temperature, setting occupancy on/off and setting device time.
|
|
14 | 14 | Basic,
|
15 | 15 | Groups,
|
16 | 16 | Identify,
|
| 17 | + LevelControl, |
17 | 18 | Ota,
|
18 | 19 | PowerConfiguration,
|
19 | 20 | Scenes,
|
20 | 21 | Time,
|
21 | 22 | )
|
22 | 23 | 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 |
24 | 25 | from zigpy.zcl.clusters.measurement import TemperatureMeasurement
|
25 | 26 | from zigpy.zcl.clusters.smartenergy import Metering
|
26 | 27 | from zigpy.zcl.foundation import Array
|
@@ -645,3 +646,93 @@ class SinopeG2Thermostats(SinopeTechnologiesThermostat):
|
645 | 646 | }
|
646 | 647 | }
|
647 | 648 | }
|
| 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