Skip to content

Commit 14a7fec

Browse files
authored
Merge pull request #797 from plugwise/emma-zigbee
Add support for Emma in Zigbee mode
2 parents ca34ffa + f0ccb0e commit 14a7fec

File tree

8 files changed

+3082
-9
lines changed

8 files changed

+3082
-9
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
# Changelog
22

3-
## Ongoing
3+
## v1.8.0
44

55
- Test/validate for Python 3.14
66
- Fix entity_item counting, refresh/complete test-data-json files via [#794](https://github.com/plugwise/python-plugwise/pull/794)
7+
- Add initial support for the new Emma via [#797](https://github.com/plugwise/python-plugwise/pull/797)
78

89
## v1.7.8
910

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,17 +62,17 @@ Module providing interfacing with the Plugwise devices:
6262
### Smile
6363

6464
- [x] Adam
65-
- [x] Lisa
65+
- [x] Emma (only tested as ZigBee device connected to Adam)
6666
- [x] Jip
67-
- [x] Floor
68-
- [x] Tom
67+
- [x] Lisa
68+
- [x] Tom/Floor
6969
- [x] Koen (a Koen always comes with a Plug, the Plug is the active part)
7070
- [x] Plug
7171
- [x] Aqara Plug
72-
- [x] Anna
73-
- [x] Smile P1
74-
- [x] Stretch
75-
- [ ] Some of the equipment mentioned in USB when in use via Stretch or Adam
72+
- [x] Anna (v1.8 and later firmware versions)
73+
- [ ] Anna P1
74+
- [x] Smile P1 (v2.0 and later firmware versions)
75+
- [x] Stretch (only with Circles, please help out with other devices)
7676

7777
- [x] [Home-Assistant](https://home-assistant.io) via
7878
- [x] Native supporting networked Plugwise products

fixtures/adam_anna_new_2/data.json

Lines changed: 304 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,304 @@
1+
{
2+
"056ee145a816487eaa69243c3280f8bf": {
3+
"available": true,
4+
"binary_sensors": {
5+
"dhw_state": false,
6+
"flame_state": false,
7+
"heating_state": false
8+
},
9+
"dev_class": "heater_central",
10+
"location": "bc93488efab249e5bc54fd7e175a6f91",
11+
"maximum_boiler_temperature": {
12+
"lower_bound": 25.0,
13+
"resolution": 0.01,
14+
"setpoint": 50.0,
15+
"upper_bound": 95.0
16+
},
17+
"model": "Generic heater",
18+
"name": "OpenTherm",
19+
"sensors": {
20+
"intended_boiler_temperature": 0.0,
21+
"water_temperature": 34.0
22+
},
23+
"switches": {
24+
"dhw_cm_switch": false
25+
}
26+
},
27+
"14df5c4dc8cb4ba69f9d1ac0eaf7c5c6": {
28+
"available": true,
29+
"dev_class": "zone_thermostat",
30+
"hardware": "1",
31+
"location": "f2bf9048bef64cc5b6d5110154e33c81",
32+
"model": "Emma",
33+
"model_id": "170-01",
34+
"name": "Emma",
35+
"sensors": {
36+
"humidity": 61.8,
37+
"setpoint": 15.0,
38+
"temperature": 21.9
39+
},
40+
"temperature_offset": {
41+
"lower_bound": -2.0,
42+
"resolution": 0.1,
43+
"setpoint": 0.0,
44+
"upper_bound": 2.0
45+
},
46+
"vendor": "Plugwise",
47+
"zigbee_mac_address": "60EFABFFFE89965C"
48+
},
49+
"1772a4ea304041adb83f357b751341ff": {
50+
"available": true,
51+
"binary_sensors": {
52+
"low_battery": false
53+
},
54+
"dev_class": "thermostatic_radiator_valve",
55+
"firmware": "2020-11-04T01:00:00+01:00",
56+
"hardware": "1",
57+
"location": "f871b8c4d63549319221e294e4f88074",
58+
"model": "Tom/Floor",
59+
"model_id": "106-03",
60+
"name": "Tom Badkamer",
61+
"sensors": {
62+
"battery": 60,
63+
"setpoint": 12.0,
64+
"temperature": 19.1,
65+
"temperature_difference": -0.4,
66+
"valve_position": 0.0
67+
},
68+
"temperature_offset": {
69+
"lower_bound": -2.0,
70+
"resolution": 0.1,
71+
"setpoint": 0.1,
72+
"upper_bound": 2.0
73+
},
74+
"vendor": "Plugwise",
75+
"zigbee_mac_address": "000D6F000C8FF5EE"
76+
},
77+
"2568cc4b9c1e401495d4741a5f89bee1": {
78+
"available": true,
79+
"dev_class": "hometheater_plug",
80+
"firmware": "2020-11-10T01:00:00+01:00",
81+
"location": "f2bf9048bef64cc5b6d5110154e33c81",
82+
"model": "Plug",
83+
"model_id": "160-01",
84+
"name": "Plug MediaTV",
85+
"sensors": {
86+
"electricity_consumed": 15.6,
87+
"electricity_consumed_interval": 4.0,
88+
"electricity_produced": 0.0,
89+
"electricity_produced_interval": 0.0
90+
},
91+
"switches": {
92+
"lock": false,
93+
"relay": true
94+
},
95+
"vendor": "Plugwise",
96+
"zigbee_mac_address": "000D6F000D13CCFD"
97+
},
98+
"29542b2b6a6a4169acecc15c72a599b8": {
99+
"available": true,
100+
"dev_class": "water_heater_vessel_plug",
101+
"firmware": "2020-11-10T01:00:00+01:00",
102+
"location": "8201a2ac4d1b4303bf994e18d67311eb",
103+
"model": "Plug",
104+
"model_id": "160-01",
105+
"name": "Plug Thermex Boiler",
106+
"sensors": {
107+
"electricity_consumed": 0.69,
108+
"electricity_consumed_interval": 0.0,
109+
"electricity_produced": 0.0,
110+
"electricity_produced_interval": 0.0
111+
},
112+
"switches": {
113+
"lock": true,
114+
"relay": true
115+
},
116+
"vendor": "Plugwise",
117+
"zigbee_mac_address": "000D6F000D13CA9A"
118+
},
119+
"854f8a9b0e7e425db97f1f110e1ce4b3": {
120+
"available": true,
121+
"dev_class": "central_heating_pump_plug",
122+
"firmware": "2020-11-10T01:00:00+01:00",
123+
"location": "f2bf9048bef64cc5b6d5110154e33c81",
124+
"model": "Plug",
125+
"model_id": "160-01",
126+
"name": "Plug Vloerverwarming",
127+
"sensors": {
128+
"electricity_consumed": 0.0,
129+
"electricity_consumed_interval": 0.0,
130+
"electricity_produced": 0.0,
131+
"electricity_produced_interval": 0.0
132+
},
133+
"switches": {
134+
"relay": false
135+
},
136+
"vendor": "Plugwise",
137+
"zigbee_mac_address": "000D6F000D13CB6F"
138+
},
139+
"ad4838d7d35c4d6ea796ee12ae5aedf8": {
140+
"dev_class": "thermostat",
141+
"location": "f2bf9048bef64cc5b6d5110154e33c81",
142+
"model": "ThermoTouch",
143+
"model_id": "143.1",
144+
"name": "Anna",
145+
"sensors": {
146+
"setpoint": 15.0,
147+
"temperature": 19.5
148+
},
149+
"vendor": "Plugwise"
150+
},
151+
"da224107914542988a88561b4452b0f6": {
152+
"binary_sensors": {
153+
"plugwise_notification": false
154+
},
155+
"dev_class": "gateway",
156+
"firmware": "3.9.0",
157+
"gateway_modes": ["away", "full", "vacation"],
158+
"hardware": "AME Smile 2.0 board",
159+
"location": "bc93488efab249e5bc54fd7e175a6f91",
160+
"mac_address": "D40FB2019891",
161+
"model": "Gateway",
162+
"model_id": "smile_open_therm",
163+
"name": "Adam",
164+
"notifications": {},
165+
"regulation_modes": ["bleeding_cold", "heating", "off", "bleeding_hot"],
166+
"select_gateway_mode": "full",
167+
"select_regulation_mode": "heating",
168+
"sensors": {
169+
"outdoor_temperature": 13.9
170+
},
171+
"vendor": "Plugwise",
172+
"zigbee_mac_address": "000D6F000D5A168D"
173+
},
174+
"da575e9e09b947e281fb6e3ebce3b174": {
175+
"available": true,
176+
"binary_sensors": {
177+
"low_battery": false
178+
},
179+
"dev_class": "zone_thermometer",
180+
"firmware": "2020-09-01T02:00:00+02:00",
181+
"hardware": "1",
182+
"location": "f2bf9048bef64cc5b6d5110154e33c81",
183+
"model": "Jip",
184+
"model_id": "168-01",
185+
"name": "Jip",
186+
"sensors": {
187+
"battery": 100,
188+
"humidity": 63.9,
189+
"setpoint": 15.0,
190+
"temperature": 18.8
191+
},
192+
"vendor": "Plugwise",
193+
"zigbee_mac_address": "70AC08FFFEE16437"
194+
},
195+
"e2f4322d57924fa090fbbc48b3a140dc": {
196+
"available": true,
197+
"binary_sensors": {
198+
"low_battery": false
199+
},
200+
"dev_class": "zone_thermostat",
201+
"firmware": "2016-10-10T02:00:00+02:00",
202+
"hardware": "255",
203+
"location": "f871b8c4d63549319221e294e4f88074",
204+
"model": "Lisa",
205+
"model_id": "158-01",
206+
"name": "Lisa Badkamer",
207+
"sensors": {
208+
"battery": 71,
209+
"setpoint": 12.0,
210+
"temperature": 18.8
211+
},
212+
"temperature_offset": {
213+
"lower_bound": -2.0,
214+
"resolution": 0.1,
215+
"setpoint": 0.0,
216+
"upper_bound": 2.0
217+
},
218+
"vendor": "Plugwise",
219+
"zigbee_mac_address": "000D6F000C869B61"
220+
},
221+
"e8ef2a01ed3b4139a53bf749204fe6b4": {
222+
"dev_class": "switching",
223+
"members": [
224+
"2568cc4b9c1e401495d4741a5f89bee1",
225+
"29542b2b6a6a4169acecc15c72a599b8"
226+
],
227+
"model": "Switchgroup",
228+
"name": "Test",
229+
"switches": {
230+
"relay": true
231+
},
232+
"vendor": "Plugwise"
233+
},
234+
"f2bf9048bef64cc5b6d5110154e33c81": {
235+
"active_preset": "vacation",
236+
"available_schedules": [
237+
"Badkamer",
238+
"Vakantie",
239+
"Weekschema",
240+
"Test",
241+
"off"
242+
],
243+
"climate_mode": "heat",
244+
"control_state": "idle",
245+
"dev_class": "climate",
246+
"model": "ThermoZone",
247+
"name": "Living room",
248+
"preset_modes": ["vacation", "no_frost", "asleep", "home", "away"],
249+
"select_schedule": "off",
250+
"sensors": {
251+
"electricity_consumed": 15.6,
252+
"electricity_produced": 0.0,
253+
"temperature": 18.8
254+
},
255+
"thermostat": {
256+
"lower_bound": 1.0,
257+
"resolution": 0.01,
258+
"setpoint": 15.0,
259+
"upper_bound": 35.0
260+
},
261+
"thermostats": {
262+
"primary": [
263+
"ad4838d7d35c4d6ea796ee12ae5aedf8",
264+
"14df5c4dc8cb4ba69f9d1ac0eaf7c5c6",
265+
"da575e9e09b947e281fb6e3ebce3b174"
266+
],
267+
"secondary": []
268+
},
269+
"vendor": "Plugwise"
270+
},
271+
"f871b8c4d63549319221e294e4f88074": {
272+
"active_preset": "vacation",
273+
"available_schedules": [
274+
"Badkamer",
275+
"Vakantie",
276+
"Weekschema",
277+
"Test",
278+
"off"
279+
],
280+
"climate_mode": "heat",
281+
"control_state": "idle",
282+
"dev_class": "climate",
283+
"model": "ThermoZone",
284+
"name": "Bathroom",
285+
"preset_modes": ["vacation", "no_frost", "asleep", "home", "away"],
286+
"select_schedule": "off",
287+
"sensors": {
288+
"electricity_consumed": 0.0,
289+
"electricity_produced": 0.0,
290+
"temperature": 18.8
291+
},
292+
"thermostat": {
293+
"lower_bound": 0.0,
294+
"resolution": 0.01,
295+
"setpoint": 12.0,
296+
"upper_bound": 99.9
297+
},
298+
"thermostats": {
299+
"primary": ["e2f4322d57924fa090fbbc48b3a140dc"],
300+
"secondary": ["1772a4ea304041adb83f357b751341ff"]
301+
},
302+
"vendor": "Plugwise"
303+
}
304+
}

plugwise/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"158-01": "Lisa",
5151
"160-01": "Plug",
5252
"168-01": "Jip",
53+
"170-01": "Emma",
5354
"038500": "Stick",
5455
"070085": "Stick",
5556
"120002": "Stick Legrand",

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "plugwise"
7-
version = "1.7.8"
7+
version = "1.8.0"
88
license = "MIT"
99
description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3."
1010
readme = "README.md"

0 commit comments

Comments
 (0)