diff --git a/CHANGELOG.md b/CHANGELOG.md index d91dcf72d..12f392c90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Continuous improvements [#678](https://github.com/plugwise/python-plugwise/pull/678) - Refresh Anna_Elga_2 userdata and adapt, add missing item-count, line-up test-data headers [#679](https://github.com/plugwise/python-plugwise/pull/679) +- Rework code: output a single dict, add gw_data items as Smile-properties [#690](https://github.com/plugwise/python-plugwise/pull/690) ## v1.6.4 diff --git a/fixtures/adam_heatpump_cooling/all_data.json b/fixtures/adam_heatpump_cooling/all_data.json deleted file mode 100644 index 8c7e1667e..000000000 --- a/fixtures/adam_heatpump_cooling/all_data.json +++ /dev/null @@ -1,817 +0,0 @@ -{ - "devices": { - "04b15f6e884448288f811d29fb7b1b30": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "cool", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer SJ", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 22.6 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 20.5, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["d3a276aeb3114a509bab1e4bf8c40348"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "0ca13e8176204ca7bf6f09de59f81c83": { - "available": true, - "binary_sensors": { - "cooling_enabled": true, - "cooling_state": false, - "dhw_state": true, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "eedadcb297564f1483faa509179aebed", - "max_dhw_temperature": { - "lower_bound": 40.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 65.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 7.0, - "resolution": 0.01, - "setpoint": 35.0, - "upper_bound": 50.0 - }, - "model": "Generic heater/cooler", - "model_id": "17.1", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 63.5, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "outdoor_air_temperature": 13.5, - "return_temperature": 24.9, - "water_pressure": 2.0, - "water_temperature": 24.5 - }, - "switches": { - "dhw_cm_switch": true - }, - "vendor": "Remeha B.V." - }, - "1053c8bbf8be43c6921742b146a625f1": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "b52908550469425b812c87f766fe5303", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat BK", - "sensors": { - "battery": 55, - "setpoint": 18.0, - "temperature": 18.8 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A17" - }, - "1a27dd03b5454c4e8b9e75c8d1afc7af": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "20e735858f8146cead98b873177a4f99", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug DB", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "20e735858f8146cead98b873177a4f99": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "cool", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer DB", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 22.0 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 18.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["47e2c550a33846b680725aa3fb229473"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "2e0fc4db2a6d4cbeb7cf786143543961": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug KK", - "sensors": { - "electricity_consumed": 2.13, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A06" - }, - "3b4d2574e2c9443a832b48d19a1c4f06": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "04b15f6e884448288f811d29fb7b1b30", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug SJ", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A14" - }, - "3f0afa71f16c45ab964050002560e43c": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "fa5fa6b34f6b40a0972988b20e888ed4", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug WK", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A18" - }, - "47e2c550a33846b680725aa3fb229473": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "20e735858f8146cead98b873177a4f99", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat DB", - "sensors": { - "setpoint": 18.0, - "temperature": 22.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A20" - }, - "5cc21042f87f4b4c94ccb5537c47a53f": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Badkamer 2", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "Werkdag schema", - "sensors": { - "electricity_consumed": 0.0, - "temperature": 21.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 20.5, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["f04c985c11ad4848b8fcd710343f9dcf"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "5ead63c65e5f44e7870ba2bd680ceb9e": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "9a27714b970547ee9a6bdadc2b815ad5", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug SQ", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A15" - }, - "7d97fc3117784cfdafe347bcedcbbbcb": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.2.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "eedadcb297564f1483faa509179aebed", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": [ - "heating", - "off", - "bleeding_cold", - "bleeding_hot", - "cooling" - ], - "select_gateway_mode": "full", - "select_regulation_mode": "cooling", - "sensors": { - "outdoor_temperature": 13.4 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "7fda9f84f01342f8afe9ebbbbff30c0f": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "e39529c79ab54fda9bed26cfc0447546", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat JM", - "sensors": { - "setpoint": 18.0, - "temperature": 20.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "838c2f48195242709b87217cf8d8a71f": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "b52908550469425b812c87f766fe5303", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug BK", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A12" - }, - "8a482fa9dddb43acb765d019d8c9838b": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "5cc21042f87f4b4c94ccb5537c47a53f", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug BK2", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A10" - }, - "8cf650a4c10c44819e426bed406aec34": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Badkamer 1", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "Werkdag schema", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 21.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 20.5, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["eac5db95d97241f6b17790897847ccf5"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "93ac3f7bf25342f58cbb77c4a99ac0b3": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "cool", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer RB", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 3.13, - "temperature": 20.7 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 17.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["c4ed311d54e341f58b4cdd201d1fde7e"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "96714ad90fc948bcbcb5021c4b9f5ae9": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "e39529c79ab54fda9bed26cfc0447546", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug JM", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "9a27714b970547ee9a6bdadc2b815ad5": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "cool", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer SQ", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 21.4 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 18.5, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["beb32da072274e698146db8b022f3c36"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "a03b6e8e76dd4646af1a77c31dd9370c": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug RB", - "sensors": { - "electricity_consumed": 3.13, - "electricity_consumed_interval": 0.77, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - }, - "a562019b0b1f47a4bde8ebe3dbe3e8a9": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Keuken", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "Werkdag schema", - "sensors": { - "electricity_consumed": 2.13, - "electricity_produced": 0.0, - "temperature": 22.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 21.5, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["ea8372c0e3ad4622ad45a041d02425f5"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "b52908550469425b812c87f766fe5303": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "cool", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bijkeuken", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 18.8 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 18.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["1053c8bbf8be43c6921742b146a625f1"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "bbcffa48019f4b09b8368bbaf9559e68": { - "available": true, - "dev_class": "valve_actuator_plug", - "firmware": "2020-05-13T02:00:00+02:00", - "location": "8cf650a4c10c44819e426bed406aec34", - "model": "Plug", - "model_id": "160-01", - "name": "Smart Plug BK1", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A16" - }, - "beb32da072274e698146db8b022f3c36": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "9a27714b970547ee9a6bdadc2b815ad5", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat SQ", - "sensors": { - "setpoint": 18.5, - "temperature": 21.4 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "c4ed311d54e341f58b4cdd201d1fde7e": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat RB", - "sensors": { - "setpoint": 17.0, - "temperature": 20.7 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A04" - }, - "ca79d23ae0094120b877558734cff85c": { - "dev_class": "thermostat", - "location": "fa5fa6b34f6b40a0972988b20e888ed4", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Thermostaat WK", - "sensors": { - "setpoint": 21.5, - "temperature": 22.5 - }, - "vendor": "Plugwise" - }, - "d3a276aeb3114a509bab1e4bf8c40348": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "04b15f6e884448288f811d29fb7b1b30", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat SJ", - "sensors": { - "setpoint": 20.5, - "temperature": 22.6 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A13" - }, - "e39529c79ab54fda9bed26cfc0447546": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "cool", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer JM", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 20.0 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 18.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["7fda9f84f01342f8afe9ebbbbff30c0f"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "ea8372c0e3ad4622ad45a041d02425f5": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat KK", - "sensors": { - "battery": 53, - "setpoint": 21.5, - "temperature": 22.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "eac5db95d97241f6b17790897847ccf5": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "8cf650a4c10c44819e426bed406aec34", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat BK1", - "sensors": { - "setpoint": 20.5, - "temperature": 21.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "f04c985c11ad4848b8fcd710343f9dcf": { - "available": true, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "5cc21042f87f4b4c94ccb5537c47a53f", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostaat BK2", - "sensors": { - "setpoint": 20.5, - "temperature": 21.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A11" - }, - "fa5fa6b34f6b40a0972988b20e888ed4": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "Werkdag schema", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 22.5 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 21.5, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ca79d23ae0094120b877558734cff85c"], - "secondary": [] - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "7d97fc3117784cfdafe347bcedcbbbcb", - "heater_id": "0ca13e8176204ca7bf6f09de59f81c83", - "item_count": 497, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_heatpump_cooling/data.json b/fixtures/adam_heatpump_cooling/data.json new file mode 100644 index 000000000..04b033f2a --- /dev/null +++ b/fixtures/adam_heatpump_cooling/data.json @@ -0,0 +1,807 @@ +{ + "04b15f6e884448288f811d29fb7b1b30": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "cool", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer SJ", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 22.6 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 20.5, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["d3a276aeb3114a509bab1e4bf8c40348"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "0ca13e8176204ca7bf6f09de59f81c83": { + "available": true, + "binary_sensors": { + "cooling_enabled": true, + "cooling_state": false, + "dhw_state": true, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "eedadcb297564f1483faa509179aebed", + "max_dhw_temperature": { + "lower_bound": 40.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 65.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 7.0, + "resolution": 0.01, + "setpoint": 35.0, + "upper_bound": 50.0 + }, + "model": "Generic heater/cooler", + "model_id": "17.1", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 63.5, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 13.5, + "return_temperature": 24.9, + "water_pressure": 2.0, + "water_temperature": 24.5 + }, + "switches": { + "dhw_cm_switch": true + }, + "vendor": "Remeha B.V." + }, + "1053c8bbf8be43c6921742b146a625f1": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "b52908550469425b812c87f766fe5303", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat BK", + "sensors": { + "battery": 55, + "setpoint": 18.0, + "temperature": 18.8 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "1a27dd03b5454c4e8b9e75c8d1afc7af": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "20e735858f8146cead98b873177a4f99", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug DB", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "20e735858f8146cead98b873177a4f99": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "cool", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer DB", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 22.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 18.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["47e2c550a33846b680725aa3fb229473"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "2e0fc4db2a6d4cbeb7cf786143543961": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug KK", + "sensors": { + "electricity_consumed": 2.13, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "3b4d2574e2c9443a832b48d19a1c4f06": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "04b15f6e884448288f811d29fb7b1b30", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug SJ", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A14" + }, + "3f0afa71f16c45ab964050002560e43c": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "fa5fa6b34f6b40a0972988b20e888ed4", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug WK", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A18" + }, + "47e2c550a33846b680725aa3fb229473": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "20e735858f8146cead98b873177a4f99", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat DB", + "sensors": { + "setpoint": 18.0, + "temperature": 22.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A20" + }, + "5cc21042f87f4b4c94ccb5537c47a53f": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Badkamer 2", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "Werkdag schema", + "sensors": { + "electricity_consumed": 0.0, + "temperature": 21.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 20.5, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["f04c985c11ad4848b8fcd710343f9dcf"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "5ead63c65e5f44e7870ba2bd680ceb9e": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "9a27714b970547ee9a6bdadc2b815ad5", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug SQ", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A15" + }, + "7d97fc3117784cfdafe347bcedcbbbcb": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.2.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "eedadcb297564f1483faa509179aebed", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": [ + "heating", + "off", + "bleeding_cold", + "bleeding_hot", + "cooling" + ], + "select_gateway_mode": "full", + "select_regulation_mode": "cooling", + "sensors": { + "outdoor_temperature": 13.4 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "7fda9f84f01342f8afe9ebbbbff30c0f": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "e39529c79ab54fda9bed26cfc0447546", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat JM", + "sensors": { + "setpoint": 18.0, + "temperature": 20.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "838c2f48195242709b87217cf8d8a71f": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "b52908550469425b812c87f766fe5303", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug BK", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A12" + }, + "8a482fa9dddb43acb765d019d8c9838b": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "5cc21042f87f4b4c94ccb5537c47a53f", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug BK2", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "8cf650a4c10c44819e426bed406aec34": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Badkamer 1", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "Werkdag schema", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 21.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 20.5, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["eac5db95d97241f6b17790897847ccf5"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "93ac3f7bf25342f58cbb77c4a99ac0b3": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "cool", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer RB", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 3.13, + "temperature": 20.7 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 17.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["c4ed311d54e341f58b4cdd201d1fde7e"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "96714ad90fc948bcbcb5021c4b9f5ae9": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "e39529c79ab54fda9bed26cfc0447546", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug JM", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "9a27714b970547ee9a6bdadc2b815ad5": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "cool", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer SQ", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 21.4 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 18.5, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["beb32da072274e698146db8b022f3c36"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "a03b6e8e76dd4646af1a77c31dd9370c": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug RB", + "sensors": { + "electricity_consumed": 3.13, + "electricity_consumed_interval": 0.77, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + }, + "a562019b0b1f47a4bde8ebe3dbe3e8a9": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Keuken", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "Werkdag schema", + "sensors": { + "electricity_consumed": 2.13, + "electricity_produced": 0.0, + "temperature": 22.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["ea8372c0e3ad4622ad45a041d02425f5"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "b52908550469425b812c87f766fe5303": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "cool", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bijkeuken", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 18.8 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 18.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["1053c8bbf8be43c6921742b146a625f1"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "bbcffa48019f4b09b8368bbaf9559e68": { + "available": true, + "dev_class": "valve_actuator_plug", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "8cf650a4c10c44819e426bed406aec34", + "model": "Plug", + "model_id": "160-01", + "name": "Smart Plug BK1", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A16" + }, + "beb32da072274e698146db8b022f3c36": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "9a27714b970547ee9a6bdadc2b815ad5", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat SQ", + "sensors": { + "setpoint": 18.5, + "temperature": 21.4 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "c4ed311d54e341f58b4cdd201d1fde7e": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat RB", + "sensors": { + "setpoint": 17.0, + "temperature": 20.7 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "ca79d23ae0094120b877558734cff85c": { + "dev_class": "thermostat", + "location": "fa5fa6b34f6b40a0972988b20e888ed4", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Thermostaat WK", + "sensors": { + "setpoint": 21.5, + "temperature": 22.5 + }, + "vendor": "Plugwise" + }, + "d3a276aeb3114a509bab1e4bf8c40348": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "04b15f6e884448288f811d29fb7b1b30", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat SJ", + "sensors": { + "setpoint": 20.5, + "temperature": 22.6 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "e39529c79ab54fda9bed26cfc0447546": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "cool", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer JM", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 20.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 18.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["7fda9f84f01342f8afe9ebbbbff30c0f"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "ea8372c0e3ad4622ad45a041d02425f5": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat KK", + "sensors": { + "battery": 53, + "setpoint": 21.5, + "temperature": 22.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "eac5db95d97241f6b17790897847ccf5": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "8cf650a4c10c44819e426bed406aec34", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat BK1", + "sensors": { + "setpoint": 20.5, + "temperature": 21.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "f04c985c11ad4848b8fcd710343f9dcf": { + "available": true, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "5cc21042f87f4b4c94ccb5537c47a53f", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostaat BK2", + "sensors": { + "setpoint": 20.5, + "temperature": 21.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "fa5fa6b34f6b40a0972988b20e888ed4": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "Werkdag schema", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 22.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ca79d23ae0094120b877558734cff85c"], + "secondary": [] + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/adam_jip/all_data.json b/fixtures/adam_jip/all_data.json deleted file mode 100644 index 1dfe021ac..000000000 --- a/fixtures/adam_jip/all_data.json +++ /dev/null @@ -1,381 +0,0 @@ -{ - "devices": { - "06aecb3d00354375924f50c47af36bd2": { - "active_preset": "no_frost", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 24.2 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["1346fbd8498d4dbcab7e18d51b771f3d"], - "secondary": ["356b65335e274d769c338223e7af9c33"] - }, - "vendor": "Plugwise" - }, - "13228dab8ce04617af318a2888b3c548": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 27.4 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.01, - "setpoint": 9.0, - "upper_bound": 30.0 - }, - "thermostats": { - "primary": ["f61f1a2535f54f52ad006a3d18e459ca"], - "secondary": ["833de10f269c4deab58fb9df69901b4e"] - }, - "vendor": "Plugwise" - }, - "1346fbd8498d4dbcab7e18d51b771f3d": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "06aecb3d00354375924f50c47af36bd2", - "model": "Lisa", - "model_id": "158-01", - "name": "Slaapkamer", - "sensors": { - "battery": 92, - "setpoint": 13.0, - "temperature": 24.2 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "1da4d325838e4ad8aac12177214505c9": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "d58fec52899f4f1c92e4f8fad6d8c48c", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Logeerkamer", - "sensors": { - "setpoint": 13.0, - "temperature": 28.8, - "temperature_difference": 2.0, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "356b65335e274d769c338223e7af9c33": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "06aecb3d00354375924f50c47af36bd2", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Slaapkamer", - "sensors": { - "setpoint": 13.0, - "temperature": 24.2, - "temperature_difference": 1.7, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "457ce8414de24596a2d5e7dbc9c7682f": { - "available": true, - "dev_class": "zz_misc_plug", - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "model": "Aqara Smart Plug", - "model_id": "lumi.plug.maeu01", - "name": "Plug", - "sensors": { - "electricity_consumed_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": false - }, - "vendor": "LUMI", - "zigbee_mac_address": "ABCD012345670A06" - }, - "6f3e9d7084214c21b9dfa46f6eeb8700": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "d27aede973b54be484f6842d1b2802ad", - "model": "Lisa", - "model_id": "158-01", - "name": "Kinderkamer", - "sensors": { - "battery": 79, - "setpoint": 13.0, - "temperature": 30.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "833de10f269c4deab58fb9df69901b4e": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "13228dab8ce04617af318a2888b3c548", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Woonkamer", - "sensors": { - "setpoint": 9.0, - "temperature": 24.0, - "temperature_difference": 1.8, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "a6abc6a129ee499c88a4d420cc413b47": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "d58fec52899f4f1c92e4f8fad6d8c48c", - "model": "Lisa", - "model_id": "158-01", - "name": "Logeerkamer", - "sensors": { - "battery": 80, - "setpoint": 13.0, - "temperature": 30.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "b5c2386c6f6342669e50fe49dd05b188": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.2.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], - "select_gateway_mode": "full", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 24.9 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "d27aede973b54be484f6842d1b2802ad": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Kinderkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 30.0 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["6f3e9d7084214c21b9dfa46f6eeb8700"], - "secondary": ["d4496250d0e942cfa7aea3476e9070d5"] - }, - "vendor": "Plugwise" - }, - "d4496250d0e942cfa7aea3476e9070d5": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "d27aede973b54be484f6842d1b2802ad", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Kinderkamer", - "sensors": { - "setpoint": 13.0, - "temperature": 28.7, - "temperature_difference": 1.9, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A04" - }, - "d58fec52899f4f1c92e4f8fad6d8c48c": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Logeerkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 30.0 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["a6abc6a129ee499c88a4d420cc413b47"], - "secondary": ["1da4d325838e4ad8aac12177214505c9"] - }, - "vendor": "Plugwise" - }, - "e4684553153b44afbef2200885f379dc": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "max_dhw_temperature": { - "lower_bound": 40.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 20.0, - "resolution": 0.01, - "setpoint": 90.0, - "upper_bound": 90.0 - }, - "model": "Generic heater", - "model_id": "10.20", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "return_temperature": 37.1, - "water_pressure": 1.4, - "water_temperature": 37.3 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Remeha B.V." - }, - "f61f1a2535f54f52ad006a3d18e459ca": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermometer", - "firmware": "2020-09-01T02:00:00+02:00", - "hardware": "1", - "location": "13228dab8ce04617af318a2888b3c548", - "model": "Jip", - "model_id": "168-01", - "name": "Woonkamer", - "sensors": { - "battery": 100, - "humidity": 56.2, - "setpoint": 9.0, - "temperature": 27.4 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "b5c2386c6f6342669e50fe49dd05b188", - "heater_id": "e4684553153b44afbef2200885f379dc", - "item_count": 244, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_jip/data.json b/fixtures/adam_jip/data.json new file mode 100644 index 000000000..ba23d9418 --- /dev/null +++ b/fixtures/adam_jip/data.json @@ -0,0 +1,371 @@ +{ + "06aecb3d00354375924f50c47af36bd2": { + "active_preset": "no_frost", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 24.2 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["1346fbd8498d4dbcab7e18d51b771f3d"], + "secondary": ["356b65335e274d769c338223e7af9c33"] + }, + "vendor": "Plugwise" + }, + "13228dab8ce04617af318a2888b3c548": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 27.4 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.01, + "setpoint": 9.0, + "upper_bound": 30.0 + }, + "thermostats": { + "primary": ["f61f1a2535f54f52ad006a3d18e459ca"], + "secondary": ["833de10f269c4deab58fb9df69901b4e"] + }, + "vendor": "Plugwise" + }, + "1346fbd8498d4dbcab7e18d51b771f3d": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "06aecb3d00354375924f50c47af36bd2", + "model": "Lisa", + "model_id": "158-01", + "name": "Slaapkamer", + "sensors": { + "battery": 92, + "setpoint": 13.0, + "temperature": 24.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "1da4d325838e4ad8aac12177214505c9": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "d58fec52899f4f1c92e4f8fad6d8c48c", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Logeerkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 28.8, + "temperature_difference": 2.0, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "356b65335e274d769c338223e7af9c33": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "06aecb3d00354375924f50c47af36bd2", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Slaapkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 24.2, + "temperature_difference": 1.7, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "457ce8414de24596a2d5e7dbc9c7682f": { + "available": true, + "dev_class": "zz_misc_plug", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "model": "Aqara Smart Plug", + "model_id": "lumi.plug.maeu01", + "name": "Plug", + "sensors": { + "electricity_consumed_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": false + }, + "vendor": "LUMI", + "zigbee_mac_address": "ABCD012345670A06" + }, + "6f3e9d7084214c21b9dfa46f6eeb8700": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "d27aede973b54be484f6842d1b2802ad", + "model": "Lisa", + "model_id": "158-01", + "name": "Kinderkamer", + "sensors": { + "battery": 79, + "setpoint": 13.0, + "temperature": 30.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "833de10f269c4deab58fb9df69901b4e": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "13228dab8ce04617af318a2888b3c548", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Woonkamer", + "sensors": { + "setpoint": 9.0, + "temperature": 24.0, + "temperature_difference": 1.8, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "a6abc6a129ee499c88a4d420cc413b47": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "d58fec52899f4f1c92e4f8fad6d8c48c", + "model": "Lisa", + "model_id": "158-01", + "name": "Logeerkamer", + "sensors": { + "battery": 80, + "setpoint": 13.0, + "temperature": 30.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "b5c2386c6f6342669e50fe49dd05b188": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.2.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], + "select_gateway_mode": "full", + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 24.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "d27aede973b54be484f6842d1b2802ad": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Kinderkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 30.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["6f3e9d7084214c21b9dfa46f6eeb8700"], + "secondary": ["d4496250d0e942cfa7aea3476e9070d5"] + }, + "vendor": "Plugwise" + }, + "d4496250d0e942cfa7aea3476e9070d5": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "d27aede973b54be484f6842d1b2802ad", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Kinderkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 28.7, + "temperature_difference": 1.9, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "d58fec52899f4f1c92e4f8fad6d8c48c": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Logeerkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 30.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["a6abc6a129ee499c88a4d420cc413b47"], + "secondary": ["1da4d325838e4ad8aac12177214505c9"] + }, + "vendor": "Plugwise" + }, + "e4684553153b44afbef2200885f379dc": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "max_dhw_temperature": { + "lower_bound": 40.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 20.0, + "resolution": 0.01, + "setpoint": 90.0, + "upper_bound": 90.0 + }, + "model": "Generic heater", + "model_id": "10.20", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "return_temperature": 37.1, + "water_pressure": 1.4, + "water_temperature": 37.3 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Remeha B.V." + }, + "f61f1a2535f54f52ad006a3d18e459ca": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "location": "13228dab8ce04617af318a2888b3c548", + "model": "Jip", + "model_id": "168-01", + "name": "Woonkamer", + "sensors": { + "battery": 100, + "humidity": 56.2, + "setpoint": 9.0, + "temperature": 27.4 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + } +} diff --git a/fixtures/adam_multiple_devices_per_zone/all_data.json b/fixtures/adam_multiple_devices_per_zone/all_data.json deleted file mode 100644 index 4c8242b35..000000000 --- a/fixtures/adam_multiple_devices_per_zone/all_data.json +++ /dev/null @@ -1,603 +0,0 @@ -{ - "devices": { - "02cf28bfec924855854c544690a609ef": { - "available": true, - "dev_class": "vcr_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "NVR", - "sensors": { - "electricity_consumed": 34.0, - "electricity_consumed_interval": 9.15, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A15" - }, - "08963fec7c53423ca5680aa4cb502c63": { - "active_preset": "away", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Badkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "Badkamer Schema", - "sensors": { - "temperature": 18.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 14.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": [ - "f1fee6043d3642a9b0a65297455f008e", - "680423ff840043738f42cc7f1ff97a36" - ], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "12493538af164a409c6a1c79e38afe1c": { - "active_preset": "away", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bios", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 16.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["df4a4a8169904cdb9c03d61a21f42140"], - "secondary": ["a2c3583e0a6349358998b760cea82d2a"] - }, - "vendor": "Plugwise" - }, - "21f2b542c49845e6bb416884c55778d6": { - "available": true, - "dev_class": "game_console_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Playstation Smart Plug", - "sensors": { - "electricity_consumed": 84.1, - "electricity_consumed_interval": 8.6, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A12" - }, - "446ac08dd04d4eff8ac57489757b7314": { - "active_preset": "no_frost", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Garage", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "off", - "sensors": { - "temperature": 15.6 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 5.5, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["e7693eb9582644e5b865dba8d4447cf1"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "4a810418d5394b3f82727340b91ba740": { - "available": true, - "dev_class": "router_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "USG Smart Plug", - "sensors": { - "electricity_consumed": 8.5, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A16" - }, - "675416a629f343c495449970e2ca37b5": { - "available": true, - "dev_class": "router_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Ziggo Modem", - "sensors": { - "electricity_consumed": 12.2, - "electricity_consumed_interval": 2.97, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "680423ff840043738f42cc7f1ff97a36": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "08963fec7c53423ca5680aa4cb502c63", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Thermostatic Radiator Badkamer 1", - "sensors": { - "battery": 51, - "setpoint": 14.0, - "temperature": 19.1, - "temperature_difference": -0.4, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A17" - }, - "6a3bf693d05e48e0b460c815a4fdd09d": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "82fa13f017d240daa0d0ea1775420f24", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Thermostat Jessie", - "sensors": { - "battery": 37, - "setpoint": 15.0, - "temperature": 17.2 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "78d1126fc4c743db81b61c20e88342a7": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Plug", - "model_id": "160-01", - "name": "CV Pomp", - "sensors": { - "electricity_consumed": 35.6, - "electricity_consumed_interval": 7.37, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "82fa13f017d240daa0d0ea1775420f24": { - "active_preset": "asleep", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Jessie", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "CV Jessie", - "sensors": { - "temperature": 17.2 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 15.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["6a3bf693d05e48e0b460c815a4fdd09d"], - "secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"] - }, - "vendor": "Plugwise" - }, - "90986d591dcd426cae3ec3e8111ff730": { - "binary_sensors": { - "heating_state": true - }, - "dev_class": "heater_central", - "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "model": "Unknown", - "name": "OnOff", - "sensors": { - "intended_boiler_temperature": 70.0, - "modulation_level": 1, - "water_temperature": 70.0 - } - }, - "a28f588dc4a049a483fd03a30361ad3a": { - "available": true, - "dev_class": "settop_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Fibaro HC2", - "sensors": { - "electricity_consumed": 12.5, - "electricity_consumed_interval": 3.8, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A13" - }, - "a2c3583e0a6349358998b760cea82d2a": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "12493538af164a409c6a1c79e38afe1c", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Bios Cv Thermostatic Radiator ", - "sensors": { - "battery": 62, - "setpoint": 13.0, - "temperature": 17.2, - "temperature_difference": -0.2, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "b310b72a0e354bfab43089919b9a88bf": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Floor kraan", - "sensors": { - "setpoint": 21.5, - "temperature": 26.0, - "temperature_difference": 3.5, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "b59bcebaf94b499ea7d46e4a66fb62d8": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-08-02T02:00:00+02:00", - "hardware": "255", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Lisa WK", - "sensors": { - "battery": 34, - "setpoint": 21.5, - "temperature": 20.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "c50f167537524366a5af7aa3942feb1e": { - "active_preset": "home", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "GF7 Woonkamer", - "sensors": { - "electricity_consumed": 35.6, - "electricity_produced": 0.0, - "temperature": 20.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 21.5, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"], - "secondary": ["b310b72a0e354bfab43089919b9a88bf"] - }, - "vendor": "Plugwise" - }, - "cd0ddb54ef694e11ac18ed1cbce5dbbd": { - "available": true, - "dev_class": "vcr_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "NAS", - "sensors": { - "electricity_consumed": 16.5, - "electricity_consumed_interval": 0.5, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A14" - }, - "d3da73bde12a47d5a6b8f9dad971f2ec": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "82fa13f017d240daa0d0ea1775420f24", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Thermostatic Radiator Jessie", - "sensors": { - "battery": 62, - "setpoint": 15.0, - "temperature": 17.1, - "temperature_difference": 0.1, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A10" - }, - "df4a4a8169904cdb9c03d61a21f42140": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "12493538af164a409c6a1c79e38afe1c", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Lisa Bios", - "sensors": { - "battery": 67, - "setpoint": 13.0, - "temperature": 16.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A06" - }, - "e7693eb9582644e5b865dba8d4447cf1": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "446ac08dd04d4eff8ac57489757b7314", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "CV Kraan Garage", - "sensors": { - "battery": 68, - "setpoint": 5.5, - "temperature": 15.6, - "temperature_difference": 0.0, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A11" - }, - "f1fee6043d3642a9b0a65297455f008e": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "08963fec7c53423ca5680aa4cb502c63", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostatic Radiator Badkamer 2", - "sensors": { - "battery": 92, - "setpoint": 14.0, - "temperature": 18.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - }, - "fe799307f1624099878210aa0b9f1475": { - "binary_sensors": { - "plugwise_notification": true - }, - "dev_class": "gateway", - "firmware": "3.0.15", - "hardware": "AME Smile 2.0 board", - "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 7.81 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "fe799307f1624099878210aa0b9f1475", - "heater_id": "90986d591dcd426cae3ec3e8111ff730", - "item_count": 369, - "notifications": { - "af82e4ccf9c548528166d38e560662a4": { - "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." - } - }, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_multiple_devices_per_zone/data.json b/fixtures/adam_multiple_devices_per_zone/data.json new file mode 100644 index 000000000..d3e13a175 --- /dev/null +++ b/fixtures/adam_multiple_devices_per_zone/data.json @@ -0,0 +1,593 @@ +{ + "02cf28bfec924855854c544690a609ef": { + "available": true, + "dev_class": "vcr_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "NVR", + "sensors": { + "electricity_consumed": 34.0, + "electricity_consumed_interval": 9.15, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A15" + }, + "08963fec7c53423ca5680aa4cb502c63": { + "active_preset": "away", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "Badkamer Schema", + "sensors": { + "temperature": 18.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 14.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": [ + "f1fee6043d3642a9b0a65297455f008e", + "680423ff840043738f42cc7f1ff97a36" + ], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "12493538af164a409c6a1c79e38afe1c": { + "active_preset": "away", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bios", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 16.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["df4a4a8169904cdb9c03d61a21f42140"], + "secondary": ["a2c3583e0a6349358998b760cea82d2a"] + }, + "vendor": "Plugwise" + }, + "21f2b542c49845e6bb416884c55778d6": { + "available": true, + "dev_class": "game_console_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Playstation Smart Plug", + "sensors": { + "electricity_consumed": 84.1, + "electricity_consumed_interval": 8.6, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A12" + }, + "446ac08dd04d4eff8ac57489757b7314": { + "active_preset": "no_frost", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Garage", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "off", + "sensors": { + "temperature": 15.6 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 5.5, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["e7693eb9582644e5b865dba8d4447cf1"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "4a810418d5394b3f82727340b91ba740": { + "available": true, + "dev_class": "router_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "USG Smart Plug", + "sensors": { + "electricity_consumed": 8.5, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A16" + }, + "675416a629f343c495449970e2ca37b5": { + "available": true, + "dev_class": "router_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Ziggo Modem", + "sensors": { + "electricity_consumed": 12.2, + "electricity_consumed_interval": 2.97, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "680423ff840043738f42cc7f1ff97a36": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Thermostatic Radiator Badkamer 1", + "sensors": { + "battery": 51, + "setpoint": 14.0, + "temperature": 19.1, + "temperature_difference": -0.4, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "6a3bf693d05e48e0b460c815a4fdd09d": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Thermostat Jessie", + "sensors": { + "battery": 37, + "setpoint": 15.0, + "temperature": 17.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "78d1126fc4c743db81b61c20e88342a7": { + "available": true, + "dev_class": "central_heating_pump_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Plug", + "model_id": "160-01", + "name": "CV Pomp", + "sensors": { + "electricity_consumed": 35.6, + "electricity_consumed_interval": 7.37, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "82fa13f017d240daa0d0ea1775420f24": { + "active_preset": "asleep", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Jessie", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "CV Jessie", + "sensors": { + "temperature": 17.2 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 15.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["6a3bf693d05e48e0b460c815a4fdd09d"], + "secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"] + }, + "vendor": "Plugwise" + }, + "90986d591dcd426cae3ec3e8111ff730": { + "binary_sensors": { + "heating_state": true + }, + "dev_class": "heater_central", + "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", + "model": "Unknown", + "name": "OnOff", + "sensors": { + "intended_boiler_temperature": 70.0, + "modulation_level": 1, + "water_temperature": 70.0 + } + }, + "a28f588dc4a049a483fd03a30361ad3a": { + "available": true, + "dev_class": "settop_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Fibaro HC2", + "sensors": { + "electricity_consumed": 12.5, + "electricity_consumed_interval": 3.8, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "a2c3583e0a6349358998b760cea82d2a": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Bios Cv Thermostatic Radiator ", + "sensors": { + "battery": 62, + "setpoint": 13.0, + "temperature": 17.2, + "temperature_difference": -0.2, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "b310b72a0e354bfab43089919b9a88bf": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Floor kraan", + "sensors": { + "setpoint": 21.5, + "temperature": 26.0, + "temperature_difference": 3.5, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "b59bcebaf94b499ea7d46e4a66fb62d8": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Lisa WK", + "sensors": { + "battery": 34, + "setpoint": 21.5, + "temperature": 20.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "c50f167537524366a5af7aa3942feb1e": { + "active_preset": "home", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "GF7 Woonkamer", + "sensors": { + "electricity_consumed": 35.6, + "electricity_produced": 0.0, + "temperature": 20.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"], + "secondary": ["b310b72a0e354bfab43089919b9a88bf"] + }, + "vendor": "Plugwise" + }, + "cd0ddb54ef694e11ac18ed1cbce5dbbd": { + "available": true, + "dev_class": "vcr_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "NAS", + "sensors": { + "electricity_consumed": 16.5, + "electricity_consumed_interval": 0.5, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A14" + }, + "d3da73bde12a47d5a6b8f9dad971f2ec": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Thermostatic Radiator Jessie", + "sensors": { + "battery": 62, + "setpoint": 15.0, + "temperature": 17.1, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "df4a4a8169904cdb9c03d61a21f42140": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Lisa Bios", + "sensors": { + "battery": 67, + "setpoint": 13.0, + "temperature": 16.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "e7693eb9582644e5b865dba8d4447cf1": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "446ac08dd04d4eff8ac57489757b7314", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "CV Kraan Garage", + "sensors": { + "battery": 68, + "setpoint": 5.5, + "temperature": 15.6, + "temperature_difference": 0.0, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "f1fee6043d3642a9b0a65297455f008e": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostatic Radiator Badkamer 2", + "sensors": { + "battery": 92, + "setpoint": 14.0, + "temperature": 18.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + }, + "fe799307f1624099878210aa0b9f1475": { + "binary_sensors": { + "plugwise_notification": true + }, + "dev_class": "gateway", + "firmware": "3.0.15", + "hardware": "AME Smile 2.0 board", + "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": { + "af82e4ccf9c548528166d38e560662a4": { + "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." + } + }, + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 7.81 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + } +} diff --git a/fixtures/adam_onoff_cooling_fake_firmware/all_data.json b/fixtures/adam_onoff_cooling_fake_firmware/all_data.json deleted file mode 100644 index fba4e8168..000000000 --- a/fixtures/adam_onoff_cooling_fake_firmware/all_data.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "devices": { - "0ca13e8176204ca7bf6f09de59f81c83": { - "binary_sensors": { - "cooling_enabled": true, - "cooling_state": true, - "dhw_state": true, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "eedadcb297564f1483faa509179aebed", - "max_dhw_temperature": { - "lower_bound": 40.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 65.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 7.0, - "resolution": 0.01, - "setpoint": 35.0, - "upper_bound": 50.0 - }, - "model": "Unknown", - "name": "OnOff", - "sensors": { - "dhw_temperature": 63.5, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "outdoor_air_temperature": 13.5, - "return_temperature": 24.9, - "water_pressure": 2.0, - "water_temperature": 24.5 - }, - "switches": { - "dhw_cm_switch": true - } - }, - "7d97fc3117784cfdafe347bcedcbbbcb": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.2.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "eedadcb297564f1483faa509179aebed", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": [ - "heating", - "off", - "bleeding_cold", - "bleeding_hot", - "cooling" - ], - "select_gateway_mode": "full", - "select_regulation_mode": "cooling", - "sensors": { - "outdoor_temperature": 13.4 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "ca79d23ae0094120b877558734cff85c": { - "dev_class": "thermostat", - "location": "fa5fa6b34f6b40a0972988b20e888ed4", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Thermostaat WK", - "sensors": { - "setpoint": 21.5, - "temperature": 22.5 - }, - "vendor": "Plugwise" - }, - "fa5fa6b34f6b40a0972988b20e888ed4": { - "active_preset": "away", - "available_schedules": [ - "Opstaan weekdag", - "Werkdag schema", - "Weekend", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], - "select_schedule": "Werkdag schema", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 22.5 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 21.5, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ca79d23ae0094120b877558734cff85c"], - "secondary": [] - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "7d97fc3117784cfdafe347bcedcbbbcb", - "heater_id": "0ca13e8176204ca7bf6f09de59f81c83", - "item_count": 64, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_onoff_cooling_fake_firmware/data.json b/fixtures/adam_onoff_cooling_fake_firmware/data.json new file mode 100644 index 000000000..4803aad72 --- /dev/null +++ b/fixtures/adam_onoff_cooling_fake_firmware/data.json @@ -0,0 +1,112 @@ +{ + "0ca13e8176204ca7bf6f09de59f81c83": { + "binary_sensors": { + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": true, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "eedadcb297564f1483faa509179aebed", + "max_dhw_temperature": { + "lower_bound": 40.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 65.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 7.0, + "resolution": 0.01, + "setpoint": 35.0, + "upper_bound": 50.0 + }, + "model": "Unknown", + "name": "OnOff", + "sensors": { + "dhw_temperature": 63.5, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 13.5, + "return_temperature": 24.9, + "water_pressure": 2.0, + "water_temperature": 24.5 + }, + "switches": { + "dhw_cm_switch": true + } + }, + "7d97fc3117784cfdafe347bcedcbbbcb": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.2.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "eedadcb297564f1483faa509179aebed", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": [ + "heating", + "off", + "bleeding_cold", + "bleeding_hot", + "cooling" + ], + "select_gateway_mode": "full", + "select_regulation_mode": "cooling", + "sensors": { + "outdoor_temperature": 13.4 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "ca79d23ae0094120b877558734cff85c": { + "dev_class": "thermostat", + "location": "fa5fa6b34f6b40a0972988b20e888ed4", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Thermostaat WK", + "sensors": { + "setpoint": 21.5, + "temperature": 22.5 + }, + "vendor": "Plugwise" + }, + "fa5fa6b34f6b40a0972988b20e888ed4": { + "active_preset": "away", + "available_schedules": [ + "Opstaan weekdag", + "Werkdag schema", + "Weekend", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "select_schedule": "Werkdag schema", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 22.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ca79d23ae0094120b877558734cff85c"], + "secondary": [] + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/adam_plus_anna/all_data.json b/fixtures/adam_plus_anna/all_data.json deleted file mode 100644 index 1b2b11f71..000000000 --- a/fixtures/adam_plus_anna/all_data.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "devices": { - "009490cc2f674ce6b576863fbb64f867": { - "active_preset": "home", - "available_schedules": ["Weekschema", "off"], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "Weekschema", - "sensors": { - "electricity_consumed": 74.2, - "electricity_produced": 0.0, - "temperature": 20.5 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 20.5, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ee62cad889f94e8ca3d09021f03a660b"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "2743216f626f43948deec1f7ab3b3d70": { - "available": false, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "07d618f0bb80412687f065b8698ce3e7", - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 80.0, - "upper_bound": 100.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 0.0, - "water_temperature": 48.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "aa6b0002df0a46e1b1eb94beb61eddfe": { - "available": true, - "dev_class": "hometheater_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "45d410adf8fd461e85cebf16d5ead542", - "model": "Plug", - "model_id": "160-01", - "name": "MediaCenter", - "sensors": { - "electricity_consumed": 10.3, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "b128b4bbbd1f47e9bf4d756e8fb5ee94": { - "binary_sensors": { - "plugwise_notification": true - }, - "dev_class": "gateway", - "firmware": "3.0.15", - "hardware": "AME Smile 2.0 board", - "location": "07d618f0bb80412687f065b8698ce3e7", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 11.9 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "ee62cad889f94e8ca3d09021f03a660b": { - "dev_class": "thermostat", - "location": "009490cc2f674ce6b576863fbb64f867", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 20.5, - "temperature": 20.5 - }, - "vendor": "Plugwise" - }, - "f2be121e4a9345ac83c6e99ed89a98be": { - "available": true, - "dev_class": "computer_desktop_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "5ccb6c41a7d9403988d261ceee04239f", - "name": "Work-PC", - "sensors": { - "electricity_consumed": 80.5, - "electricity_consumed_interval": 7.03, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "b128b4bbbd1f47e9bf4d756e8fb5ee94", - "heater_id": "2743216f626f43948deec1f7ab3b3d70", - "item_count": 80, - "notifications": { - "6fb89e35caeb4b1cb275184895202d84": { - "error": "There is no OpenTherm communication with the boiler." - } - }, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_plus_anna/data.json b/fixtures/adam_plus_anna/data.json new file mode 100644 index 000000000..fd25947a0 --- /dev/null +++ b/fixtures/adam_plus_anna/data.json @@ -0,0 +1,130 @@ +{ + "009490cc2f674ce6b576863fbb64f867": { + "active_preset": "home", + "available_schedules": ["Weekschema", "off"], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Living room", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "Weekschema", + "sensors": { + "electricity_consumed": 74.2, + "electricity_produced": 0.0, + "temperature": 20.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 20.5, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ee62cad889f94e8ca3d09021f03a660b"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "2743216f626f43948deec1f7ab3b3d70": { + "available": false, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "07d618f0bb80412687f065b8698ce3e7", + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 80.0, + "upper_bound": 100.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 0.0, + "water_temperature": 48.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "aa6b0002df0a46e1b1eb94beb61eddfe": { + "available": true, + "dev_class": "hometheater_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "45d410adf8fd461e85cebf16d5ead542", + "model": "Plug", + "model_id": "160-01", + "name": "MediaCenter", + "sensors": { + "electricity_consumed": 10.3, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "b128b4bbbd1f47e9bf4d756e8fb5ee94": { + "binary_sensors": { + "plugwise_notification": true + }, + "dev_class": "gateway", + "firmware": "3.0.15", + "hardware": "AME Smile 2.0 board", + "location": "07d618f0bb80412687f065b8698ce3e7", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": { + "6fb89e35caeb4b1cb275184895202d84": { + "error": "There is no OpenTherm communication with the boiler." + } + }, + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 11.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "ee62cad889f94e8ca3d09021f03a660b": { + "dev_class": "thermostat", + "location": "009490cc2f674ce6b576863fbb64f867", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Anna", + "sensors": { + "setpoint": 20.5, + "temperature": 20.5 + }, + "vendor": "Plugwise" + }, + "f2be121e4a9345ac83c6e99ed89a98be": { + "available": true, + "dev_class": "computer_desktop_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "5ccb6c41a7d9403988d261ceee04239f", + "name": "Work-PC", + "sensors": { + "electricity_consumed": 80.5, + "electricity_consumed_interval": 7.03, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + } +} diff --git a/fixtures/adam_plus_anna_new/all_data.json b/fixtures/adam_plus_anna_new/all_data.json deleted file mode 100644 index 9e074f344..000000000 --- a/fixtures/adam_plus_anna_new/all_data.json +++ /dev/null @@ -1,296 +0,0 @@ -{ - "devices": { - "056ee145a816487eaa69243c3280f8bf": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": true, - "heating_state": true - }, - "dev_class": "heater_central", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 23.9, - "water_temperature": 30.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "10016900610d4c7481df78c89606ef22": { - "available": true, - "dev_class": "valve_actuator_plug", - "location": "d9786723dbcf4f19b5c629a54629f9c7", - "model_id": "TS0011", - "name": "Aanvoer water afsluiter (nous lz3)", - "switches": { - "relay": false - }, - "vendor": "_TZ3000_abjodzas", - "zigbee_mac_address": "A4C13862AF9917B1" - }, - "1772a4ea304041adb83f357b751341ff": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Badkamer", - "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 17.6, - "temperature_difference": -0.2, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" - }, - "2568cc4b9c1e401495d4741a5f89bee1": { - "available": true, - "dev_class": "hometheater_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug MediaTV", - "sensors": { - "electricity_consumed": 14.8, - "electricity_consumed_interval": 3.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CCFD" - }, - "29542b2b6a6a4169acecc15c72a599b8": { - "available": true, - "dev_class": "computer_desktop_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Werkplek", - "sensors": { - "electricity_consumed": 91.3, - "electricity_consumed_interval": 23.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CA9A" - }, - "67d73d0bd469422db25a618a5fb8eeb0": { - "available": true, - "dev_class": "heater_central_plug", - "location": "b4f211175e124df59603412bafa77a34", - "model": "Aqara Smart Plug", - "model_id": "lumi.plug.maeu01", - "name": "SmartPlug Floor 0", - "sensors": { - "electricity_consumed_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "LUMI", - "zigbee_mac_address": "54EF4410002C97F2" - }, - "854f8a9b0e7e425db97f1f110e1ce4b3": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Vloerverwarming", - "sensors": { - "electricity_consumed": 43.8, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CB6F" - }, - "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "dev_class": "thermostat", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 18.5, - "temperature": 18.4 - }, - "vendor": "Plugwise" - }, - "da224107914542988a88561b4452b0f6": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.7.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], - "select_gateway_mode": "full", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 9.19 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" - }, - "e2f4322d57924fa090fbbc48b3a140dc": { - "available": true, - "binary_sensors": { - "low_battery": true - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Lisa", - "model_id": "158-01", - "name": "Lisa Badkamer", - "sensors": { - "battery": 14, - "setpoint": 18.0, - "temperature": 16.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" - }, - "e8ef2a01ed3b4139a53bf749204fe6b4": { - "dev_class": "switching", - "members": [ - "2568cc4b9c1e401495d4741a5f89bee1", - "29542b2b6a6a4169acecc15c72a599b8" - ], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "f2bf9048bef64cc5b6d5110154e33c81": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Weekschema", - "sensors": { - "electricity_consumed": 149.9, - "electricity_produced": 0.0, - "temperature": 18.4 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 18.5, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "auto", - "control_state": "preheating", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 16.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 18.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], - "secondary": ["1772a4ea304041adb83f357b751341ff"] - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "da224107914542988a88561b4452b0f6", - "heater_id": "056ee145a816487eaa69243c3280f8bf", - "item_count": 177, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_plus_anna_new/data.json b/fixtures/adam_plus_anna_new/data.json new file mode 100644 index 000000000..fd87b10ab --- /dev/null +++ b/fixtures/adam_plus_anna_new/data.json @@ -0,0 +1,286 @@ +{ + "056ee145a816487eaa69243c3280f8bf": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": true, + "heating_state": true + }, + "dev_class": "heater_central", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 50.0, + "upper_bound": 95.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 23.9, + "water_temperature": 30.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "10016900610d4c7481df78c89606ef22": { + "available": true, + "dev_class": "valve_actuator_plug", + "location": "d9786723dbcf4f19b5c629a54629f9c7", + "model_id": "TS0011", + "name": "Aanvoer water afsluiter (nous lz3)", + "switches": { + "relay": false + }, + "vendor": "_TZ3000_abjodzas", + "zigbee_mac_address": "A4C13862AF9917B1" + }, + "1772a4ea304041adb83f357b751341ff": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "setpoint": 18.0, + "temperature": 17.6, + "temperature_difference": -0.2, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C8FF5EE" + }, + "2568cc4b9c1e401495d4741a5f89bee1": { + "available": true, + "dev_class": "hometheater_plug", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "model_id": "160-01", + "name": "Plug MediaTV", + "sensors": { + "electricity_consumed": 14.8, + "electricity_consumed_interval": 3.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D13CCFD" + }, + "29542b2b6a6a4169acecc15c72a599b8": { + "available": true, + "dev_class": "computer_desktop_plug", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "model_id": "160-01", + "name": "Plug Werkplek", + "sensors": { + "electricity_consumed": 91.3, + "electricity_consumed_interval": 23.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D13CA9A" + }, + "67d73d0bd469422db25a618a5fb8eeb0": { + "available": true, + "dev_class": "heater_central_plug", + "location": "b4f211175e124df59603412bafa77a34", + "model": "Aqara Smart Plug", + "model_id": "lumi.plug.maeu01", + "name": "SmartPlug Floor 0", + "sensors": { + "electricity_consumed_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "LUMI", + "zigbee_mac_address": "54EF4410002C97F2" + }, + "854f8a9b0e7e425db97f1f110e1ce4b3": { + "available": true, + "dev_class": "central_heating_pump_plug", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "model_id": "160-01", + "name": "Plug Vloerverwarming", + "sensors": { + "electricity_consumed": 43.8, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D13CB6F" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "dev_class": "thermostat", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Anna", + "sensors": { + "setpoint": 18.5, + "temperature": 18.4 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.7.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345679891", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], + "select_gateway_mode": "full", + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 9.19 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D5A168D" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "available": true, + "binary_sensors": { + "low_battery": true + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Lisa", + "model_id": "158-01", + "name": "Lisa Badkamer", + "sensors": { + "battery": 14, + "setpoint": 18.0, + "temperature": 16.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C869B61" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + }, + "vendor": "Plugwise" + }, + "f2bf9048bef64cc5b6d5110154e33c81": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Living room", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "Weekschema", + "sensors": { + "electricity_consumed": 149.9, + "electricity_produced": 0.0, + "temperature": 18.4 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 18.5, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "f871b8c4d63549319221e294e4f88074": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "auto", + "control_state": "preheating", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bathroom", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "Badkamer", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 16.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 18.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], + "secondary": ["1772a4ea304041adb83f357b751341ff"] + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/adam_plus_anna_new_regulation_off/all_data.json b/fixtures/adam_plus_anna_new_regulation_off/all_data.json deleted file mode 100644 index 8d447dc81..000000000 --- a/fixtures/adam_plus_anna_new_regulation_off/all_data.json +++ /dev/null @@ -1,296 +0,0 @@ -{ - "devices": { - "056ee145a816487eaa69243c3280f8bf": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 0.0, - "water_temperature": 30.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "10016900610d4c7481df78c89606ef22": { - "available": true, - "dev_class": "valve_actuator_plug", - "location": "d9786723dbcf4f19b5c629a54629f9c7", - "model_id": "TS0011", - "name": "Aanvoer water afsluiter (nous lz3)", - "switches": { - "relay": false - }, - "vendor": "_TZ3000_abjodzas", - "zigbee_mac_address": "A4C13862AF9917B1" - }, - "1772a4ea304041adb83f357b751341ff": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Badkamer", - "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 21.6, - "temperature_difference": -0.2, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" - }, - "2568cc4b9c1e401495d4741a5f89bee1": { - "available": true, - "dev_class": "hometheater_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug MediaTV", - "sensors": { - "electricity_consumed": 14.8, - "electricity_consumed_interval": 3.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CCFD" - }, - "29542b2b6a6a4169acecc15c72a599b8": { - "available": true, - "dev_class": "computer_desktop_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Werkplek", - "sensors": { - "electricity_consumed": 91.3, - "electricity_consumed_interval": 23.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CA9A" - }, - "67d73d0bd469422db25a618a5fb8eeb0": { - "available": true, - "dev_class": "heater_central_plug", - "location": "b4f211175e124df59603412bafa77a34", - "model": "Aqara Smart Plug", - "model_id": "lumi.plug.maeu01", - "name": "SmartPlug Floor 0", - "sensors": { - "electricity_consumed_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "LUMI", - "zigbee_mac_address": "54EF4410002C97F2" - }, - "854f8a9b0e7e425db97f1f110e1ce4b3": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2020-11-10T01:00:00+01:00", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "Plug", - "model_id": "160-01", - "name": "Plug Vloerverwarming", - "sensors": { - "electricity_consumed": 43.8, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D13CB6F" - }, - "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "dev_class": "thermostat", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 18.5, - "temperature": 22.4 - }, - "vendor": "Plugwise" - }, - "da224107914542988a88561b4452b0f6": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.7.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], - "select_gateway_mode": "full", - "select_regulation_mode": "off", - "sensors": { - "outdoor_temperature": 9.19 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" - }, - "e2f4322d57924fa090fbbc48b3a140dc": { - "available": true, - "binary_sensors": { - "low_battery": true - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Lisa", - "model_id": "158-01", - "name": "Lisa Badkamer", - "sensors": { - "battery": 14, - "setpoint": 18.0, - "temperature": 21.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" - }, - "e8ef2a01ed3b4139a53bf749204fe6b4": { - "dev_class": "switching", - "members": [ - "2568cc4b9c1e401495d4741a5f89bee1", - "29542b2b6a6a4169acecc15c72a599b8" - ], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "f2bf9048bef64cc5b6d5110154e33c81": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "off", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 149.9, - "electricity_produced": 0.0, - "temperature": 22.4 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 18.5, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "off", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 21.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 18.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], - "secondary": ["1772a4ea304041adb83f357b751341ff"] - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "da224107914542988a88561b4452b0f6", - "heater_id": "056ee145a816487eaa69243c3280f8bf", - "item_count": 177, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_plus_anna_new_regulation_off/data.json b/fixtures/adam_plus_anna_new_regulation_off/data.json new file mode 100644 index 000000000..93710a1fa --- /dev/null +++ b/fixtures/adam_plus_anna_new_regulation_off/data.json @@ -0,0 +1,286 @@ +{ + "056ee145a816487eaa69243c3280f8bf": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 50.0, + "upper_bound": 95.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 0.0, + "water_temperature": 30.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "10016900610d4c7481df78c89606ef22": { + "available": true, + "dev_class": "valve_actuator_plug", + "location": "d9786723dbcf4f19b5c629a54629f9c7", + "model_id": "TS0011", + "name": "Aanvoer water afsluiter (nous lz3)", + "switches": { + "relay": false + }, + "vendor": "_TZ3000_abjodzas", + "zigbee_mac_address": "A4C13862AF9917B1" + }, + "1772a4ea304041adb83f357b751341ff": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "setpoint": 18.0, + "temperature": 21.6, + "temperature_difference": -0.2, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C8FF5EE" + }, + "2568cc4b9c1e401495d4741a5f89bee1": { + "available": true, + "dev_class": "hometheater_plug", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "model_id": "160-01", + "name": "Plug MediaTV", + "sensors": { + "electricity_consumed": 14.8, + "electricity_consumed_interval": 3.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D13CCFD" + }, + "29542b2b6a6a4169acecc15c72a599b8": { + "available": true, + "dev_class": "computer_desktop_plug", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "model_id": "160-01", + "name": "Plug Werkplek", + "sensors": { + "electricity_consumed": 91.3, + "electricity_consumed_interval": 23.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D13CA9A" + }, + "67d73d0bd469422db25a618a5fb8eeb0": { + "available": true, + "dev_class": "heater_central_plug", + "location": "b4f211175e124df59603412bafa77a34", + "model": "Aqara Smart Plug", + "model_id": "lumi.plug.maeu01", + "name": "SmartPlug Floor 0", + "sensors": { + "electricity_consumed_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "LUMI", + "zigbee_mac_address": "54EF4410002C97F2" + }, + "854f8a9b0e7e425db97f1f110e1ce4b3": { + "available": true, + "dev_class": "central_heating_pump_plug", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "model_id": "160-01", + "name": "Plug Vloerverwarming", + "sensors": { + "electricity_consumed": 43.8, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D13CB6F" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "dev_class": "thermostat", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Anna", + "sensors": { + "setpoint": 18.5, + "temperature": 22.4 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.7.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345679891", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], + "select_gateway_mode": "full", + "select_regulation_mode": "off", + "sensors": { + "outdoor_temperature": 9.19 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D5A168D" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "available": true, + "binary_sensors": { + "low_battery": true + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Lisa", + "model_id": "158-01", + "name": "Lisa Badkamer", + "sensors": { + "battery": 14, + "setpoint": 18.0, + "temperature": 21.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C869B61" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + }, + "vendor": "Plugwise" + }, + "f2bf9048bef64cc5b6d5110154e33c81": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "off", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Living room", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 149.9, + "electricity_produced": 0.0, + "temperature": 22.4 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 18.5, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "f871b8c4d63549319221e294e4f88074": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "off", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bathroom", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 21.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 18.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], + "secondary": ["1772a4ea304041adb83f357b751341ff"] + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/adam_zone_per_device/all_data.json b/fixtures/adam_zone_per_device/all_data.json deleted file mode 100644 index a8d028c19..000000000 --- a/fixtures/adam_zone_per_device/all_data.json +++ /dev/null @@ -1,600 +0,0 @@ -{ - "devices": { - "02cf28bfec924855854c544690a609ef": { - "available": true, - "dev_class": "vcr_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "c4d2bda6df8146caa2e5c2b5dc65660e", - "model": "Plug", - "model_id": "160-01", - "name": "NVR", - "sensors": { - "electricity_consumed": 34.0, - "electricity_consumed_interval": 8.65, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A15" - }, - "08963fec7c53423ca5680aa4cb502c63": { - "active_preset": "away", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Badkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "Badkamer Schema", - "sensors": { - "temperature": 18.8 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 14.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["f1fee6043d3642a9b0a65297455f008e"], - "secondary": ["680423ff840043738f42cc7f1ff97a36"] - }, - "vendor": "Plugwise" - }, - "12493538af164a409c6a1c79e38afe1c": { - "active_preset": "away", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bios", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 16.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["df4a4a8169904cdb9c03d61a21f42140"], - "secondary": ["a2c3583e0a6349358998b760cea82d2a"] - }, - "vendor": "Plugwise" - }, - "21f2b542c49845e6bb416884c55778d6": { - "available": true, - "dev_class": "game_console_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "4efbab4c8bb84fbab26c8decf670eb96", - "model": "Plug", - "model_id": "160-01", - "name": "Playstation Smart Plug", - "sensors": { - "electricity_consumed": 80.1, - "electricity_consumed_interval": 12.7, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A12" - }, - "446ac08dd04d4eff8ac57489757b7314": { - "active_preset": "no_frost", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Garage", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "off", - "sensors": { - "temperature": 15.6 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 5.5, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["e7693eb9582644e5b865dba8d4447cf1"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "4a810418d5394b3f82727340b91ba740": { - "available": true, - "dev_class": "router_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "0217e9743c174eef9d6e9f680d403ce2", - "model": "Plug", - "model_id": "160-01", - "name": "USG Smart Plug", - "sensors": { - "electricity_consumed": 8.5, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A16" - }, - "675416a629f343c495449970e2ca37b5": { - "available": true, - "dev_class": "router_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "2b1591ecf6344d4d93b03dece9747648", - "model": "Plug", - "model_id": "160-01", - "name": "Ziggo Modem", - "sensors": { - "electricity_consumed": 12.2, - "electricity_consumed_interval": 2.8, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "680423ff840043738f42cc7f1ff97a36": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "08963fec7c53423ca5680aa4cb502c63", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Thermostatic Radiator Badkamer", - "sensors": { - "battery": 51, - "setpoint": 14.0, - "temperature": 19.1, - "temperature_difference": -0.3, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A17" - }, - "6a3bf693d05e48e0b460c815a4fdd09d": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "82fa13f017d240daa0d0ea1775420f24", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Thermostat Jessie", - "sensors": { - "battery": 37, - "setpoint": 16.0, - "temperature": 17.1 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "78d1126fc4c743db81b61c20e88342a7": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Plug", - "model_id": "160-01", - "name": "CV Pomp", - "sensors": { - "electricity_consumed": 35.8, - "electricity_consumed_interval": 5.85, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "82fa13f017d240daa0d0ea1775420f24": { - "active_preset": "asleep", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Jessie", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "CV Jessie", - "sensors": { - "temperature": 17.1 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 16.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["6a3bf693d05e48e0b460c815a4fdd09d"], - "secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"] - }, - "vendor": "Plugwise" - }, - "90986d591dcd426cae3ec3e8111ff730": { - "binary_sensors": { - "heating_state": true - }, - "dev_class": "heater_central", - "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "model": "Unknown", - "name": "OnOff", - "sensors": { - "intended_boiler_temperature": 70.0, - "modulation_level": 1, - "water_temperature": 70.0 - } - }, - "a28f588dc4a049a483fd03a30361ad3a": { - "available": true, - "dev_class": "settop_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Fibaro HC2", - "sensors": { - "electricity_consumed": 12.5, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A13" - }, - "a2c3583e0a6349358998b760cea82d2a": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "12493538af164a409c6a1c79e38afe1c", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Bios Cv Thermostatic Radiator ", - "sensors": { - "battery": 62, - "setpoint": 13.0, - "temperature": 17.1, - "temperature_difference": -0.1, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "b310b72a0e354bfab43089919b9a88bf": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Floor kraan", - "sensors": { - "setpoint": 21.5, - "temperature": 26.2, - "temperature_difference": 3.7, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "b59bcebaf94b499ea7d46e4a66fb62d8": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-08-02T02:00:00+02:00", - "hardware": "255", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Lisa WK", - "sensors": { - "battery": 34, - "setpoint": 21.5, - "temperature": 21.1 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "c50f167537524366a5af7aa3942feb1e": { - "active_preset": "home", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "GF7 Woonkamer", - "sensors": { - "electricity_consumed": 35.8, - "electricity_produced": 0.0, - "temperature": 21.1 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 21.5, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"], - "secondary": ["b310b72a0e354bfab43089919b9a88bf"] - }, - "vendor": "Plugwise" - }, - "cd0ddb54ef694e11ac18ed1cbce5dbbd": { - "available": true, - "dev_class": "vcr_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "e704bae65654496f9cade9c855decdfe", - "model": "Plug", - "model_id": "160-01", - "name": "NAS", - "sensors": { - "electricity_consumed": 16.5, - "electricity_consumed_interval": 0.29, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A14" - }, - "d3da73bde12a47d5a6b8f9dad971f2ec": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "82fa13f017d240daa0d0ea1775420f24", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Thermostatic Radiator Jessie", - "sensors": { - "battery": 62, - "setpoint": 16.0, - "temperature": 16.9, - "temperature_difference": 0.1, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A10" - }, - "df4a4a8169904cdb9c03d61a21f42140": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "12493538af164a409c6a1c79e38afe1c", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Lisa Bios", - "sensors": { - "battery": 67, - "setpoint": 13.0, - "temperature": 16.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A06" - }, - "e7693eb9582644e5b865dba8d4447cf1": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "446ac08dd04d4eff8ac57489757b7314", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "CV Kraan Garage", - "sensors": { - "battery": 68, - "setpoint": 5.5, - "temperature": 15.6, - "temperature_difference": 0.1, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A11" - }, - "f1fee6043d3642a9b0a65297455f008e": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "08963fec7c53423ca5680aa4cb502c63", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Thermostat Badkamer", - "sensors": { - "battery": 92, - "setpoint": 14.0, - "temperature": 18.8 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - }, - "fe799307f1624099878210aa0b9f1475": { - "binary_sensors": { - "plugwise_notification": true - }, - "dev_class": "gateway", - "firmware": "3.0.15", - "hardware": "AME Smile 2.0 board", - "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 7.69 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "fe799307f1624099878210aa0b9f1475", - "heater_id": "90986d591dcd426cae3ec3e8111ff730", - "item_count": 369, - "notifications": { - "af82e4ccf9c548528166d38e560662a4": { - "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." - } - }, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/adam_zone_per_device/data.json b/fixtures/adam_zone_per_device/data.json new file mode 100644 index 000000000..b53a5c357 --- /dev/null +++ b/fixtures/adam_zone_per_device/data.json @@ -0,0 +1,590 @@ +{ + "02cf28bfec924855854c544690a609ef": { + "available": true, + "dev_class": "vcr_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c4d2bda6df8146caa2e5c2b5dc65660e", + "model": "Plug", + "model_id": "160-01", + "name": "NVR", + "sensors": { + "electricity_consumed": 34.0, + "electricity_consumed_interval": 8.65, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A15" + }, + "08963fec7c53423ca5680aa4cb502c63": { + "active_preset": "away", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "Badkamer Schema", + "sensors": { + "temperature": 18.8 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 14.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["f1fee6043d3642a9b0a65297455f008e"], + "secondary": ["680423ff840043738f42cc7f1ff97a36"] + }, + "vendor": "Plugwise" + }, + "12493538af164a409c6a1c79e38afe1c": { + "active_preset": "away", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bios", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 16.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["df4a4a8169904cdb9c03d61a21f42140"], + "secondary": ["a2c3583e0a6349358998b760cea82d2a"] + }, + "vendor": "Plugwise" + }, + "21f2b542c49845e6bb416884c55778d6": { + "available": true, + "dev_class": "game_console_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "4efbab4c8bb84fbab26c8decf670eb96", + "model": "Plug", + "model_id": "160-01", + "name": "Playstation Smart Plug", + "sensors": { + "electricity_consumed": 80.1, + "electricity_consumed_interval": 12.7, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A12" + }, + "446ac08dd04d4eff8ac57489757b7314": { + "active_preset": "no_frost", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Garage", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "off", + "sensors": { + "temperature": 15.6 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 5.5, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["e7693eb9582644e5b865dba8d4447cf1"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "4a810418d5394b3f82727340b91ba740": { + "available": true, + "dev_class": "router_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "0217e9743c174eef9d6e9f680d403ce2", + "model": "Plug", + "model_id": "160-01", + "name": "USG Smart Plug", + "sensors": { + "electricity_consumed": 8.5, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A16" + }, + "675416a629f343c495449970e2ca37b5": { + "available": true, + "dev_class": "router_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "2b1591ecf6344d4d93b03dece9747648", + "model": "Plug", + "model_id": "160-01", + "name": "Ziggo Modem", + "sensors": { + "electricity_consumed": 12.2, + "electricity_consumed_interval": 2.8, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "680423ff840043738f42cc7f1ff97a36": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Thermostatic Radiator Badkamer", + "sensors": { + "battery": 51, + "setpoint": 14.0, + "temperature": 19.1, + "temperature_difference": -0.3, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "6a3bf693d05e48e0b460c815a4fdd09d": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Thermostat Jessie", + "sensors": { + "battery": 37, + "setpoint": 16.0, + "temperature": 17.1 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "78d1126fc4c743db81b61c20e88342a7": { + "available": true, + "dev_class": "central_heating_pump_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Plug", + "model_id": "160-01", + "name": "CV Pomp", + "sensors": { + "electricity_consumed": 35.8, + "electricity_consumed_interval": 5.85, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "82fa13f017d240daa0d0ea1775420f24": { + "active_preset": "asleep", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Jessie", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "CV Jessie", + "sensors": { + "temperature": 17.1 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 16.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["6a3bf693d05e48e0b460c815a4fdd09d"], + "secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"] + }, + "vendor": "Plugwise" + }, + "90986d591dcd426cae3ec3e8111ff730": { + "binary_sensors": { + "heating_state": true + }, + "dev_class": "heater_central", + "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", + "model": "Unknown", + "name": "OnOff", + "sensors": { + "intended_boiler_temperature": 70.0, + "modulation_level": 1, + "water_temperature": 70.0 + } + }, + "a28f588dc4a049a483fd03a30361ad3a": { + "available": true, + "dev_class": "settop_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Fibaro HC2", + "sensors": { + "electricity_consumed": 12.5, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "a2c3583e0a6349358998b760cea82d2a": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Bios Cv Thermostatic Radiator ", + "sensors": { + "battery": 62, + "setpoint": 13.0, + "temperature": 17.1, + "temperature_difference": -0.1, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "b310b72a0e354bfab43089919b9a88bf": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Floor kraan", + "sensors": { + "setpoint": 21.5, + "temperature": 26.2, + "temperature_difference": 3.7, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "b59bcebaf94b499ea7d46e4a66fb62d8": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Lisa WK", + "sensors": { + "battery": 34, + "setpoint": 21.5, + "temperature": 21.1 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "c50f167537524366a5af7aa3942feb1e": { + "active_preset": "home", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "GF7 Woonkamer", + "sensors": { + "electricity_consumed": 35.8, + "electricity_produced": 0.0, + "temperature": 21.1 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"], + "secondary": ["b310b72a0e354bfab43089919b9a88bf"] + }, + "vendor": "Plugwise" + }, + "cd0ddb54ef694e11ac18ed1cbce5dbbd": { + "available": true, + "dev_class": "vcr_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "e704bae65654496f9cade9c855decdfe", + "model": "Plug", + "model_id": "160-01", + "name": "NAS", + "sensors": { + "electricity_consumed": 16.5, + "electricity_consumed_interval": 0.29, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A14" + }, + "d3da73bde12a47d5a6b8f9dad971f2ec": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Thermostatic Radiator Jessie", + "sensors": { + "battery": 62, + "setpoint": 16.0, + "temperature": 16.9, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "df4a4a8169904cdb9c03d61a21f42140": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Lisa Bios", + "sensors": { + "battery": 67, + "setpoint": 13.0, + "temperature": 16.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "e7693eb9582644e5b865dba8d4447cf1": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "446ac08dd04d4eff8ac57489757b7314", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "CV Kraan Garage", + "sensors": { + "battery": 68, + "setpoint": 5.5, + "temperature": 15.6, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "f1fee6043d3642a9b0a65297455f008e": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Thermostat Badkamer", + "sensors": { + "battery": 92, + "setpoint": 14.0, + "temperature": 18.8 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + }, + "fe799307f1624099878210aa0b9f1475": { + "binary_sensors": { + "plugwise_notification": true + }, + "dev_class": "gateway", + "firmware": "3.0.15", + "hardware": "AME Smile 2.0 board", + "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": { + "af82e4ccf9c548528166d38e560662a4": { + "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." + } + }, + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 7.69 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + } +} diff --git a/fixtures/anna_elga_2/all_data.json b/fixtures/anna_elga_2/all_data.json deleted file mode 100644 index a3a7c4365..000000000 --- a/fixtures/anna_elga_2/all_data.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "devices": { - "573c152e7d4f4720878222bd75638f5b": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "cooling_enabled": false, - "cooling_state": false, - "dhw_state": false, - "flame_state": true, - "heating_state": true, - "secondary_boiler_state": true - }, - "dev_class": "heater_central", - "location": "d34dfe6ab90b410c98068e75de3eb631", - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "domestic_hot_water_setpoint": 60.0, - "intended_boiler_temperature": 58.3, - "modulation_level": 55, - "outdoor_air_temperature": 6.0, - "return_temperature": 35.5, - "water_pressure": 0.5, - "water_temperature": 42.6 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "ebd90df1ab334565b5895f37590ccff4": { - "active_preset": "home", - "available_schedules": ["Thermostat schedule", "off"], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "d3ce834534114348be628b61b26d9220", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], - "select_schedule": "Thermostat schedule", - "sensors": { - "cooling_activation_outdoor_temperature": 24.0, - "cooling_deactivation_threshold": 2.0, - "illuminance": 0.5, - "setpoint_high": 30.0, - "setpoint_low": 19.5, - "temperature": 19.2 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 19.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "fb49af122f6e4b0f91267e1cf7666d6f": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.4.1", - "hardware": "AME Smile 2.0 board", - "location": "d34dfe6ab90b410c98068e75de3eb631", - "mac_address": "C4930002FE76", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 6.38 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "fb49af122f6e4b0f91267e1cf7666d6f", - "heater_id": "573c152e7d4f4720878222bd75638f5b", - "item_count": 60, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_elga_2/data.json b/fixtures/anna_elga_2/data.json new file mode 100644 index 000000000..e417927a2 --- /dev/null +++ b/fixtures/anna_elga_2/data.json @@ -0,0 +1,85 @@ +{ + "573c152e7d4f4720878222bd75638f5b": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": false, + "cooling_state": false, + "dhw_state": false, + "flame_state": true, + "heating_state": true, + "secondary_boiler_state": true + }, + "dev_class": "heater_central", + "location": "d34dfe6ab90b410c98068e75de3eb631", + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 58.3, + "modulation_level": 55, + "outdoor_air_temperature": 6.0, + "return_temperature": 35.5, + "water_pressure": 0.5, + "water_temperature": 42.6 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "ebd90df1ab334565b5895f37590ccff4": { + "active_preset": "home", + "available_schedules": ["Thermostat schedule", "off"], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "d3ce834534114348be628b61b26d9220", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], + "select_schedule": "Thermostat schedule", + "sensors": { + "cooling_activation_outdoor_temperature": 24.0, + "cooling_deactivation_threshold": 2.0, + "illuminance": 0.5, + "setpoint_high": 30.0, + "setpoint_low": 19.5, + "temperature": 19.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 19.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "fb49af122f6e4b0f91267e1cf7666d6f": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.4.1", + "hardware": "AME Smile 2.0 board", + "location": "d34dfe6ab90b410c98068e75de3eb631", + "mac_address": "C4930002FE76", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 6.38 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_elga_2_cooling/all_data.json b/fixtures/anna_elga_2_cooling/all_data.json deleted file mode 100644 index ccb6f4195..000000000 --- a/fixtures/anna_elga_2_cooling/all_data.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "devices": { - "573c152e7d4f4720878222bd75638f5b": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "cooling_enabled": true, - "cooling_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": false, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "domestic_hot_water_setpoint": 60.0, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "outdoor_air_temperature": 30.0, - "return_temperature": 23.4, - "water_pressure": 0.5, - "water_temperature": 22.8 - }, - "switches": { - "dhw_cm_switch": true - }, - "vendor": "Techneco" - }, - "ebd90df1ab334565b5895f37590ccff4": { - "active_preset": "home", - "available_schedules": ["Thermostat schedule", "off"], - "climate_mode": "auto", - "control_state": "cooling", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "d3ce834534114348be628b61b26d9220", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], - "select_schedule": "Thermostat schedule", - "sensors": { - "cooling_activation_outdoor_temperature": 26.0, - "cooling_deactivation_threshold": 3.0, - "illuminance": 0.5, - "setpoint_high": 23.0, - "setpoint_low": 4.0, - "temperature": 24.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 23.0, - "setpoint_low": 4.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "fb49af122f6e4b0f91267e1cf7666d6f": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.2.1", - "hardware": "AME Smile 2.0 board", - "location": "d34dfe6ab90b410c98068e75de3eb631", - "mac_address": "C4930002FE76", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 31.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "fb49af122f6e4b0f91267e1cf7666d6f", - "heater_id": "573c152e7d4f4720878222bd75638f5b", - "item_count": 64, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_elga_2_cooling/data.json b/fixtures/anna_elga_2_cooling/data.json new file mode 100644 index 000000000..0c417702b --- /dev/null +++ b/fixtures/anna_elga_2_cooling/data.json @@ -0,0 +1,91 @@ +{ + "573c152e7d4f4720878222bd75638f5b": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "d34dfe6ab90b410c98068e75de3eb631", + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 30.0, + "return_temperature": 23.4, + "water_pressure": 0.5, + "water_temperature": 22.8 + }, + "switches": { + "dhw_cm_switch": true + }, + "vendor": "Techneco" + }, + "ebd90df1ab334565b5895f37590ccff4": { + "active_preset": "home", + "available_schedules": ["Thermostat schedule", "off"], + "climate_mode": "auto", + "control_state": "cooling", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "d3ce834534114348be628b61b26d9220", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], + "select_schedule": "Thermostat schedule", + "sensors": { + "cooling_activation_outdoor_temperature": 26.0, + "cooling_deactivation_threshold": 3.0, + "illuminance": 0.5, + "setpoint_high": 23.0, + "setpoint_low": 4.0, + "temperature": 24.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 23.0, + "setpoint_low": 4.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "fb49af122f6e4b0f91267e1cf7666d6f": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.2.1", + "hardware": "AME Smile 2.0 board", + "location": "d34dfe6ab90b410c98068e75de3eb631", + "mac_address": "C4930002FE76", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 31.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_elga_2_schedule_off/all_data.json b/fixtures/anna_elga_2_schedule_off/all_data.json deleted file mode 100644 index e8c247b99..000000000 --- a/fixtures/anna_elga_2_schedule_off/all_data.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "devices": { - "573c152e7d4f4720878222bd75638f5b": { - "available": true, - "binary_sensors": { - "compressor_state": false, - "cooling_enabled": false, - "cooling_state": false, - "dhw_state": false, - "flame_state": false, - "heating_state": false, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "d34dfe6ab90b410c98068e75de3eb631", - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "domestic_hot_water_setpoint": 60.0, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "outdoor_air_temperature": 13.0, - "return_temperature": 23.4, - "water_pressure": 0.5, - "water_temperature": 22.8 - }, - "switches": { - "dhw_cm_switch": true - }, - "vendor": "Techneco" - }, - "ebd90df1ab334565b5895f37590ccff4": { - "active_preset": "home", - "available_schedules": ["Thermostat schedule", "off"], - "climate_mode": "heat_cool", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "d3ce834534114348be628b61b26d9220", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "cooling_activation_outdoor_temperature": 26.0, - "cooling_deactivation_threshold": 3.0, - "illuminance": 0.5, - "setpoint_high": 30.0, - "setpoint_low": 19.5, - "temperature": 20.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 19.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "fb49af122f6e4b0f91267e1cf7666d6f": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.2.1", - "hardware": "AME Smile 2.0 board", - "location": "d34dfe6ab90b410c98068e75de3eb631", - "mac_address": "C4930002FE76", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 13.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "fb49af122f6e4b0f91267e1cf7666d6f", - "heater_id": "573c152e7d4f4720878222bd75638f5b", - "item_count": 64, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_elga_2_schedule_off/data.json b/fixtures/anna_elga_2_schedule_off/data.json new file mode 100644 index 000000000..064a483d8 --- /dev/null +++ b/fixtures/anna_elga_2_schedule_off/data.json @@ -0,0 +1,91 @@ +{ + "573c152e7d4f4720878222bd75638f5b": { + "available": true, + "binary_sensors": { + "compressor_state": false, + "cooling_enabled": false, + "cooling_state": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "d34dfe6ab90b410c98068e75de3eb631", + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 13.0, + "return_temperature": 23.4, + "water_pressure": 0.5, + "water_temperature": 22.8 + }, + "switches": { + "dhw_cm_switch": true + }, + "vendor": "Techneco" + }, + "ebd90df1ab334565b5895f37590ccff4": { + "active_preset": "home", + "available_schedules": ["Thermostat schedule", "off"], + "climate_mode": "heat_cool", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "d3ce834534114348be628b61b26d9220", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "cooling_activation_outdoor_temperature": 26.0, + "cooling_deactivation_threshold": 3.0, + "illuminance": 0.5, + "setpoint_high": 30.0, + "setpoint_low": 19.5, + "temperature": 20.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 19.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "fb49af122f6e4b0f91267e1cf7666d6f": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.2.1", + "hardware": "AME Smile 2.0 board", + "location": "d34dfe6ab90b410c98068e75de3eb631", + "mac_address": "C4930002FE76", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 13.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_elga_no_cooling/all_data.json b/fixtures/anna_elga_no_cooling/all_data.json deleted file mode 100644 index b04e42722..000000000 --- a/fixtures/anna_elga_no_cooling/all_data.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "devices": { - "015ae9ea3f964e668e490fa39da3870b": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 20.2 - }, - "vendor": "Plugwise" - }, - "1cbf783bb11e4a7c8a6843dee3a86927": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": true, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 46.3, - "intended_boiler_temperature": 35.0, - "modulation_level": 52, - "outdoor_air_temperature": 3.0, - "return_temperature": 25.1, - "water_pressure": 1.57, - "water_temperature": 29.1 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "3cb70739631c4d17a86b8b12e8a5161b": { - "active_preset": "home", - "available_schedules": ["standaard", "off"], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], - "select_schedule": "standaard", - "sensors": { - "cooling_activation_outdoor_temperature": 21.0, - "cooling_deactivation_threshold": 4.0, - "illuminance": 86.0, - "setpoint": 20.5, - "temperature": 19.3 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": -0.5, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "015ae9ea3f964e668e490fa39da3870b", - "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", - "item_count": 64, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_elga_no_cooling/data.json b/fixtures/anna_elga_no_cooling/data.json new file mode 100644 index 000000000..23ec151d4 --- /dev/null +++ b/fixtures/anna_elga_no_cooling/data.json @@ -0,0 +1,93 @@ +{ + "015ae9ea3f964e668e490fa39da3870b": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 20.2 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": true, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 46.3, + "intended_boiler_temperature": 35.0, + "modulation_level": 52, + "outdoor_air_temperature": 3.0, + "return_temperature": 25.1, + "water_pressure": 1.57, + "water_temperature": 29.1 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "3cb70739631c4d17a86b8b12e8a5161b": { + "active_preset": "home", + "available_schedules": ["standaard", "off"], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "select_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint": 20.5, + "temperature": 19.3 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": -0.5, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_heatpump_cooling/all_data.json b/fixtures/anna_heatpump_cooling/all_data.json deleted file mode 100644 index c5f7d3273..000000000 --- a/fixtures/anna_heatpump_cooling/all_data.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "devices": { - "015ae9ea3f964e668e490fa39da3870b": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 22.0 - }, - "vendor": "Plugwise" - }, - "1cbf783bb11e4a7c8a6843dee3a86927": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "cooling_enabled": true, - "cooling_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": false, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 41.5, - "domestic_hot_water_setpoint": 60.0, - "intended_boiler_temperature": 0.0, - "modulation_level": 40, - "outdoor_air_temperature": 22.0, - "return_temperature": 23.8, - "water_pressure": 1.61, - "water_temperature": 24.7 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "3cb70739631c4d17a86b8b12e8a5161b": { - "active_preset": "home", - "available_schedules": ["standaard", "off"], - "climate_mode": "heat_cool", - "control_state": "cooling", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], - "select_schedule": "off", - "sensors": { - "cooling_activation_outdoor_temperature": 21.0, - "cooling_deactivation_threshold": 6.0, - "illuminance": 24.5, - "setpoint_high": 22.0, - "setpoint_low": 4.0, - "temperature": 22.3 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": -0.5, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 22.0, - "setpoint_low": 4.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "015ae9ea3f964e668e490fa39da3870b", - "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", - "item_count": 65, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_heatpump_cooling/data.json b/fixtures/anna_heatpump_cooling/data.json new file mode 100644 index 000000000..c722045a2 --- /dev/null +++ b/fixtures/anna_heatpump_cooling/data.json @@ -0,0 +1,92 @@ +{ + "015ae9ea3f964e668e490fa39da3870b": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 22.0 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 41.5, + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 40, + "outdoor_air_temperature": 22.0, + "return_temperature": 23.8, + "water_pressure": 1.61, + "water_temperature": 24.7 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "3cb70739631c4d17a86b8b12e8a5161b": { + "active_preset": "home", + "available_schedules": ["standaard", "off"], + "climate_mode": "heat_cool", + "control_state": "cooling", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "select_schedule": "off", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 6.0, + "illuminance": 24.5, + "setpoint_high": 22.0, + "setpoint_low": 4.0, + "temperature": 22.3 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": -0.5, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 22.0, + "setpoint_low": 4.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_heatpump_cooling_fake_firmware/all_data.json b/fixtures/anna_heatpump_cooling_fake_firmware/all_data.json deleted file mode 100644 index 1021c610a..000000000 --- a/fixtures/anna_heatpump_cooling_fake_firmware/all_data.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "devices": { - "015ae9ea3f964e668e490fa39da3870b": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.10.10", - "hardware": "AME Smile 2.0 board", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 22.0 - }, - "vendor": "Plugwise" - }, - "1cbf783bb11e4a7c8a6843dee3a86927": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "cooling_enabled": true, - "cooling_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": false, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 41.5, - "domestic_hot_water_setpoint": 60.0, - "intended_boiler_temperature": 0.0, - "modulation_level": 100, - "outdoor_air_temperature": 22.0, - "return_temperature": 23.8, - "water_pressure": 1.61, - "water_temperature": 24.7 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "3cb70739631c4d17a86b8b12e8a5161b": { - "active_preset": "home", - "available_schedules": ["standaard", "off"], - "climate_mode": "heat_cool", - "control_state": "cooling", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], - "select_schedule": "off", - "sensors": { - "cooling_activation_outdoor_temperature": 21.0, - "cooling_deactivation_threshold": 6.0, - "illuminance": 24.5, - "setpoint_high": 22.0, - "setpoint_low": 4.0, - "temperature": 22.3 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": -0.5, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 22.0, - "setpoint_low": 4.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "015ae9ea3f964e668e490fa39da3870b", - "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", - "item_count": 65, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_heatpump_cooling_fake_firmware/data.json b/fixtures/anna_heatpump_cooling_fake_firmware/data.json new file mode 100644 index 000000000..4218240cb --- /dev/null +++ b/fixtures/anna_heatpump_cooling_fake_firmware/data.json @@ -0,0 +1,92 @@ +{ + "015ae9ea3f964e668e490fa39da3870b": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.10.10", + "hardware": "AME Smile 2.0 board", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 22.0 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 41.5, + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 100, + "outdoor_air_temperature": 22.0, + "return_temperature": 23.8, + "water_pressure": 1.61, + "water_temperature": 24.7 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "3cb70739631c4d17a86b8b12e8a5161b": { + "active_preset": "home", + "available_schedules": ["standaard", "off"], + "climate_mode": "heat_cool", + "control_state": "cooling", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "select_schedule": "off", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 6.0, + "illuminance": 24.5, + "setpoint_high": 22.0, + "setpoint_low": 4.0, + "temperature": 22.3 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": -0.5, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 22.0, + "setpoint_low": 4.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_heatpump_heating/all_data.json b/fixtures/anna_heatpump_heating/all_data.json deleted file mode 100644 index 66f7235d4..000000000 --- a/fixtures/anna_heatpump_heating/all_data.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "devices": { - "015ae9ea3f964e668e490fa39da3870b": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 20.2 - }, - "vendor": "Plugwise" - }, - "1cbf783bb11e4a7c8a6843dee3a86927": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "cooling_enabled": false, - "cooling_state": false, - "dhw_state": false, - "flame_state": false, - "heating_state": true, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 46.3, - "intended_boiler_temperature": 35.0, - "modulation_level": 52, - "outdoor_air_temperature": 3.0, - "return_temperature": 25.1, - "water_pressure": 1.57, - "water_temperature": 29.1 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "3cb70739631c4d17a86b8b12e8a5161b": { - "active_preset": "home", - "available_schedules": ["standaard", "off"], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], - "select_schedule": "standaard", - "sensors": { - "cooling_activation_outdoor_temperature": 21.0, - "cooling_deactivation_threshold": 4.0, - "illuminance": 86.0, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "temperature": 19.3 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": -0.5, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "015ae9ea3f964e668e490fa39da3870b", - "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", - "item_count": 68, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_heatpump_heating/data.json b/fixtures/anna_heatpump_heating/data.json new file mode 100644 index 000000000..ab6bdf08e --- /dev/null +++ b/fixtures/anna_heatpump_heating/data.json @@ -0,0 +1,97 @@ +{ + "015ae9ea3f964e668e490fa39da3870b": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 20.2 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": false, + "cooling_state": false, + "dhw_state": false, + "flame_state": false, + "heating_state": true, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 46.3, + "intended_boiler_temperature": 35.0, + "modulation_level": 52, + "outdoor_air_temperature": 3.0, + "return_temperature": 25.1, + "water_pressure": 1.57, + "water_temperature": 29.1 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "3cb70739631c4d17a86b8b12e8a5161b": { + "active_preset": "home", + "available_schedules": ["standaard", "off"], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "select_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "temperature": 19.3 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": -0.5, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/anna_loria_cooling_active/all_data.json b/fixtures/anna_loria_cooling_active/all_data.json deleted file mode 100644 index 24f142bd7..000000000 --- a/fixtures/anna_loria_cooling_active/all_data.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "devices": { - "582dfbdace4d4aeb832923ce7d1ddda0": { - "active_preset": "home", - "available_schedules": ["Winter", "Test ", "off"], - "climate_mode": "auto", - "control_state": "cooling", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "15da035090b847e7a21f93e08c015ebc", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], - "select_schedule": "Winter", - "sensors": { - "illuminance": 45.0, - "setpoint_high": 23.5, - "setpoint_low": 4.0, - "temperature": 24.1 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 23.5, - "setpoint_low": 4.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "9ff0569b4984459fb243af64c0901894": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.3.8", - "hardware": "AME Smile 2.0 board", - "location": "674b657c138a41a291d315d7471deb06", - "mac_address": "C493000278E2", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 15.5 - }, - "vendor": "Plugwise" - }, - "bfb5ee0a88e14e5f97bfa725a760cc49": { - "available": true, - "binary_sensors": { - "cooling_enabled": true, - "cooling_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "dhw_modes": ["off", "auto", "boost", "eco", "comfort"], - "location": "674b657c138a41a291d315d7471deb06", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 40.0, - "upper_bound": 45.0 - }, - "model": "Generic heater/cooler", - "model_id": "173", - "name": "OpenTherm", - "select_dhw_mode": "auto", - "sensors": { - "dhw_temperature": 52.9, - "intended_boiler_temperature": 0.0, - "modulation_level": 100, - "outdoor_air_temperature": 17.2, - "return_temperature": 26.3, - "water_temperature": 25.3 - }, - "switches": { - "cooling_ena_switch": true, - "dhw_cm_switch": true - }, - "vendor": "Atlantic" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "9ff0569b4984459fb243af64c0901894", - "heater_id": "bfb5ee0a88e14e5f97bfa725a760cc49", - "item_count": 67, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_loria_cooling_active/data.json b/fixtures/anna_loria_cooling_active/data.json new file mode 100644 index 000000000..8b6c7341e --- /dev/null +++ b/fixtures/anna_loria_cooling_active/data.json @@ -0,0 +1,96 @@ +{ + "582dfbdace4d4aeb832923ce7d1ddda0": { + "active_preset": "home", + "available_schedules": ["Winter", "Test ", "off"], + "climate_mode": "auto", + "control_state": "cooling", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "15da035090b847e7a21f93e08c015ebc", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], + "select_schedule": "Winter", + "sensors": { + "illuminance": 45.0, + "setpoint_high": 23.5, + "setpoint_low": 4.0, + "temperature": 24.1 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 23.5, + "setpoint_low": 4.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "9ff0569b4984459fb243af64c0901894": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.3.8", + "hardware": "AME Smile 2.0 board", + "location": "674b657c138a41a291d315d7471deb06", + "mac_address": "C493000278E2", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 15.5 + }, + "vendor": "Plugwise" + }, + "bfb5ee0a88e14e5f97bfa725a760cc49": { + "available": true, + "binary_sensors": { + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "dhw_modes": ["off", "auto", "boost", "eco", "comfort"], + "location": "674b657c138a41a291d315d7471deb06", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 40.0, + "upper_bound": 45.0 + }, + "model": "Generic heater/cooler", + "model_id": "173", + "name": "OpenTherm", + "select_dhw_mode": "auto", + "sensors": { + "dhw_temperature": 52.9, + "intended_boiler_temperature": 0.0, + "modulation_level": 100, + "outdoor_air_temperature": 17.2, + "return_temperature": 26.3, + "water_temperature": 25.3 + }, + "switches": { + "cooling_ena_switch": true, + "dhw_cm_switch": true + }, + "vendor": "Atlantic" + } +} diff --git a/fixtures/anna_loria_driessens/all_data.json b/fixtures/anna_loria_driessens/all_data.json deleted file mode 100644 index 5e047db7b..000000000 --- a/fixtures/anna_loria_driessens/all_data.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "devices": { - "5c118b1842e943c0a5b6ef88a60bb17a": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.4.1", - "hardware": "AME Smile 2.0 board", - "location": "82c15f65c9bf44c592d69e16139355e3", - "mac_address": "D40FB2011556", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 6.81 - }, - "vendor": "Plugwise" - }, - "9fb768d699e44c7fb5cc50309dc4e7d4": { - "active_preset": "home", - "available_schedules": [ - "Verwarmen@9-23u", - "VAKANTIE (winter)", - "VERWARMEN", - "KOELEN", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "fa70e08550c94de3a34feb27ecf31421", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "asleep", "vacation", "away", "home"], - "select_schedule": "Verwarmen@9-23u", - "sensors": { - "illuminance": 5.5, - "setpoint_high": 30.0, - "setpoint_low": 20.0, - "temperature": 21.2 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 20.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "a449cbc334ae4a5bb7f89064984b2906": { - "available": true, - "binary_sensors": { - "cooling_enabled": false, - "cooling_state": false, - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "dhw_modes": ["comfort", "eco", "off", "boost", "auto"], - "location": "82c15f65c9bf44c592d69e16139355e3", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 45.0, - "upper_bound": 45.0 - }, - "model": "Generic heater/cooler", - "model_id": "173", - "name": "OpenTherm", - "select_dhw_mode": "auto", - "sensors": { - "dhw_temperature": 49.5, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "outdoor_air_temperature": 7.5, - "return_temperature": 23.0, - "water_temperature": 23.3 - }, - "switches": { - "cooling_ena_switch": false, - "dhw_cm_switch": true - }, - "vendor": "Atlantic" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "5c118b1842e943c0a5b6ef88a60bb17a", - "heater_id": "a449cbc334ae4a5bb7f89064984b2906", - "item_count": 67, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_loria_driessens/data.json b/fixtures/anna_loria_driessens/data.json new file mode 100644 index 000000000..2519d1f45 --- /dev/null +++ b/fixtures/anna_loria_driessens/data.json @@ -0,0 +1,102 @@ +{ + "5c118b1842e943c0a5b6ef88a60bb17a": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.4.1", + "hardware": "AME Smile 2.0 board", + "location": "82c15f65c9bf44c592d69e16139355e3", + "mac_address": "D40FB2011556", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 6.81 + }, + "vendor": "Plugwise" + }, + "9fb768d699e44c7fb5cc50309dc4e7d4": { + "active_preset": "home", + "available_schedules": [ + "Verwarmen@9-23u", + "VAKANTIE (winter)", + "VERWARMEN", + "KOELEN", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "fa70e08550c94de3a34feb27ecf31421", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "asleep", "vacation", "away", "home"], + "select_schedule": "Verwarmen@9-23u", + "sensors": { + "illuminance": 5.5, + "setpoint_high": 30.0, + "setpoint_low": 20.0, + "temperature": 21.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 20.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "a449cbc334ae4a5bb7f89064984b2906": { + "available": true, + "binary_sensors": { + "cooling_enabled": false, + "cooling_state": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "dhw_modes": ["comfort", "eco", "off", "boost", "auto"], + "location": "82c15f65c9bf44c592d69e16139355e3", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 45.0, + "upper_bound": 45.0 + }, + "model": "Generic heater/cooler", + "model_id": "173", + "name": "OpenTherm", + "select_dhw_mode": "auto", + "sensors": { + "dhw_temperature": 49.5, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 7.5, + "return_temperature": 23.0, + "water_temperature": 23.3 + }, + "switches": { + "cooling_ena_switch": false, + "dhw_cm_switch": true + }, + "vendor": "Atlantic" + } +} diff --git a/fixtures/anna_loria_heating_idle/all_data.json b/fixtures/anna_loria_heating_idle/all_data.json deleted file mode 100644 index e5ef0f9b8..000000000 --- a/fixtures/anna_loria_heating_idle/all_data.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "devices": { - "582dfbdace4d4aeb832923ce7d1ddda0": { - "active_preset": "home", - "available_schedules": ["Winter", "Test ", "off"], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "15da035090b847e7a21f93e08c015ebc", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], - "select_schedule": "Winter", - "sensors": { - "illuminance": 45.0, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "temperature": 22.1 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "9ff0569b4984459fb243af64c0901894": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.3.8", - "hardware": "AME Smile 2.0 board", - "location": "674b657c138a41a291d315d7471deb06", - "mac_address": "C493000278E2", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 15.5 - }, - "vendor": "Plugwise" - }, - "bfb5ee0a88e14e5f97bfa725a760cc49": { - "available": true, - "binary_sensors": { - "cooling_enabled": false, - "cooling_state": false, - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "dhw_modes": ["off", "auto", "boost", "eco", "comfort"], - "location": "674b657c138a41a291d315d7471deb06", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 40.0, - "upper_bound": 45.0 - }, - "model": "Generic heater/cooler", - "model_id": "173", - "name": "OpenTherm", - "select_dhw_mode": "auto", - "sensors": { - "dhw_temperature": 52.9, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "outdoor_air_temperature": 17.2, - "return_temperature": 26.3, - "water_temperature": 25.3 - }, - "switches": { - "cooling_ena_switch": false, - "dhw_cm_switch": true - }, - "vendor": "Atlantic" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "9ff0569b4984459fb243af64c0901894", - "heater_id": "bfb5ee0a88e14e5f97bfa725a760cc49", - "item_count": 67, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_loria_heating_idle/data.json b/fixtures/anna_loria_heating_idle/data.json new file mode 100644 index 000000000..d1b640345 --- /dev/null +++ b/fixtures/anna_loria_heating_idle/data.json @@ -0,0 +1,96 @@ +{ + "582dfbdace4d4aeb832923ce7d1ddda0": { + "active_preset": "home", + "available_schedules": ["Winter", "Test ", "off"], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "15da035090b847e7a21f93e08c015ebc", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], + "select_schedule": "Winter", + "sensors": { + "illuminance": 45.0, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "temperature": 22.1 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "9ff0569b4984459fb243af64c0901894": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.3.8", + "hardware": "AME Smile 2.0 board", + "location": "674b657c138a41a291d315d7471deb06", + "mac_address": "C493000278E2", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 15.5 + }, + "vendor": "Plugwise" + }, + "bfb5ee0a88e14e5f97bfa725a760cc49": { + "available": true, + "binary_sensors": { + "cooling_enabled": false, + "cooling_state": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "dhw_modes": ["off", "auto", "boost", "eco", "comfort"], + "location": "674b657c138a41a291d315d7471deb06", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 40.0, + "upper_bound": 45.0 + }, + "model": "Generic heater/cooler", + "model_id": "173", + "name": "OpenTherm", + "select_dhw_mode": "auto", + "sensors": { + "dhw_temperature": 52.9, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 17.2, + "return_temperature": 26.3, + "water_temperature": 25.3 + }, + "switches": { + "cooling_ena_switch": false, + "dhw_cm_switch": true + }, + "vendor": "Atlantic" + } +} diff --git a/fixtures/anna_v4/all_data.json b/fixtures/anna_v4/all_data.json deleted file mode 100644 index 2df4e9c2e..000000000 --- a/fixtures/anna_v4/all_data.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "devices": { - "01b85360fdd243d0aaad4d6ac2a5ba7e": { - "active_preset": "home", - "available_schedules": ["Standaard", "Thuiswerken", "off"], - "climate_mode": "heat", - "control_state": "heating", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "eb5309212bf5407bb143e5bfa3b18aee", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], - "select_schedule": "off", - "sensors": { - "illuminance": 60.0, - "setpoint": 20.5, - "temperature": 20.6 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "0466eae8520144c78afb29628384edeb": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 7.44 - }, - "vendor": "Plugwise" - }, - "cd0e6156b1f04d5f952349ffbe397481": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": true - }, - "dev_class": "heater_central", - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { - "lower_bound": 30.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 100.0 - }, - "model": "Generic heater", - "model_id": "2.32", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 39.9, - "modulation_level": 0.0, - "return_temperature": 32.0, - "water_pressure": 2.2, - "water_temperature": 45.0 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Bosch Thermotechniek B.V." - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "0466eae8520144c78afb29628384edeb", - "heater_id": "cd0e6156b1f04d5f952349ffbe397481", - "item_count": 59, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_v4/data.json b/fixtures/anna_v4/data.json new file mode 100644 index 000000000..7e6f138be --- /dev/null +++ b/fixtures/anna_v4/data.json @@ -0,0 +1,88 @@ +{ + "01b85360fdd243d0aaad4d6ac2a5ba7e": { + "active_preset": "home", + "available_schedules": ["Standaard", "Thuiswerken", "off"], + "climate_mode": "heat", + "control_state": "heating", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "eb5309212bf5407bb143e5bfa3b18aee", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], + "select_schedule": "off", + "sensors": { + "illuminance": 60.0, + "setpoint": 20.5, + "temperature": 20.6 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "0466eae8520144c78afb29628384edeb": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 7.44 + }, + "vendor": "Plugwise" + }, + "cd0e6156b1f04d5f952349ffbe397481": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": true + }, + "dev_class": "heater_central", + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", + "max_dhw_temperature": { + "lower_bound": 30.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 100.0 + }, + "model": "Generic heater", + "model_id": "2.32", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 39.9, + "modulation_level": 0.0, + "return_temperature": 32.0, + "water_pressure": 2.2, + "water_temperature": 45.0 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Bosch Thermotechniek B.V." + } +} diff --git a/fixtures/anna_v4_dhw/all_data.json b/fixtures/anna_v4_dhw/all_data.json deleted file mode 100644 index fe8e1e927..000000000 --- a/fixtures/anna_v4_dhw/all_data.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "devices": { - "01b85360fdd243d0aaad4d6ac2a5ba7e": { - "active_preset": "home", - "available_schedules": ["Standaard", "Thuiswerken", "off"], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "eb5309212bf5407bb143e5bfa3b18aee", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], - "select_schedule": "off", - "sensors": { - "illuminance": 60.0, - "setpoint": 20.5, - "temperature": 20.6 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "0466eae8520144c78afb29628384edeb": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 7.44 - }, - "vendor": "Plugwise" - }, - "cd0e6156b1f04d5f952349ffbe397481": { - "available": true, - "binary_sensors": { - "dhw_state": true, - "flame_state": true, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { - "lower_bound": 30.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 100.0 - }, - "model": "Generic heater", - "model_id": "2.32", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 39.9, - "modulation_level": 0.0, - "return_temperature": 32.0, - "water_pressure": 2.2, - "water_temperature": 45.0 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Bosch Thermotechniek B.V." - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "0466eae8520144c78afb29628384edeb", - "heater_id": "cd0e6156b1f04d5f952349ffbe397481", - "item_count": 59, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_v4_dhw/data.json b/fixtures/anna_v4_dhw/data.json new file mode 100644 index 000000000..a560de161 --- /dev/null +++ b/fixtures/anna_v4_dhw/data.json @@ -0,0 +1,88 @@ +{ + "01b85360fdd243d0aaad4d6ac2a5ba7e": { + "active_preset": "home", + "available_schedules": ["Standaard", "Thuiswerken", "off"], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "eb5309212bf5407bb143e5bfa3b18aee", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], + "select_schedule": "off", + "sensors": { + "illuminance": 60.0, + "setpoint": 20.5, + "temperature": 20.6 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "0466eae8520144c78afb29628384edeb": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 7.44 + }, + "vendor": "Plugwise" + }, + "cd0e6156b1f04d5f952349ffbe397481": { + "available": true, + "binary_sensors": { + "dhw_state": true, + "flame_state": true, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", + "max_dhw_temperature": { + "lower_bound": 30.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 100.0 + }, + "model": "Generic heater", + "model_id": "2.32", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 39.9, + "modulation_level": 0.0, + "return_temperature": 32.0, + "water_pressure": 2.2, + "water_temperature": 45.0 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Bosch Thermotechniek B.V." + } +} diff --git a/fixtures/anna_v4_no_tag/all_data.json b/fixtures/anna_v4_no_tag/all_data.json deleted file mode 100644 index 3208f547e..000000000 --- a/fixtures/anna_v4_no_tag/all_data.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "devices": { - "01b85360fdd243d0aaad4d6ac2a5ba7e": { - "active_preset": "home", - "available_schedules": ["Standaard", "Thuiswerken", "off"], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "eb5309212bf5407bb143e5bfa3b18aee", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], - "select_schedule": "Thuiswerken", - "sensors": { - "illuminance": 60.0, - "setpoint": 20.5, - "temperature": 20.6 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "0466eae8520144c78afb29628384edeb": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 7.44 - }, - "vendor": "Plugwise" - }, - "cd0e6156b1f04d5f952349ffbe397481": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": true - }, - "dev_class": "heater_central", - "location": "94c107dc6ac84ed98e9f68c0dd06bf71", - "max_dhw_temperature": { - "lower_bound": 30.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 100.0 - }, - "model": "Generic heater", - "model_id": "2.32", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 39.9, - "modulation_level": 0.0, - "return_temperature": 32.0, - "water_pressure": 2.2, - "water_temperature": 45.0 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Bosch Thermotechniek B.V." - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "0466eae8520144c78afb29628384edeb", - "heater_id": "cd0e6156b1f04d5f952349ffbe397481", - "item_count": 59, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_v4_no_tag/data.json b/fixtures/anna_v4_no_tag/data.json new file mode 100644 index 000000000..513e7ce20 --- /dev/null +++ b/fixtures/anna_v4_no_tag/data.json @@ -0,0 +1,88 @@ +{ + "01b85360fdd243d0aaad4d6ac2a5ba7e": { + "active_preset": "home", + "available_schedules": ["Standaard", "Thuiswerken", "off"], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "eb5309212bf5407bb143e5bfa3b18aee", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], + "select_schedule": "Thuiswerken", + "sensors": { + "illuminance": 60.0, + "setpoint": 20.5, + "temperature": 20.6 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "0466eae8520144c78afb29628384edeb": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 7.44 + }, + "vendor": "Plugwise" + }, + "cd0e6156b1f04d5f952349ffbe397481": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": true + }, + "dev_class": "heater_central", + "location": "94c107dc6ac84ed98e9f68c0dd06bf71", + "max_dhw_temperature": { + "lower_bound": 30.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 100.0 + }, + "model": "Generic heater", + "model_id": "2.32", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 39.9, + "modulation_level": 0.0, + "return_temperature": 32.0, + "water_pressure": 2.2, + "water_temperature": 45.0 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Bosch Thermotechniek B.V." + } +} diff --git a/fixtures/anna_without_boiler_fw441/all_data.json b/fixtures/anna_without_boiler_fw441/all_data.json deleted file mode 100644 index b72c1d90c..000000000 --- a/fixtures/anna_without_boiler_fw441/all_data.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "devices": { - "7ffbb3ab4b6c4ab2915d7510f7bf8fe9": { - "active_preset": "home", - "available_schedules": ["Test", "Normaal", "off"], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c34c6864216446528e95d88985e714cc", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "asleep", "away", "vacation", "home"], - "select_schedule": "Normaal", - "sensors": { - "illuminance": 0.25, - "setpoint": 19.0, - "temperature": 19.1 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 19.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "a270735e4ccd45239424badc0578a2b1": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.4.1", - "hardware": "AME Smile 2.0 board", - "location": "0f4f2ada20734a339fe353348fe87b96", - "mac_address": "D40FB200FA1C", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 8.31 - }, - "vendor": "Plugwise" - }, - "c46b4794d28149699eacf053deedd003": { - "binary_sensors": { - "heating_state": false - }, - "dev_class": "heater_central", - "location": "0f4f2ada20734a339fe353348fe87b96", - "model": "Unknown", - "name": "OnOff" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "a270735e4ccd45239424badc0578a2b1", - "heater_id": "c46b4794d28149699eacf053deedd003", - "item_count": 40, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/anna_without_boiler_fw441/data.json b/fixtures/anna_without_boiler_fw441/data.json new file mode 100644 index 000000000..7e0b7cc4f --- /dev/null +++ b/fixtures/anna_without_boiler_fw441/data.json @@ -0,0 +1,61 @@ +{ + "7ffbb3ab4b6c4ab2915d7510f7bf8fe9": { + "active_preset": "home", + "available_schedules": ["Test", "Normaal", "off"], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c34c6864216446528e95d88985e714cc", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "asleep", "away", "vacation", "home"], + "select_schedule": "Normaal", + "sensors": { + "illuminance": 0.25, + "setpoint": 19.0, + "temperature": 19.1 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 19.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "a270735e4ccd45239424badc0578a2b1": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.4.1", + "hardware": "AME Smile 2.0 board", + "location": "0f4f2ada20734a339fe353348fe87b96", + "mac_address": "D40FB200FA1C", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 8.31 + }, + "vendor": "Plugwise" + }, + "c46b4794d28149699eacf053deedd003": { + "binary_sensors": { + "heating_state": false + }, + "dev_class": "heater_central", + "location": "0f4f2ada20734a339fe353348fe87b96", + "model": "Unknown", + "name": "OnOff" + } +} diff --git a/fixtures/legacy_anna/all_data.json b/fixtures/legacy_anna/all_data.json deleted file mode 100644 index 9275b82cd..000000000 --- a/fixtures/legacy_anna/all_data.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "devices": { - "0000aaaa0000aaaa0000aaaa0000aa00": { - "dev_class": "gateway", - "firmware": "1.8.22", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": "01:23:45:67:89:AB", - "model": "Gateway", - "name": "Smile Anna", - "vendor": "Plugwise" - }, - "04e4cbfe7f4340f090f85ec3b9e6a950": { - "binary_sensors": { - "flame_state": true, - "heating_state": true - }, - "dev_class": "heater_central", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "maximum_boiler_temperature": { - "lower_bound": 50.0, - "resolution": 1.0, - "setpoint": 50.0, - "upper_bound": 90.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 51.2, - "intended_boiler_temperature": 17.0, - "modulation_level": 0.0, - "return_temperature": 21.7, - "water_pressure": 1.2, - "water_temperature": 23.6 - }, - "vendor": "Bosch Thermotechniek B.V." - }, - "0d266432d64443e283b5d708ae98b455": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "heating", - "dev_class": "thermostat", - "firmware": "2017-03-13T11:54:58+01:00", - "hardware": "6539-1301-500", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["away", "vacation", "asleep", "home", "no_frost"], - "sensors": { - "illuminance": 150.8, - "setpoint": 20.5, - "temperature": 20.4 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00", - "heater_id": "04e4cbfe7f4340f090f85ec3b9e6a950", - "item_count": 41, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/legacy_anna/data.json b/fixtures/legacy_anna/data.json new file mode 100644 index 000000000..cc7e66fb1 --- /dev/null +++ b/fixtures/legacy_anna/data.json @@ -0,0 +1,60 @@ +{ + "0000aaaa0000aaaa0000aaaa0000aa00": { + "dev_class": "gateway", + "firmware": "1.8.22", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "mac_address": "01:23:45:67:89:AB", + "model": "Gateway", + "name": "Smile Anna", + "vendor": "Plugwise" + }, + "04e4cbfe7f4340f090f85ec3b9e6a950": { + "binary_sensors": { + "flame_state": true, + "heating_state": true + }, + "dev_class": "heater_central", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "maximum_boiler_temperature": { + "lower_bound": 50.0, + "resolution": 1.0, + "setpoint": 50.0, + "upper_bound": 90.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 51.2, + "intended_boiler_temperature": 17.0, + "modulation_level": 0.0, + "return_temperature": 21.7, + "water_pressure": 1.2, + "water_temperature": 23.6 + }, + "vendor": "Bosch Thermotechniek B.V." + }, + "0d266432d64443e283b5d708ae98b455": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "heating", + "dev_class": "thermostat", + "firmware": "2017-03-13T11:54:58+01:00", + "hardware": "6539-1301-500", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "vacation", "asleep", "home", "no_frost"], + "sensors": { + "illuminance": 150.8, + "setpoint": 20.5, + "temperature": 20.4 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/legacy_anna_2/all_data.json b/fixtures/legacy_anna_2/all_data.json deleted file mode 100644 index 05043b02e..000000000 --- a/fixtures/legacy_anna_2/all_data.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "devices": { - "9e7377867dc24e51b8098a5ba02bd89d": { - "active_preset": null, - "available_schedules": ["Thermostat schedule", "off"], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2017-03-13T11:54:58+01:00", - "hardware": "6539-1301-5002", - "location": "be81e3f8275b4129852c4d8d550ae2eb", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["vacation", "away", "no_frost", "home", "asleep"], - "select_schedule": "off", - "sensors": { - "illuminance": 19.5, - "setpoint": 15.0, - "temperature": 21.4 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint": 15.0, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - }, - "be81e3f8275b4129852c4d8d550ae2eb": { - "dev_class": "gateway", - "firmware": "1.8.22", - "location": "be81e3f8275b4129852c4d8d550ae2eb", - "mac_address": "01:23:45:67:89:AB", - "model": "Gateway", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 21.0 - }, - "vendor": "Plugwise" - }, - "ea5d8a7177e541b0a4b52da815166de4": { - "binary_sensors": { - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "be81e3f8275b4129852c4d8d550ae2eb", - "maximum_boiler_temperature": { - "lower_bound": 50.0, - "resolution": 1.0, - "setpoint": 70.0, - "upper_bound": 90.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 0.0, - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "return_temperature": 0.0, - "water_pressure": 1.7, - "water_temperature": 54.0 - } - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "be81e3f8275b4129852c4d8d550ae2eb", - "heater_id": "ea5d8a7177e541b0a4b52da815166de4", - "item_count": 43, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/legacy_anna_2/data.json b/fixtures/legacy_anna_2/data.json new file mode 100644 index 000000000..5f1ef01f9 --- /dev/null +++ b/fixtures/legacy_anna_2/data.json @@ -0,0 +1,64 @@ +{ + "9e7377867dc24e51b8098a5ba02bd89d": { + "active_preset": null, + "available_schedules": ["Thermostat schedule", "off"], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2017-03-13T11:54:58+01:00", + "hardware": "6539-1301-5002", + "location": "be81e3f8275b4129852c4d8d550ae2eb", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "away", "no_frost", "home", "asleep"], + "select_schedule": "off", + "sensors": { + "illuminance": 19.5, + "setpoint": 15.0, + "temperature": 21.4 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 15.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "be81e3f8275b4129852c4d8d550ae2eb": { + "dev_class": "gateway", + "firmware": "1.8.22", + "location": "be81e3f8275b4129852c4d8d550ae2eb", + "mac_address": "01:23:45:67:89:AB", + "model": "Gateway", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 21.0 + }, + "vendor": "Plugwise" + }, + "ea5d8a7177e541b0a4b52da815166de4": { + "binary_sensors": { + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "be81e3f8275b4129852c4d8d550ae2eb", + "maximum_boiler_temperature": { + "lower_bound": 50.0, + "resolution": 1.0, + "setpoint": 70.0, + "upper_bound": 90.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 0.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "return_temperature": 0.0, + "water_pressure": 1.7, + "water_temperature": 54.0 + } + } +} diff --git a/fixtures/m_adam_cooling/all_data.json b/fixtures/m_adam_cooling/all_data.json deleted file mode 100644 index af6d4b833..000000000 --- a/fixtures/m_adam_cooling/all_data.json +++ /dev/null @@ -1,213 +0,0 @@ -{ - "devices": { - "056ee145a816487eaa69243c3280f8bf": { - "available": true, - "binary_sensors": { - "cooling_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 17.5, - "water_temperature": 19.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "1772a4ea304041adb83f357b751341ff": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Badkamer", - "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 21.6, - "temperature_difference": -0.2, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" - }, - "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "available": true, - "dev_class": "thermostat", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 23.5, - "temperature": 25.8 - }, - "vendor": "Plugwise" - }, - "da224107914542988a88561b4452b0f6": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.7.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": [ - "bleeding_hot", - "bleeding_cold", - "off", - "heating", - "cooling" - ], - "select_gateway_mode": "full", - "select_regulation_mode": "cooling", - "sensors": { - "outdoor_temperature": 29.65 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" - }, - "e2f4322d57924fa090fbbc48b3a140dc": { - "available": true, - "binary_sensors": { - "low_battery": true - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Lisa", - "model_id": "158-01", - "name": "Lisa Badkamer", - "sensors": { - "battery": 14, - "setpoint": 23.5, - "temperature": 23.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" - }, - "e8ef2a01ed3b4139a53bf749204fe6b4": { - "dev_class": "switching", - "members": [ - "2568cc4b9c1e401495d4741a5f89bee1", - "29542b2b6a6a4169acecc15c72a599b8" - ], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "f2bf9048bef64cc5b6d5110154e33c81": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "cool", - "control_state": "cooling", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 149.9, - "electricity_produced": 0.0, - "temperature": 25.8 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 23.5, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "auto", - "control_state": "cooling", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 23.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 25.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], - "secondary": ["1772a4ea304041adb83f357b751341ff"] - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "da224107914542988a88561b4452b0f6", - "heater_id": "056ee145a816487eaa69243c3280f8bf", - "item_count": 89, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/m_adam_cooling/data.json b/fixtures/m_adam_cooling/data.json new file mode 100644 index 000000000..51f19ca3c --- /dev/null +++ b/fixtures/m_adam_cooling/data.json @@ -0,0 +1,203 @@ +{ + "056ee145a816487eaa69243c3280f8bf": { + "available": true, + "binary_sensors": { + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 50.0, + "upper_bound": 95.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 17.5, + "water_temperature": 19.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "1772a4ea304041adb83f357b751341ff": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "setpoint": 18.0, + "temperature": 21.6, + "temperature_difference": -0.2, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C8FF5EE" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "available": true, + "dev_class": "thermostat", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Anna", + "sensors": { + "setpoint": 23.5, + "temperature": 25.8 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.7.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345679891", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": [ + "bleeding_hot", + "bleeding_cold", + "off", + "heating", + "cooling" + ], + "select_gateway_mode": "full", + "select_regulation_mode": "cooling", + "sensors": { + "outdoor_temperature": 29.65 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D5A168D" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "available": true, + "binary_sensors": { + "low_battery": true + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Lisa", + "model_id": "158-01", + "name": "Lisa Badkamer", + "sensors": { + "battery": 14, + "setpoint": 23.5, + "temperature": 23.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C869B61" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + }, + "vendor": "Plugwise" + }, + "f2bf9048bef64cc5b6d5110154e33c81": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "cool", + "control_state": "cooling", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Living room", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 149.9, + "electricity_produced": 0.0, + "temperature": 25.8 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 23.5, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "f871b8c4d63549319221e294e4f88074": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "auto", + "control_state": "cooling", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bathroom", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "Badkamer", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 23.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 25.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], + "secondary": ["1772a4ea304041adb83f357b751341ff"] + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/m_adam_heating/all_data.json b/fixtures/m_adam_heating/all_data.json deleted file mode 100644 index bb24faeeb..000000000 --- a/fixtures/m_adam_heating/all_data.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "devices": { - "056ee145a816487eaa69243c3280f8bf": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": true - }, - "dev_class": "heater_central", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "max_dhw_temperature": { - "lower_bound": 40.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 25.0, - "resolution": 0.01, - "setpoint": 50.0, - "upper_bound": 95.0 - }, - "model": "Generic heater", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 38.1, - "water_temperature": 37.0 - }, - "switches": { - "dhw_cm_switch": false - } - }, - "1772a4ea304041adb83f357b751341ff": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Badkamer", - "sensors": { - "battery": 99, - "setpoint": 18.0, - "temperature": 18.6, - "temperature_difference": -0.2, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C8FF5EE" - }, - "ad4838d7d35c4d6ea796ee12ae5aedf8": { - "available": true, - "dev_class": "thermostat", - "location": "f2bf9048bef64cc5b6d5110154e33c81", - "model": "ThermoTouch", - "model_id": "143.1", - "name": "Anna", - "sensors": { - "setpoint": 20.0, - "temperature": 19.1 - }, - "vendor": "Plugwise" - }, - "da224107914542988a88561b4452b0f6": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.7.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "bc93488efab249e5bc54fd7e175a6f91", - "mac_address": "012345679891", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], - "select_gateway_mode": "full", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": -1.25 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000D5A168D" - }, - "e2f4322d57924fa090fbbc48b3a140dc": { - "available": true, - "binary_sensors": { - "low_battery": true - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-10T02:00:00+02:00", - "hardware": "255", - "location": "f871b8c4d63549319221e294e4f88074", - "model": "Lisa", - "model_id": "158-01", - "name": "Lisa Badkamer", - "sensors": { - "battery": 14, - "setpoint": 15.0, - "temperature": 17.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "000D6F000C869B61" - }, - "e8ef2a01ed3b4139a53bf749204fe6b4": { - "dev_class": "switching", - "members": [ - "2568cc4b9c1e401495d4741a5f89bee1", - "29542b2b6a6a4169acecc15c72a599b8" - ], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "f2bf9048bef64cc5b6d5110154e33c81": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "heat", - "control_state": "preheating", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Living room", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 149.9, - "electricity_produced": 0.0, - "temperature": 19.1 - }, - "thermostat": { - "lower_bound": 1.0, - "resolution": 0.01, - "setpoint": 20.0, - "upper_bound": 35.0 - }, - "thermostats": { - "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "f871b8c4d63549319221e294e4f88074": { - "active_preset": "home", - "available_schedules": [ - "Badkamer", - "Test", - "Vakantie", - "Weekschema", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bathroom", - "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], - "select_schedule": "Badkamer", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 17.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 15.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], - "secondary": ["1772a4ea304041adb83f357b751341ff"] - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "da224107914542988a88561b4452b0f6", - "heater_id": "056ee145a816487eaa69243c3280f8bf", - "item_count": 89, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/m_adam_heating/data.json b/fixtures/m_adam_heating/data.json new file mode 100644 index 000000000..b10ff8ec2 --- /dev/null +++ b/fixtures/m_adam_heating/data.json @@ -0,0 +1,202 @@ +{ + "056ee145a816487eaa69243c3280f8bf": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": true + }, + "dev_class": "heater_central", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "max_dhw_temperature": { + "lower_bound": 40.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 50.0, + "upper_bound": 95.0 + }, + "model": "Generic heater", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 38.1, + "water_temperature": 37.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "1772a4ea304041adb83f357b751341ff": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "setpoint": 18.0, + "temperature": 18.6, + "temperature_difference": -0.2, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C8FF5EE" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "available": true, + "dev_class": "thermostat", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "ThermoTouch", + "model_id": "143.1", + "name": "Anna", + "sensors": { + "setpoint": 20.0, + "temperature": 19.1 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.7.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345679891", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": ["bleeding_hot", "bleeding_cold", "off", "heating"], + "select_gateway_mode": "full", + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": -1.25 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000D5A168D" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "available": true, + "binary_sensors": { + "low_battery": true + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Lisa", + "model_id": "158-01", + "name": "Lisa Badkamer", + "sensors": { + "battery": 14, + "setpoint": 15.0, + "temperature": 17.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "000D6F000C869B61" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + }, + "vendor": "Plugwise" + }, + "f2bf9048bef64cc5b6d5110154e33c81": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "heat", + "control_state": "preheating", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Living room", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 149.9, + "electricity_produced": 0.0, + "temperature": 19.1 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 20.0, + "upper_bound": 35.0 + }, + "thermostats": { + "primary": ["ad4838d7d35c4d6ea796ee12ae5aedf8"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "f871b8c4d63549319221e294e4f88074": { + "active_preset": "home", + "available_schedules": [ + "Badkamer", + "Test", + "Vakantie", + "Weekschema", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bathroom", + "preset_modes": ["no_frost", "asleep", "vacation", "home", "away"], + "select_schedule": "Badkamer", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 17.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 15.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["e2f4322d57924fa090fbbc48b3a140dc"], + "secondary": ["1772a4ea304041adb83f357b751341ff"] + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/m_adam_jip/all_data.json b/fixtures/m_adam_jip/all_data.json deleted file mode 100644 index 1a3ef66c1..000000000 --- a/fixtures/m_adam_jip/all_data.json +++ /dev/null @@ -1,380 +0,0 @@ -{ - "devices": { - "06aecb3d00354375924f50c47af36bd2": { - "active_preset": "no_frost", - "climate_mode": "off", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Slaapkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 24.2 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["1346fbd8498d4dbcab7e18d51b771f3d"], - "secondary": ["356b65335e274d769c338223e7af9c33"] - }, - "vendor": "Plugwise" - }, - "13228dab8ce04617af318a2888b3c548": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 27.4 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.01, - "setpoint": 9.0, - "upper_bound": 30.0 - }, - "thermostats": { - "primary": ["f61f1a2535f54f52ad006a3d18e459ca"], - "secondary": ["833de10f269c4deab58fb9df69901b4e"] - }, - "vendor": "Plugwise" - }, - "1346fbd8498d4dbcab7e18d51b771f3d": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "06aecb3d00354375924f50c47af36bd2", - "model": "Lisa", - "model_id": "158-01", - "name": "Slaapkamer", - "sensors": { - "battery": 92, - "setpoint": 13.0, - "temperature": 24.2 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "1da4d325838e4ad8aac12177214505c9": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "d58fec52899f4f1c92e4f8fad6d8c48c", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Logeerkamer", - "sensors": { - "setpoint": 13.0, - "temperature": 28.8, - "temperature_difference": 2.0, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "356b65335e274d769c338223e7af9c33": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "06aecb3d00354375924f50c47af36bd2", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Slaapkamer", - "sensors": { - "setpoint": 13.0, - "temperature": 24.2, - "temperature_difference": 1.7, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "457ce8414de24596a2d5e7dbc9c7682f": { - "available": true, - "dev_class": "zz_misc_plug", - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "model": "Aqara Smart Plug", - "model_id": "lumi.plug.maeu01", - "name": "Plug", - "sensors": { - "electricity_consumed_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": false - }, - "vendor": "LUMI", - "zigbee_mac_address": "ABCD012345670A06" - }, - "6f3e9d7084214c21b9dfa46f6eeb8700": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "d27aede973b54be484f6842d1b2802ad", - "model": "Lisa", - "model_id": "158-01", - "name": "Kinderkamer", - "sensors": { - "battery": 79, - "setpoint": 13.0, - "temperature": 30.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "833de10f269c4deab58fb9df69901b4e": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "13228dab8ce04617af318a2888b3c548", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Woonkamer", - "sensors": { - "setpoint": 9.0, - "temperature": 24.0, - "temperature_difference": 1.8, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "a6abc6a129ee499c88a4d420cc413b47": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "d58fec52899f4f1c92e4f8fad6d8c48c", - "model": "Lisa", - "model_id": "158-01", - "name": "Logeerkamer", - "sensors": { - "battery": 80, - "setpoint": 13.0, - "temperature": 30.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "b5c2386c6f6342669e50fe49dd05b188": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "3.2.8", - "gateway_modes": ["away", "full", "vacation"], - "hardware": "AME Smile 2.0 board", - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], - "select_gateway_mode": "full", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 24.9 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "d27aede973b54be484f6842d1b2802ad": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Kinderkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 30.0 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["6f3e9d7084214c21b9dfa46f6eeb8700"], - "secondary": ["d4496250d0e942cfa7aea3476e9070d5"] - }, - "vendor": "Plugwise" - }, - "d4496250d0e942cfa7aea3476e9070d5": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2020-11-04T01:00:00+01:00", - "hardware": "1", - "location": "d27aede973b54be484f6842d1b2802ad", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Tom Kinderkamer", - "sensors": { - "setpoint": 13.0, - "temperature": 28.7, - "temperature_difference": 1.9, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.1, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A04" - }, - "d58fec52899f4f1c92e4f8fad6d8c48c": { - "active_preset": "home", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Logeerkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 30.0 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 99.9 - }, - "thermostats": { - "primary": ["a6abc6a129ee499c88a4d420cc413b47"], - "secondary": ["1da4d325838e4ad8aac12177214505c9"] - }, - "vendor": "Plugwise" - }, - "e4684553153b44afbef2200885f379dc": { - "available": true, - "binary_sensors": { - "dhw_state": false, - "flame_state": false, - "heating_state": false - }, - "dev_class": "heater_central", - "location": "9e4433a9d69f40b3aefd15e74395eaec", - "max_dhw_temperature": { - "lower_bound": 40.0, - "resolution": 0.01, - "setpoint": 60.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 20.0, - "resolution": 0.01, - "setpoint": 90.0, - "upper_bound": 90.0 - }, - "model": "Generic heater", - "model_id": "10.20", - "name": "OpenTherm", - "sensors": { - "intended_boiler_temperature": 0.0, - "modulation_level": 0.0, - "return_temperature": 37.1, - "water_pressure": 1.4, - "water_temperature": 37.3 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Remeha B.V." - }, - "f61f1a2535f54f52ad006a3d18e459ca": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermometer", - "firmware": "2020-09-01T02:00:00+02:00", - "hardware": "1", - "location": "13228dab8ce04617af318a2888b3c548", - "model": "Jip", - "model_id": "168-01", - "name": "Woonkamer", - "sensors": { - "battery": 100, - "humidity": 56.2, - "setpoint": 9.0, - "temperature": 27.4 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "b5c2386c6f6342669e50fe49dd05b188", - "heater_id": "e4684553153b44afbef2200885f379dc", - "item_count": 244, - "notifications": {}, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/m_adam_jip/data.json b/fixtures/m_adam_jip/data.json new file mode 100644 index 000000000..8de57910f --- /dev/null +++ b/fixtures/m_adam_jip/data.json @@ -0,0 +1,370 @@ +{ + "06aecb3d00354375924f50c47af36bd2": { + "active_preset": "no_frost", + "climate_mode": "off", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Slaapkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 24.2 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["1346fbd8498d4dbcab7e18d51b771f3d"], + "secondary": ["356b65335e274d769c338223e7af9c33"] + }, + "vendor": "Plugwise" + }, + "13228dab8ce04617af318a2888b3c548": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 27.4 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.01, + "setpoint": 9.0, + "upper_bound": 30.0 + }, + "thermostats": { + "primary": ["f61f1a2535f54f52ad006a3d18e459ca"], + "secondary": ["833de10f269c4deab58fb9df69901b4e"] + }, + "vendor": "Plugwise" + }, + "1346fbd8498d4dbcab7e18d51b771f3d": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "06aecb3d00354375924f50c47af36bd2", + "model": "Lisa", + "model_id": "158-01", + "name": "Slaapkamer", + "sensors": { + "battery": 92, + "setpoint": 13.0, + "temperature": 24.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "1da4d325838e4ad8aac12177214505c9": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "d58fec52899f4f1c92e4f8fad6d8c48c", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Logeerkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 28.8, + "temperature_difference": 2.0, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "356b65335e274d769c338223e7af9c33": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "06aecb3d00354375924f50c47af36bd2", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Slaapkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 24.2, + "temperature_difference": 1.7, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "457ce8414de24596a2d5e7dbc9c7682f": { + "available": true, + "dev_class": "zz_misc_plug", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "model": "Aqara Smart Plug", + "model_id": "lumi.plug.maeu01", + "name": "Plug", + "sensors": { + "electricity_consumed_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": false + }, + "vendor": "LUMI", + "zigbee_mac_address": "ABCD012345670A06" + }, + "6f3e9d7084214c21b9dfa46f6eeb8700": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "d27aede973b54be484f6842d1b2802ad", + "model": "Lisa", + "model_id": "158-01", + "name": "Kinderkamer", + "sensors": { + "battery": 79, + "setpoint": 13.0, + "temperature": 30.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "833de10f269c4deab58fb9df69901b4e": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "13228dab8ce04617af318a2888b3c548", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Woonkamer", + "sensors": { + "setpoint": 9.0, + "temperature": 24.0, + "temperature_difference": 1.8, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "a6abc6a129ee499c88a4d420cc413b47": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "d58fec52899f4f1c92e4f8fad6d8c48c", + "model": "Lisa", + "model_id": "158-01", + "name": "Logeerkamer", + "sensors": { + "battery": 80, + "setpoint": 13.0, + "temperature": 30.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "b5c2386c6f6342669e50fe49dd05b188": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.2.8", + "gateway_modes": ["away", "full", "vacation"], + "hardware": "AME Smile 2.0 board", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": {}, + "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], + "select_gateway_mode": "full", + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 24.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "d27aede973b54be484f6842d1b2802ad": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Kinderkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 30.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["6f3e9d7084214c21b9dfa46f6eeb8700"], + "secondary": ["d4496250d0e942cfa7aea3476e9070d5"] + }, + "vendor": "Plugwise" + }, + "d4496250d0e942cfa7aea3476e9070d5": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "d27aede973b54be484f6842d1b2802ad", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Tom Kinderkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 28.7, + "temperature_difference": 1.9, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.1, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "d58fec52899f4f1c92e4f8fad6d8c48c": { + "active_preset": "home", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Logeerkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 30.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "thermostats": { + "primary": ["a6abc6a129ee499c88a4d420cc413b47"], + "secondary": ["1da4d325838e4ad8aac12177214505c9"] + }, + "vendor": "Plugwise" + }, + "e4684553153b44afbef2200885f379dc": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "max_dhw_temperature": { + "lower_bound": 40.0, + "resolution": 0.01, + "setpoint": 60.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 20.0, + "resolution": 0.01, + "setpoint": 90.0, + "upper_bound": 90.0 + }, + "model": "Generic heater", + "model_id": "10.20", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "return_temperature": 37.1, + "water_pressure": 1.4, + "water_temperature": 37.3 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Remeha B.V." + }, + "f61f1a2535f54f52ad006a3d18e459ca": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "location": "13228dab8ce04617af318a2888b3c548", + "model": "Jip", + "model_id": "168-01", + "name": "Woonkamer", + "sensors": { + "battery": 100, + "humidity": 56.2, + "setpoint": 9.0, + "temperature": 27.4 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + } +} diff --git a/fixtures/m_adam_multiple_devices_per_zone/all_data.json b/fixtures/m_adam_multiple_devices_per_zone/all_data.json deleted file mode 100644 index 8da184a7a..000000000 --- a/fixtures/m_adam_multiple_devices_per_zone/all_data.json +++ /dev/null @@ -1,594 +0,0 @@ -{ - "devices": { - "02cf28bfec924855854c544690a609ef": { - "available": true, - "dev_class": "vcr_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "NVR", - "sensors": { - "electricity_consumed": 34.0, - "electricity_consumed_interval": 9.15, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A15" - }, - "08963fec7c53423ca5680aa4cb502c63": { - "active_preset": "away", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Badkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "Badkamer Schema", - "sensors": { - "temperature": 18.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 14.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": [ - "f1fee6043d3642a9b0a65297455f008e", - "680423ff840043738f42cc7f1ff97a36" - ], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "12493538af164a409c6a1c79e38afe1c": { - "active_preset": "away", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Bios", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "off", - "sensors": { - "electricity_consumed": 0.0, - "electricity_produced": 0.0, - "temperature": 16.5 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 13.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["df4a4a8169904cdb9c03d61a21f42140"], - "secondary": ["a2c3583e0a6349358998b760cea82d2a"] - }, - "vendor": "Plugwise" - }, - "21f2b542c49845e6bb416884c55778d6": { - "available": true, - "dev_class": "game_console_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Playstation Smart Plug", - "sensors": { - "electricity_consumed": 84.1, - "electricity_consumed_interval": 8.6, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A12" - }, - "446ac08dd04d4eff8ac57489757b7314": { - "active_preset": "no_frost", - "climate_mode": "heat", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Garage", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "sensors": { - "temperature": 15.6 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 5.5, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["e7693eb9582644e5b865dba8d4447cf1"], - "secondary": [] - }, - "vendor": "Plugwise" - }, - "4a810418d5394b3f82727340b91ba740": { - "available": true, - "dev_class": "router_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "USG Smart Plug", - "sensors": { - "electricity_consumed": 8.5, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A16" - }, - "675416a629f343c495449970e2ca37b5": { - "available": true, - "dev_class": "router_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Ziggo Modem", - "sensors": { - "electricity_consumed": 12.2, - "electricity_consumed_interval": 2.97, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "680423ff840043738f42cc7f1ff97a36": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "08963fec7c53423ca5680aa4cb502c63", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Thermostatic Radiator Badkamer 1", - "sensors": { - "battery": 51, - "setpoint": 14.0, - "temperature": 19.1, - "temperature_difference": -0.4, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A17" - }, - "6a3bf693d05e48e0b460c815a4fdd09d": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "82fa13f017d240daa0d0ea1775420f24", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Thermostat Jessie", - "sensors": { - "battery": 37, - "setpoint": 15.0, - "temperature": 17.2 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "78d1126fc4c743db81b61c20e88342a7": { - "available": true, - "dev_class": "central_heating_pump_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Plug", - "model_id": "160-01", - "name": "CV Pomp", - "sensors": { - "electricity_consumed": 35.6, - "electricity_consumed_interval": 7.37, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "82fa13f017d240daa0d0ea1775420f24": { - "active_preset": "asleep", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Jessie", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "CV Jessie", - "sensors": { - "temperature": 17.2 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 15.0, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["6a3bf693d05e48e0b460c815a4fdd09d"], - "secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"] - }, - "vendor": "Plugwise" - }, - "90986d591dcd426cae3ec3e8111ff730": { - "binary_sensors": { - "heating_state": true - }, - "dev_class": "heater_central", - "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "model": "Unknown", - "name": "OnOff", - "sensors": { - "intended_boiler_temperature": 70.0, - "modulation_level": 1, - "water_temperature": 70.0 - } - }, - "a28f588dc4a049a483fd03a30361ad3a": { - "available": true, - "dev_class": "settop_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "Fibaro HC2", - "sensors": { - "electricity_consumed": 12.5, - "electricity_consumed_interval": 3.8, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A13" - }, - "a2c3583e0a6349358998b760cea82d2a": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "12493538af164a409c6a1c79e38afe1c", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Bios Cv Thermostatic Radiator ", - "sensors": { - "battery": 62, - "setpoint": 13.0, - "temperature": 17.2, - "temperature_difference": -0.2, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "b310b72a0e354bfab43089919b9a88bf": { - "available": true, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Floor kraan", - "sensors": { - "setpoint": 21.5, - "temperature": 26.0, - "temperature_difference": 3.5, - "valve_position": 100 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "b59bcebaf94b499ea7d46e4a66fb62d8": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-08-02T02:00:00+02:00", - "hardware": "255", - "location": "c50f167537524366a5af7aa3942feb1e", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Lisa WK", - "sensors": { - "battery": 34, - "setpoint": 21.5, - "temperature": 20.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "c50f167537524366a5af7aa3942feb1e": { - "active_preset": "home", - "available_schedules": [ - "CV Roan", - "Bios Schema met Film Avond", - "GF7 Woonkamer", - "Badkamer Schema", - "CV Jessie", - "off" - ], - "climate_mode": "auto", - "control_state": "heating", - "dev_class": "climate", - "model": "ThermoZone", - "name": "Woonkamer", - "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], - "select_schedule": "GF7 Woonkamer", - "sensors": { - "electricity_consumed": 35.6, - "electricity_produced": 0.0, - "temperature": 20.9 - }, - "thermostat": { - "lower_bound": 0.0, - "resolution": 0.01, - "setpoint": 21.5, - "upper_bound": 100.0 - }, - "thermostats": { - "primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"], - "secondary": ["b310b72a0e354bfab43089919b9a88bf"] - }, - "vendor": "Plugwise" - }, - "cd0ddb54ef694e11ac18ed1cbce5dbbd": { - "available": true, - "dev_class": "vcr_plug", - "firmware": "2019-06-21T02:00:00+02:00", - "location": "cd143c07248f491493cea0533bc3d669", - "model": "Plug", - "model_id": "160-01", - "name": "NAS", - "sensors": { - "electricity_consumed": 16.5, - "electricity_consumed_interval": 0.5, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A14" - }, - "d3da73bde12a47d5a6b8f9dad971f2ec": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "82fa13f017d240daa0d0ea1775420f24", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "Thermostatic Radiator Jessie", - "sensors": { - "battery": 62, - "setpoint": 15.0, - "temperature": 17.1, - "temperature_difference": 0.1, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A10" - }, - "df4a4a8169904cdb9c03d61a21f42140": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "zone_thermostat", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "12493538af164a409c6a1c79e38afe1c", - "model": "Lisa", - "model_id": "158-01", - "name": "Zone Lisa Bios", - "sensors": { - "battery": 67, - "setpoint": 13.0, - "temperature": 16.5 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A06" - }, - "e7693eb9582644e5b865dba8d4447cf1": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2019-03-27T01:00:00+01:00", - "hardware": "1", - "location": "446ac08dd04d4eff8ac57489757b7314", - "model": "Tom/Floor", - "model_id": "106-03", - "name": "CV Kraan Garage", - "sensors": { - "battery": 68, - "setpoint": 5.5, - "temperature": 15.6, - "temperature_difference": 0.0, - "valve_position": 0.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A11" - }, - "f1fee6043d3642a9b0a65297455f008e": { - "available": true, - "binary_sensors": { - "low_battery": false - }, - "dev_class": "thermostatic_radiator_valve", - "firmware": "2016-10-27T02:00:00+02:00", - "hardware": "255", - "location": "08963fec7c53423ca5680aa4cb502c63", - "model": "Lisa", - "model_id": "158-01", - "name": "Thermostatic Radiator Badkamer 2", - "sensors": { - "battery": 92, - "setpoint": 14.0, - "temperature": 18.9 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": 0.0, - "upper_bound": 2.0 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - }, - "fe799307f1624099878210aa0b9f1475": { - "binary_sensors": { - "plugwise_notification": true - }, - "dev_class": "gateway", - "firmware": "3.0.15", - "hardware": "AME Smile 2.0 board", - "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_open_therm", - "name": "Adam", - "select_regulation_mode": "heating", - "sensors": { - "outdoor_temperature": 7.81 - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - } - }, - "gateway": { - "cooling_present": false, - "gateway_id": "fe799307f1624099878210aa0b9f1475", - "heater_id": "90986d591dcd426cae3ec3e8111ff730", - "item_count": 369, - "notifications": { - "af82e4ccf9c548528166d38e560662a4": { - "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." - } - }, - "reboot": true, - "smile_name": "Adam" - } -} diff --git a/fixtures/m_adam_multiple_devices_per_zone/data.json b/fixtures/m_adam_multiple_devices_per_zone/data.json new file mode 100644 index 000000000..7c38b1b21 --- /dev/null +++ b/fixtures/m_adam_multiple_devices_per_zone/data.json @@ -0,0 +1,584 @@ +{ + "02cf28bfec924855854c544690a609ef": { + "available": true, + "dev_class": "vcr_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "NVR", + "sensors": { + "electricity_consumed": 34.0, + "electricity_consumed_interval": 9.15, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A15" + }, + "08963fec7c53423ca5680aa4cb502c63": { + "active_preset": "away", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "Badkamer Schema", + "sensors": { + "temperature": 18.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 14.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": [ + "f1fee6043d3642a9b0a65297455f008e", + "680423ff840043738f42cc7f1ff97a36" + ], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "12493538af164a409c6a1c79e38afe1c": { + "active_preset": "away", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Bios", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "off", + "sensors": { + "electricity_consumed": 0.0, + "electricity_produced": 0.0, + "temperature": 16.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["df4a4a8169904cdb9c03d61a21f42140"], + "secondary": ["a2c3583e0a6349358998b760cea82d2a"] + }, + "vendor": "Plugwise" + }, + "21f2b542c49845e6bb416884c55778d6": { + "available": true, + "dev_class": "game_console_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Playstation Smart Plug", + "sensors": { + "electricity_consumed": 84.1, + "electricity_consumed_interval": 8.6, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A12" + }, + "446ac08dd04d4eff8ac57489757b7314": { + "active_preset": "no_frost", + "climate_mode": "heat", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Garage", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "sensors": { + "temperature": 15.6 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 5.5, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["e7693eb9582644e5b865dba8d4447cf1"], + "secondary": [] + }, + "vendor": "Plugwise" + }, + "4a810418d5394b3f82727340b91ba740": { + "available": true, + "dev_class": "router_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "USG Smart Plug", + "sensors": { + "electricity_consumed": 8.5, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A16" + }, + "675416a629f343c495449970e2ca37b5": { + "available": true, + "dev_class": "router_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Ziggo Modem", + "sensors": { + "electricity_consumed": 12.2, + "electricity_consumed_interval": 2.97, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "680423ff840043738f42cc7f1ff97a36": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Thermostatic Radiator Badkamer 1", + "sensors": { + "battery": 51, + "setpoint": 14.0, + "temperature": 19.1, + "temperature_difference": -0.4, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "6a3bf693d05e48e0b460c815a4fdd09d": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Thermostat Jessie", + "sensors": { + "battery": 37, + "setpoint": 15.0, + "temperature": 17.2 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "78d1126fc4c743db81b61c20e88342a7": { + "available": true, + "dev_class": "central_heating_pump_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Plug", + "model_id": "160-01", + "name": "CV Pomp", + "sensors": { + "electricity_consumed": 35.6, + "electricity_consumed_interval": 7.37, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "82fa13f017d240daa0d0ea1775420f24": { + "active_preset": "asleep", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Jessie", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "CV Jessie", + "sensors": { + "temperature": 17.2 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 15.0, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["6a3bf693d05e48e0b460c815a4fdd09d"], + "secondary": ["d3da73bde12a47d5a6b8f9dad971f2ec"] + }, + "vendor": "Plugwise" + }, + "90986d591dcd426cae3ec3e8111ff730": { + "binary_sensors": { + "heating_state": true + }, + "dev_class": "heater_central", + "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", + "model": "Unknown", + "name": "OnOff", + "sensors": { + "intended_boiler_temperature": 70.0, + "modulation_level": 1, + "water_temperature": 70.0 + } + }, + "a28f588dc4a049a483fd03a30361ad3a": { + "available": true, + "dev_class": "settop_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "Fibaro HC2", + "sensors": { + "electricity_consumed": 12.5, + "electricity_consumed_interval": 3.8, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "a2c3583e0a6349358998b760cea82d2a": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Bios Cv Thermostatic Radiator ", + "sensors": { + "battery": 62, + "setpoint": 13.0, + "temperature": 17.2, + "temperature_difference": -0.2, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "b310b72a0e354bfab43089919b9a88bf": { + "available": true, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Floor kraan", + "sensors": { + "setpoint": 21.5, + "temperature": 26.0, + "temperature_difference": 3.5, + "valve_position": 100 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "b59bcebaf94b499ea7d46e4a66fb62d8": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Lisa WK", + "sensors": { + "battery": 34, + "setpoint": 21.5, + "temperature": 20.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "c50f167537524366a5af7aa3942feb1e": { + "active_preset": "home", + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie", + "off" + ], + "climate_mode": "auto", + "control_state": "heating", + "dev_class": "climate", + "model": "ThermoZone", + "name": "Woonkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "select_schedule": "GF7 Woonkamer", + "sensors": { + "electricity_consumed": 35.6, + "electricity_produced": 0.0, + "temperature": 20.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 100.0 + }, + "thermostats": { + "primary": ["b59bcebaf94b499ea7d46e4a66fb62d8"], + "secondary": ["b310b72a0e354bfab43089919b9a88bf"] + }, + "vendor": "Plugwise" + }, + "cd0ddb54ef694e11ac18ed1cbce5dbbd": { + "available": true, + "dev_class": "vcr_plug", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "model_id": "160-01", + "name": "NAS", + "sensors": { + "electricity_consumed": 16.5, + "electricity_consumed_interval": 0.5, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A14" + }, + "d3da73bde12a47d5a6b8f9dad971f2ec": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "Thermostatic Radiator Jessie", + "sensors": { + "battery": 62, + "setpoint": 15.0, + "temperature": 17.1, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "df4a4a8169904cdb9c03d61a21f42140": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Lisa", + "model_id": "158-01", + "name": "Zone Lisa Bios", + "sensors": { + "battery": 67, + "setpoint": 13.0, + "temperature": 16.5 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "e7693eb9582644e5b865dba8d4447cf1": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "446ac08dd04d4eff8ac57489757b7314", + "model": "Tom/Floor", + "model_id": "106-03", + "name": "CV Kraan Garage", + "sensors": { + "battery": 68, + "setpoint": 5.5, + "temperature": 15.6, + "temperature_difference": 0.0, + "valve_position": 0.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "f1fee6043d3642a9b0a65297455f008e": { + "available": true, + "binary_sensors": { + "low_battery": false + }, + "dev_class": "thermostatic_radiator_valve", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Lisa", + "model_id": "158-01", + "name": "Thermostatic Radiator Badkamer 2", + "sensors": { + "battery": 92, + "setpoint": 14.0, + "temperature": 18.9 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": 0.0, + "upper_bound": 2.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + }, + "fe799307f1624099878210aa0b9f1475": { + "binary_sensors": { + "plugwise_notification": true + }, + "dev_class": "gateway", + "firmware": "3.0.15", + "hardware": "AME Smile 2.0 board", + "location": "1f9dcf83fd4e4b66b72ff787957bfe5d", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_open_therm", + "name": "Adam", + "notifications": { + "af82e4ccf9c548528166d38e560662a4": { + "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." + } + }, + "select_regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 7.81 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + } +} diff --git a/fixtures/m_anna_heatpump_cooling/all_data.json b/fixtures/m_anna_heatpump_cooling/all_data.json deleted file mode 100644 index d05cb6d5b..000000000 --- a/fixtures/m_anna_heatpump_cooling/all_data.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "devices": { - "015ae9ea3f964e668e490fa39da3870b": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 28.2 - }, - "vendor": "Plugwise" - }, - "1cbf783bb11e4a7c8a6843dee3a86927": { - "available": true, - "binary_sensors": { - "compressor_state": true, - "cooling_enabled": true, - "cooling_state": true, - "dhw_state": false, - "flame_state": false, - "heating_state": false, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 41.5, - "intended_boiler_temperature": 0.0, - "modulation_level": 40, - "outdoor_air_temperature": 28.0, - "return_temperature": 23.8, - "water_pressure": 1.57, - "water_temperature": 22.7 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "3cb70739631c4d17a86b8b12e8a5161b": { - "active_preset": "home", - "available_schedules": ["standaard", "off"], - "climate_mode": "auto", - "control_state": "cooling", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], - "select_schedule": "standaard", - "sensors": { - "cooling_activation_outdoor_temperature": 21.0, - "cooling_deactivation_threshold": 4.0, - "illuminance": 86.0, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "temperature": 26.3 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": -0.5, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "015ae9ea3f964e668e490fa39da3870b", - "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", - "item_count": 68, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/m_anna_heatpump_cooling/data.json b/fixtures/m_anna_heatpump_cooling/data.json new file mode 100644 index 000000000..ccfd816ff --- /dev/null +++ b/fixtures/m_anna_heatpump_cooling/data.json @@ -0,0 +1,97 @@ +{ + "015ae9ea3f964e668e490fa39da3870b": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 28.2 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 41.5, + "intended_boiler_temperature": 0.0, + "modulation_level": 40, + "outdoor_air_temperature": 28.0, + "return_temperature": 23.8, + "water_pressure": 1.57, + "water_temperature": 22.7 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "3cb70739631c4d17a86b8b12e8a5161b": { + "active_preset": "home", + "available_schedules": ["standaard", "off"], + "climate_mode": "auto", + "control_state": "cooling", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "select_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "temperature": 26.3 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": -0.5, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/m_anna_heatpump_idle/all_data.json b/fixtures/m_anna_heatpump_idle/all_data.json deleted file mode 100644 index 181dbb77e..000000000 --- a/fixtures/m_anna_heatpump_idle/all_data.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "devices": { - "015ae9ea3f964e668e490fa39da3870b": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.0.15", - "hardware": "AME Smile 2.0 board", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile_thermo", - "name": "Smile Anna", - "sensors": { - "outdoor_temperature": 28.2 - }, - "vendor": "Plugwise" - }, - "1cbf783bb11e4a7c8a6843dee3a86927": { - "available": true, - "binary_sensors": { - "compressor_state": false, - "cooling_enabled": true, - "cooling_state": false, - "dhw_state": false, - "flame_state": false, - "heating_state": false, - "secondary_boiler_state": false - }, - "dev_class": "heater_central", - "location": "a57efe5f145f498c9be62a9b63626fbf", - "max_dhw_temperature": { - "lower_bound": 35.0, - "resolution": 0.01, - "setpoint": 53.0, - "upper_bound": 60.0 - }, - "maximum_boiler_temperature": { - "lower_bound": 0.0, - "resolution": 1.0, - "setpoint": 60.0, - "upper_bound": 100.0 - }, - "model": "Generic heater/cooler", - "name": "OpenTherm", - "sensors": { - "dhw_temperature": 46.3, - "intended_boiler_temperature": 18.0, - "modulation_level": 0, - "outdoor_air_temperature": 28.2, - "return_temperature": 22.0, - "water_pressure": 1.57, - "water_temperature": 19.1 - }, - "switches": { - "dhw_cm_switch": false - }, - "vendor": "Techneco" - }, - "3cb70739631c4d17a86b8b12e8a5161b": { - "active_preset": "home", - "available_schedules": ["standaard", "off"], - "climate_mode": "auto", - "control_state": "idle", - "dev_class": "thermostat", - "firmware": "2018-02-08T11:15:53+01:00", - "hardware": "6539-1301-5002", - "location": "c784ee9fdab44e1395b8dee7d7a497d5", - "model": "ThermoTouch", - "name": "Anna", - "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], - "select_schedule": "standaard", - "sensors": { - "cooling_activation_outdoor_temperature": 25.0, - "cooling_deactivation_threshold": 4.0, - "illuminance": 86.0, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "temperature": 23.0 - }, - "temperature_offset": { - "lower_bound": -2.0, - "resolution": 0.1, - "setpoint": -0.5, - "upper_bound": 2.0 - }, - "thermostat": { - "lower_bound": 4.0, - "resolution": 0.1, - "setpoint_high": 30.0, - "setpoint_low": 20.5, - "upper_bound": 30.0 - }, - "vendor": "Plugwise" - } - }, - "gateway": { - "cooling_present": true, - "gateway_id": "015ae9ea3f964e668e490fa39da3870b", - "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", - "item_count": 68, - "notifications": {}, - "reboot": true, - "smile_name": "Smile Anna" - } -} diff --git a/fixtures/m_anna_heatpump_idle/data.json b/fixtures/m_anna_heatpump_idle/data.json new file mode 100644 index 000000000..5a1cdebd3 --- /dev/null +++ b/fixtures/m_anna_heatpump_idle/data.json @@ -0,0 +1,97 @@ +{ + "015ae9ea3f964e668e490fa39da3870b": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile_thermo", + "name": "Smile Anna", + "notifications": {}, + "sensors": { + "outdoor_temperature": 28.2 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": false, + "cooling_enabled": true, + "cooling_state": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "secondary_boiler_state": false + }, + "dev_class": "heater_central", + "location": "a57efe5f145f498c9be62a9b63626fbf", + "max_dhw_temperature": { + "lower_bound": 35.0, + "resolution": 0.01, + "setpoint": 53.0, + "upper_bound": 60.0 + }, + "maximum_boiler_temperature": { + "lower_bound": 0.0, + "resolution": 1.0, + "setpoint": 60.0, + "upper_bound": 100.0 + }, + "model": "Generic heater/cooler", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 46.3, + "intended_boiler_temperature": 18.0, + "modulation_level": 0, + "outdoor_air_temperature": 28.2, + "return_temperature": 22.0, + "water_pressure": 1.57, + "water_temperature": 19.1 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Techneco" + }, + "3cb70739631c4d17a86b8b12e8a5161b": { + "active_preset": "home", + "available_schedules": ["standaard", "off"], + "climate_mode": "auto", + "control_state": "idle", + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "select_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 25.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "temperature": 23.0 + }, + "temperature_offset": { + "lower_bound": -2.0, + "resolution": 0.1, + "setpoint": -0.5, + "upper_bound": 2.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 30.0, + "setpoint_low": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } +} diff --git a/fixtures/p1v4_442_single/all_data.json b/fixtures/p1v4_442_single/all_data.json deleted file mode 100644 index 3ea4bb01b..000000000 --- a/fixtures/p1v4_442_single/all_data.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "devices": { - "a455b61e52394b2db5081ce025a430f3": { - "binary_sensors": { - "plugwise_notification": false - }, - "dev_class": "gateway", - "firmware": "4.4.2", - "hardware": "AME Smile 2.0 board", - "location": "a455b61e52394b2db5081ce025a430f3", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile", - "name": "Smile P1", - "vendor": "Plugwise" - }, - "ba4de7613517478da82dd9b6abea36af": { - "available": true, - "dev_class": "smartmeter", - "location": "a455b61e52394b2db5081ce025a430f3", - "model": "KFM5KAIFA-METER", - "name": "P1", - "sensors": { - "electricity_consumed_off_peak_cumulative": 17643.423, - "electricity_consumed_off_peak_interval": 15, - "electricity_consumed_off_peak_point": 486, - "electricity_consumed_peak_cumulative": 13966.608, - "electricity_consumed_peak_interval": 0, - "electricity_consumed_peak_point": 0, - "electricity_phase_one_consumed": 486, - "electricity_phase_one_produced": 0, - "electricity_produced_off_peak_cumulative": 0.0, - "electricity_produced_off_peak_interval": 0, - "electricity_produced_off_peak_point": 0, - "electricity_produced_peak_cumulative": 0.0, - "electricity_produced_peak_interval": 0, - "electricity_produced_peak_point": 0, - "net_electricity_cumulative": 31610.031, - "net_electricity_point": 486 - }, - "vendor": "SHENZHEN KAIFA TECHNOLOGY \uff08CHENGDU\uff09 CO., LTD." - } - }, - "gateway": { - "gateway_id": "a455b61e52394b2db5081ce025a430f3", - "item_count": 32, - "notifications": {}, - "reboot": true, - "smile_name": "Smile P1" - } -} diff --git a/fixtures/p1v4_442_single/data.json b/fixtures/p1v4_442_single/data.json new file mode 100644 index 000000000..6dfcd7ee0 --- /dev/null +++ b/fixtures/p1v4_442_single/data.json @@ -0,0 +1,43 @@ +{ + "a455b61e52394b2db5081ce025a430f3": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.4.2", + "hardware": "AME Smile 2.0 board", + "location": "a455b61e52394b2db5081ce025a430f3", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile", + "name": "Smile P1", + "notifications": {}, + "vendor": "Plugwise" + }, + "ba4de7613517478da82dd9b6abea36af": { + "available": true, + "dev_class": "smartmeter", + "location": "a455b61e52394b2db5081ce025a430f3", + "model": "KFM5KAIFA-METER", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 17643.423, + "electricity_consumed_off_peak_interval": 15, + "electricity_consumed_off_peak_point": 486, + "electricity_consumed_peak_cumulative": 13966.608, + "electricity_consumed_peak_interval": 0, + "electricity_consumed_peak_point": 0, + "electricity_phase_one_consumed": 486, + "electricity_phase_one_produced": 0, + "electricity_produced_off_peak_cumulative": 0.0, + "electricity_produced_off_peak_interval": 0, + "electricity_produced_off_peak_point": 0, + "electricity_produced_peak_cumulative": 0.0, + "electricity_produced_peak_interval": 0, + "electricity_produced_peak_point": 0, + "net_electricity_cumulative": 31610.031, + "net_electricity_point": 486 + }, + "vendor": "SHENZHEN KAIFA TECHNOLOGY \uff08CHENGDU\uff09 CO., LTD." + } +} diff --git a/fixtures/p1v4_442_triple/all_data.json b/fixtures/p1v4_442_triple/all_data.json deleted file mode 100644 index b7476b24a..000000000 --- a/fixtures/p1v4_442_triple/all_data.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "devices": { - "03e65b16e4b247a29ae0d75a78cb492e": { - "binary_sensors": { - "plugwise_notification": true - }, - "dev_class": "gateway", - "firmware": "4.4.2", - "hardware": "AME Smile 2.0 board", - "location": "03e65b16e4b247a29ae0d75a78cb492e", - "mac_address": "012345670001", - "model": "Gateway", - "model_id": "smile", - "name": "Smile P1", - "vendor": "Plugwise" - }, - "b82b6b3322484f2ea4e25e0bd5f3d61f": { - "available": true, - "dev_class": "smartmeter", - "location": "03e65b16e4b247a29ae0d75a78cb492e", - "model": "XMX5LGF0010453051839", - "name": "P1", - "sensors": { - "electricity_consumed_off_peak_cumulative": 70537.898, - "electricity_consumed_off_peak_interval": 314, - "electricity_consumed_off_peak_point": 5553, - "electricity_consumed_peak_cumulative": 161328.641, - "electricity_consumed_peak_interval": 0, - "electricity_consumed_peak_point": 0, - "electricity_phase_one_consumed": 1763, - "electricity_phase_one_produced": 0, - "electricity_phase_three_consumed": 2080, - "electricity_phase_three_produced": 0, - "electricity_phase_two_consumed": 1703, - "electricity_phase_two_produced": 0, - "electricity_produced_off_peak_cumulative": 0.0, - "electricity_produced_off_peak_interval": 0, - "electricity_produced_off_peak_point": 0, - "electricity_produced_peak_cumulative": 0.0, - "electricity_produced_peak_interval": 0, - "electricity_produced_peak_point": 0, - "gas_consumed_cumulative": 16811.37, - "gas_consumed_interval": 0.06, - "net_electricity_cumulative": 231866.539, - "net_electricity_point": 5553, - "voltage_phase_one": 233.2, - "voltage_phase_three": 234.7, - "voltage_phase_two": 234.4 - }, - "vendor": "XEMEX NV" - } - }, - "gateway": { - "gateway_id": "03e65b16e4b247a29ae0d75a78cb492e", - "item_count": 41, - "notifications": { - "97a04c0c263049b29350a660b4cdd01e": { - "warning": "The Smile P1 is not connected to a smart meter." - } - }, - "reboot": true, - "smile_name": "Smile P1" - } -} diff --git a/fixtures/p1v4_442_triple/data.json b/fixtures/p1v4_442_triple/data.json new file mode 100644 index 000000000..943325d14 --- /dev/null +++ b/fixtures/p1v4_442_triple/data.json @@ -0,0 +1,56 @@ +{ + "03e65b16e4b247a29ae0d75a78cb492e": { + "binary_sensors": { + "plugwise_notification": true + }, + "dev_class": "gateway", + "firmware": "4.4.2", + "hardware": "AME Smile 2.0 board", + "location": "03e65b16e4b247a29ae0d75a78cb492e", + "mac_address": "012345670001", + "model": "Gateway", + "model_id": "smile", + "name": "Smile P1", + "notifications": { + "97a04c0c263049b29350a660b4cdd01e": { + "warning": "The Smile P1 is not connected to a smart meter." + } + }, + "vendor": "Plugwise" + }, + "b82b6b3322484f2ea4e25e0bd5f3d61f": { + "available": true, + "dev_class": "smartmeter", + "location": "03e65b16e4b247a29ae0d75a78cb492e", + "model": "XMX5LGF0010453051839", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 70537.898, + "electricity_consumed_off_peak_interval": 314, + "electricity_consumed_off_peak_point": 5553, + "electricity_consumed_peak_cumulative": 161328.641, + "electricity_consumed_peak_interval": 0, + "electricity_consumed_peak_point": 0, + "electricity_phase_one_consumed": 1763, + "electricity_phase_one_produced": 0, + "electricity_phase_three_consumed": 2080, + "electricity_phase_three_produced": 0, + "electricity_phase_two_consumed": 1703, + "electricity_phase_two_produced": 0, + "electricity_produced_off_peak_cumulative": 0.0, + "electricity_produced_off_peak_interval": 0, + "electricity_produced_off_peak_point": 0, + "electricity_produced_peak_cumulative": 0.0, + "electricity_produced_peak_interval": 0, + "electricity_produced_peak_point": 0, + "gas_consumed_cumulative": 16811.37, + "gas_consumed_interval": 0.06, + "net_electricity_cumulative": 231866.539, + "net_electricity_point": 5553, + "voltage_phase_one": 233.2, + "voltage_phase_three": 234.7, + "voltage_phase_two": 234.4 + }, + "vendor": "XEMEX NV" + } +} diff --git a/fixtures/smile_p1_v2/all_data.json b/fixtures/smile_p1_v2/all_data.json deleted file mode 100644 index 5d970d401..000000000 --- a/fixtures/smile_p1_v2/all_data.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "devices": { - "938696c4bcdb4b8a9a595cb38ed43913": { - "dev_class": "smartmeter", - "location": "938696c4bcdb4b8a9a595cb38ed43913", - "model": "Ene5\\T210-DESMR5.0", - "name": "P1", - "sensors": { - "electricity_consumed_off_peak_cumulative": 1642.74, - "electricity_consumed_off_peak_interval": 0, - "electricity_consumed_peak_cumulative": 1155.195, - "electricity_consumed_peak_interval": 250, - "electricity_consumed_point": 458, - "electricity_produced_off_peak_cumulative": 482.598, - "electricity_produced_off_peak_interval": 0, - "electricity_produced_peak_cumulative": 1296.136, - "electricity_produced_peak_interval": 0, - "electricity_produced_point": 0, - "gas_consumed_cumulative": 584.433, - "gas_consumed_interval": 0.016, - "net_electricity_cumulative": 1019.201, - "net_electricity_point": 458 - }, - "vendor": "Ene5\\T210-DESMR5.0" - }, - "aaaa0000aaaa0000aaaa0000aaaa00aa": { - "dev_class": "gateway", - "firmware": "2.5.9", - "location": "938696c4bcdb4b8a9a595cb38ed43913", - "mac_address": "012345670001", - "model": "Gateway", - "name": "Smile P1", - "vendor": "Plugwise" - } - }, - "gateway": { - "gateway_id": "aaaa0000aaaa0000aaaa0000aaaa00aa", - "item_count": 26, - "smile_name": "Smile P1" - } -} diff --git a/fixtures/smile_p1_v2/data.json b/fixtures/smile_p1_v2/data.json new file mode 100644 index 000000000..768dd2c23 --- /dev/null +++ b/fixtures/smile_p1_v2/data.json @@ -0,0 +1,34 @@ +{ + "938696c4bcdb4b8a9a595cb38ed43913": { + "dev_class": "smartmeter", + "location": "938696c4bcdb4b8a9a595cb38ed43913", + "model": "Ene5\\T210-DESMR5.0", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 1642.74, + "electricity_consumed_off_peak_interval": 0, + "electricity_consumed_peak_cumulative": 1155.195, + "electricity_consumed_peak_interval": 250, + "electricity_consumed_point": 458, + "electricity_produced_off_peak_cumulative": 482.598, + "electricity_produced_off_peak_interval": 0, + "electricity_produced_peak_cumulative": 1296.136, + "electricity_produced_peak_interval": 0, + "electricity_produced_point": 0, + "gas_consumed_cumulative": 584.433, + "gas_consumed_interval": 0.016, + "net_electricity_cumulative": 1019.201, + "net_electricity_point": 458 + }, + "vendor": "Ene5\\T210-DESMR5.0" + }, + "aaaa0000aaaa0000aaaa0000aaaa00aa": { + "dev_class": "gateway", + "firmware": "2.5.9", + "location": "938696c4bcdb4b8a9a595cb38ed43913", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile P1", + "vendor": "Plugwise" + } +} diff --git a/fixtures/smile_p1_v2_2/all_data.json b/fixtures/smile_p1_v2_2/all_data.json deleted file mode 100644 index 3cc59aa60..000000000 --- a/fixtures/smile_p1_v2_2/all_data.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "devices": { - "199aa40f126840f392983d171374ab0b": { - "dev_class": "smartmeter", - "location": "199aa40f126840f392983d171374ab0b", - "model": "Ene5\\T210-DESMR5.0", - "name": "P1", - "sensors": { - "electricity_consumed_off_peak_cumulative": 1642.74, - "electricity_consumed_off_peak_interval": 0, - "electricity_consumed_peak_cumulative": 1155.195, - "electricity_consumed_peak_interval": 250, - "electricity_consumed_point": 458, - "electricity_produced_off_peak_cumulative": 482.598, - "electricity_produced_off_peak_interval": 0, - "electricity_produced_peak_cumulative": 1296.136, - "electricity_produced_peak_interval": 0, - "electricity_produced_point": 0, - "gas_consumed_cumulative": 584.433, - "gas_consumed_interval": 0.016, - "net_electricity_cumulative": 1019.201, - "net_electricity_point": 458 - }, - "vendor": "Ene5\\T210-DESMR5.0" - }, - "aaaa0000aaaa0000aaaa0000aaaa00aa": { - "dev_class": "gateway", - "firmware": "2.5.9", - "location": "199aa40f126840f392983d171374ab0b", - "mac_address": "012345670001", - "model": "Gateway", - "name": "Smile P1", - "vendor": "Plugwise" - } - }, - "gateway": { - "gateway_id": "aaaa0000aaaa0000aaaa0000aaaa00aa", - "item_count": 26, - "smile_name": "Smile P1" - } -} diff --git a/fixtures/smile_p1_v2_2/data.json b/fixtures/smile_p1_v2_2/data.json new file mode 100644 index 000000000..85931be4c --- /dev/null +++ b/fixtures/smile_p1_v2_2/data.json @@ -0,0 +1,34 @@ +{ + "199aa40f126840f392983d171374ab0b": { + "dev_class": "smartmeter", + "location": "199aa40f126840f392983d171374ab0b", + "model": "Ene5\\T210-DESMR5.0", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 1642.74, + "electricity_consumed_off_peak_interval": 0, + "electricity_consumed_peak_cumulative": 1155.195, + "electricity_consumed_peak_interval": 250, + "electricity_consumed_point": 458, + "electricity_produced_off_peak_cumulative": 482.598, + "electricity_produced_off_peak_interval": 0, + "electricity_produced_peak_cumulative": 1296.136, + "electricity_produced_peak_interval": 0, + "electricity_produced_point": 0, + "gas_consumed_cumulative": 584.433, + "gas_consumed_interval": 0.016, + "net_electricity_cumulative": 1019.201, + "net_electricity_point": 458 + }, + "vendor": "Ene5\\T210-DESMR5.0" + }, + "aaaa0000aaaa0000aaaa0000aaaa00aa": { + "dev_class": "gateway", + "firmware": "2.5.9", + "location": "199aa40f126840f392983d171374ab0b", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile P1", + "vendor": "Plugwise" + } +} diff --git a/fixtures/stretch_v23/all_data.json b/fixtures/stretch_v23/all_data.json deleted file mode 100644 index e4c0326ea..000000000 --- a/fixtures/stretch_v23/all_data.json +++ /dev/null @@ -1,361 +0,0 @@ -{ - "devices": { - "0000aaaa0000aaaa0000aaaa0000aa00": { - "dev_class": "gateway", - "firmware": "2.3.12", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": "01:23:45:67:89:AB", - "model": "Gateway", - "name": "Stretch", - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "09c8ce93d7064fa6a233c0e4c2449bfe": { - "dev_class": "lamp", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "kerstboom buiten 043B016", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "199fd4b2caa44197aaf5b3128f6464ed": { - "dev_class": "airconditioner", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Airco 25F69E3", - "sensors": { - "electricity_consumed": 2.06, - "electricity_consumed_interval": 1.62, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A10" - }, - "24b2ed37c8964c73897db6340a39c129": { - "dev_class": "router", - "firmware": "2011-06-27T10:47:37+02:00", - "hardware": "6539-0700-7325", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle+ type F", - "name": "MK Netwerk 1A4455E", - "sensors": { - "electricity_consumed": 4.63, - "electricity_consumed_interval": 0.65, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "0123456789AB" - }, - "2587a7fcdd7e482dab03fda256076b4b": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "00469CA1", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A16" - }, - "2cc9a0fe70ef4441a9e4f55dfd64b776": { - "dev_class": "lamp", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Lamp TV 025F698F", - "sensors": { - "electricity_consumed": 4.0, - "electricity_consumed_interval": 0.58, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A15" - }, - "305452ce97c243c0a7b4ab2a4ebfe6e3": { - "dev_class": "lamp", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Lamp piano 025F6819", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "33a1c784a9ff4c2d8766a0212714be09": { - "dev_class": "lighting", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Barverlichting", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A13" - }, - "407aa1c1099d463c9137a3a9eda787fd": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "0043B013", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "6518f3f72a82486c97b91e26f2e9bd1d": { - "dev_class": "charger", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Bed 025F6768", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A14" - }, - "713427748874454ca1eb4488d7919cf2": { - "dev_class": "freezer", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Leeg 043220D", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A12" - }, - "71e3e65ffc5a41518b19460c6e8ee34f": { - "dev_class": "tv", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Leeg 043AEC6", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": false - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - }, - "828f6ce1e36744689baacdd6ddb1d12c": { - "dev_class": "washingmachine", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Wasmachine 043AEC7", - "sensors": { - "electricity_consumed": 3.5, - "electricity_consumed_interval": 0.5, - "electricity_produced": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "a28e6f5afc0e4fc68498c1f03e82a052": { - "dev_class": "lamp", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Lamp bank 25F67F8", - "sensors": { - "electricity_consumed": 4.19, - "electricity_consumed_interval": 0.62, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "bc0adbebc50d428d9444a5d805c89da9": { - "dev_class": "watercooker", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Waterkoker 043AF7F", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "c71f1cb2100b42ca942f056dcb7eb01f": { - "dev_class": "tv", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Tv hoek 25F6790", - "sensors": { - "electricity_consumed": 33.3, - "electricity_consumed_interval": 4.93, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A11" - }, - "f7b145c8492f4dd7a4de760456fdef3e": { - "dev_class": "switching", - "members": ["407aa1c1099d463c9137a3a9eda787fd"], - "model": "Switchgroup", - "name": "Test", - "switches": { - "relay": false - }, - "vendor": "Plugwise" - }, - "fd1b74f59e234a9dae4e23b2b5cf07ed": { - "dev_class": "dryer", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Wasdroger 043AECA", - "sensors": { - "electricity_consumed": 1.31, - "electricity_consumed_interval": 0.21, - "electricity_produced": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A04" - }, - "fead900a56d3430bb2d53d891f7c0656": { - "dev_class": "heater_central_plug", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "CV-ketel 25F6789", - "sensors": { - "electricity_consumed": 1.56, - "electricity_consumed_interval": 0.04, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A06" - } - }, - "gateway": { - "gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00", - "item_count": 243, - "smile_name": "Stretch" - } -} diff --git a/fixtures/stretch_v23/data.json b/fixtures/stretch_v23/data.json new file mode 100644 index 000000000..0516e1436 --- /dev/null +++ b/fixtures/stretch_v23/data.json @@ -0,0 +1,354 @@ +{ + "0000aaaa0000aaaa0000aaaa0000aa00": { + "dev_class": "gateway", + "firmware": "2.3.12", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "mac_address": "01:23:45:67:89:AB", + "model": "Gateway", + "name": "Stretch", + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "09c8ce93d7064fa6a233c0e4c2449bfe": { + "dev_class": "lamp", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "kerstboom buiten 043B016", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "199fd4b2caa44197aaf5b3128f6464ed": { + "dev_class": "airconditioner", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Airco 25F69E3", + "sensors": { + "electricity_consumed": 2.06, + "electricity_consumed_interval": 1.62, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "24b2ed37c8964c73897db6340a39c129": { + "dev_class": "router", + "firmware": "2011-06-27T10:47:37+02:00", + "hardware": "6539-0700-7325", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle+ type F", + "name": "MK Netwerk 1A4455E", + "sensors": { + "electricity_consumed": 4.63, + "electricity_consumed_interval": 0.65, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "0123456789AB" + }, + "2587a7fcdd7e482dab03fda256076b4b": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "00469CA1", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A16" + }, + "2cc9a0fe70ef4441a9e4f55dfd64b776": { + "dev_class": "lamp", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Lamp TV 025F698F", + "sensors": { + "electricity_consumed": 4.0, + "electricity_consumed_interval": 0.58, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A15" + }, + "305452ce97c243c0a7b4ab2a4ebfe6e3": { + "dev_class": "lamp", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Lamp piano 025F6819", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "33a1c784a9ff4c2d8766a0212714be09": { + "dev_class": "lighting", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Barverlichting", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "407aa1c1099d463c9137a3a9eda787fd": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "0043B013", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "6518f3f72a82486c97b91e26f2e9bd1d": { + "dev_class": "charger", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Bed 025F6768", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A14" + }, + "713427748874454ca1eb4488d7919cf2": { + "dev_class": "freezer", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Leeg 043220D", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A12" + }, + "71e3e65ffc5a41518b19460c6e8ee34f": { + "dev_class": "tv", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Leeg 043AEC6", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": false + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + }, + "828f6ce1e36744689baacdd6ddb1d12c": { + "dev_class": "washingmachine", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Wasmachine 043AEC7", + "sensors": { + "electricity_consumed": 3.5, + "electricity_consumed_interval": 0.5, + "electricity_produced": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "a28e6f5afc0e4fc68498c1f03e82a052": { + "dev_class": "lamp", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Lamp bank 25F67F8", + "sensors": { + "electricity_consumed": 4.19, + "electricity_consumed_interval": 0.62, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "bc0adbebc50d428d9444a5d805c89da9": { + "dev_class": "watercooker", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Waterkoker 043AF7F", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "c71f1cb2100b42ca942f056dcb7eb01f": { + "dev_class": "tv", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Tv hoek 25F6790", + "sensors": { + "electricity_consumed": 33.3, + "electricity_consumed_interval": 4.93, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "f7b145c8492f4dd7a4de760456fdef3e": { + "dev_class": "switching", + "members": ["407aa1c1099d463c9137a3a9eda787fd"], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": false + }, + "vendor": "Plugwise" + }, + "fd1b74f59e234a9dae4e23b2b5cf07ed": { + "dev_class": "dryer", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Wasdroger 043AECA", + "sensors": { + "electricity_consumed": 1.31, + "electricity_consumed_interval": 0.21, + "electricity_produced": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "fead900a56d3430bb2d53d891f7c0656": { + "dev_class": "heater_central_plug", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "CV-ketel 25F6789", + "sensors": { + "electricity_consumed": 1.56, + "electricity_consumed_interval": 0.04, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + } +} diff --git a/fixtures/stretch_v27_no_domain/all_data.json b/fixtures/stretch_v27_no_domain/all_data.json deleted file mode 100644 index 042cfe538..000000000 --- a/fixtures/stretch_v27_no_domain/all_data.json +++ /dev/null @@ -1,279 +0,0 @@ -{ - "devices": { - "0000aaaa0000aaaa0000aaaa0000aa00": { - "dev_class": "gateway", - "firmware": "2.7.18", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": "01:23:45:67:89:AB", - "model": "Gateway", - "name": "Stretch", - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "0b078d5862614880bc670cabf9f54b4e": { - "dev_class": "zz_misc", - "firmware": "2011-05-13T09:19:23+02:00", - "hardware": "6539-0701-4023", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "769C03", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "3b729c63ca41421b9e21264adfa0a4e7": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "261B34C", - "sensors": { - "electricity_consumed": 8.5, - "electricity_consumed_interval": 5.19, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A06" - }, - "4661019bbe7b4a3bbe39f345ca5b5d98": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "25F68CC", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "553dfa416df94802851de32913f1ebd3": { - "dev_class": "zz_misc", - "firmware": "2011-05-13T09:19:23+02:00", - "hardware": "6539-0701-4023", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "B7DEED", - "sensors": { - "electricity_consumed": 2.5, - "electricity_consumed_interval": 1.66, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A09" - }, - "5ee135e752034ad2a3e38a407332757f": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "261B329", - "sensors": { - "electricity_consumed": 6.75, - "electricity_consumed_interval": 3.98, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A03" - }, - "7c7f0d3da801402291b057f9ec69b5b6": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "261B34D", - "sensors": { - "electricity_consumed": 7.81, - "electricity_consumed_interval": 4.54, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A08" - }, - "8b8d14b242e24cd789743c828b9a2ea9": { - "dev_class": "zz_misc", - "firmware": "2011-05-13T09:19:23+02:00", - "hardware": "6539-0701-4022", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "76BF93", - "sensors": { - "electricity_consumed": 1.69, - "electricity_consumed_interval": 1.14, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A05" - }, - "8e4ecdcc9094481387e0273437bb51f9": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "25F68C3", - "sensors": { - "electricity_consumed": 4.69, - "electricity_consumed_interval": 2.83, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "9b9bfdb3c7ad4ca5817ccaa235f1e094": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:47:37+02:00", - "hardware": "6539-0700-7326", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle+ type F", - "name": "25881A2", - "sensors": { - "electricity_consumed": 13.3, - "electricity_consumed_interval": 7.77, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A04" - }, - "9db23f92fd114e83acce036b6cb82295": { - "dev_class": "zz_misc", - "firmware": "2011-05-13T09:19:23+02:00", - "hardware": "6539-0701-4023", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "76B2F2", - "sensors": { - "electricity_consumed": 0.63, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A13" - }, - "ad858f416f3e42e6a25bbd6b18178b0e": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "261B2AE", - "sensors": { - "electricity_consumed": 6.06, - "electricity_consumed_interval": 3.41, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A12" - }, - "d0122ac66eba47b99d8e5fbd1e2f5932": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "25F66AD", - "sensors": { - "electricity_consumed": 3.88, - "electricity_consumed_interval": 2.21, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A10" - }, - "e4172142264f488a99b63c73817c9d21": { - "dev_class": "zz_misc", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4026", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "261B32A", - "sensors": { - "electricity_consumed": 9.63, - "electricity_consumed_interval": 5.84, - "electricity_produced": 0.0, - "electricity_produced_interval": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A11" - } - }, - "gateway": { - "gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00", - "item_count": 190, - "smile_name": "Stretch" - } -} diff --git a/fixtures/stretch_v27_no_domain/data.json b/fixtures/stretch_v27_no_domain/data.json new file mode 100644 index 000000000..c22e6e043 --- /dev/null +++ b/fixtures/stretch_v27_no_domain/data.json @@ -0,0 +1,272 @@ +{ + "0000aaaa0000aaaa0000aaaa0000aa00": { + "dev_class": "gateway", + "firmware": "2.7.18", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "mac_address": "01:23:45:67:89:AB", + "model": "Gateway", + "name": "Stretch", + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "0b078d5862614880bc670cabf9f54b4e": { + "dev_class": "zz_misc", + "firmware": "2011-05-13T09:19:23+02:00", + "hardware": "6539-0701-4023", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "769C03", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "3b729c63ca41421b9e21264adfa0a4e7": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "261B34C", + "sensors": { + "electricity_consumed": 8.5, + "electricity_consumed_interval": 5.19, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "4661019bbe7b4a3bbe39f345ca5b5d98": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "25F68CC", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "553dfa416df94802851de32913f1ebd3": { + "dev_class": "zz_misc", + "firmware": "2011-05-13T09:19:23+02:00", + "hardware": "6539-0701-4023", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "B7DEED", + "sensors": { + "electricity_consumed": 2.5, + "electricity_consumed_interval": 1.66, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "5ee135e752034ad2a3e38a407332757f": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "261B329", + "sensors": { + "electricity_consumed": 6.75, + "electricity_consumed_interval": 3.98, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "7c7f0d3da801402291b057f9ec69b5b6": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "261B34D", + "sensors": { + "electricity_consumed": 7.81, + "electricity_consumed_interval": 4.54, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + }, + "8b8d14b242e24cd789743c828b9a2ea9": { + "dev_class": "zz_misc", + "firmware": "2011-05-13T09:19:23+02:00", + "hardware": "6539-0701-4022", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "76BF93", + "sensors": { + "electricity_consumed": 1.69, + "electricity_consumed_interval": 1.14, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "8e4ecdcc9094481387e0273437bb51f9": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "25F68C3", + "sensors": { + "electricity_consumed": 4.69, + "electricity_consumed_interval": 2.83, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "9b9bfdb3c7ad4ca5817ccaa235f1e094": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:47:37+02:00", + "hardware": "6539-0700-7326", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle+ type F", + "name": "25881A2", + "sensors": { + "electricity_consumed": 13.3, + "electricity_consumed_interval": 7.77, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "9db23f92fd114e83acce036b6cb82295": { + "dev_class": "zz_misc", + "firmware": "2011-05-13T09:19:23+02:00", + "hardware": "6539-0701-4023", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "76B2F2", + "sensors": { + "electricity_consumed": 0.63, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "ad858f416f3e42e6a25bbd6b18178b0e": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "261B2AE", + "sensors": { + "electricity_consumed": 6.06, + "electricity_consumed_interval": 3.41, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A12" + }, + "d0122ac66eba47b99d8e5fbd1e2f5932": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "25F66AD", + "sensors": { + "electricity_consumed": 3.88, + "electricity_consumed_interval": 2.21, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "e4172142264f488a99b63c73817c9d21": { + "dev_class": "zz_misc", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4026", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "261B32A", + "sensors": { + "electricity_consumed": 9.63, + "electricity_consumed_interval": 5.84, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + } +} diff --git a/fixtures/stretch_v31/all_data.json b/fixtures/stretch_v31/all_data.json deleted file mode 100644 index b1675116b..000000000 --- a/fixtures/stretch_v31/all_data.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "devices": { - "0000aaaa0000aaaa0000aaaa0000aa00": { - "dev_class": "gateway", - "firmware": "3.1.11", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "mac_address": "01:23:45:67:89:AB", - "model": "Gateway", - "name": "Stretch", - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670101" - }, - "059e4d03c7a34d278add5c7a4a781d19": { - "dev_class": "washingmachine", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Wasmachine (52AC1)", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": true, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A01" - }, - "5871317346d045bc9f6b987ef25ee638": { - "dev_class": "water_heater_vessel", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4028", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Boiler (1EB31)", - "sensors": { - "electricity_consumed": 1.19, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A07" - }, - "aac7b735042c4832ac9ff33aae4f453b": { - "dev_class": "dishwasher", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "6539-0701-4022", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Vaatwasser (2a1ab)", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.71, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A02" - }, - "cfe95cf3de1948c0b8955125bf754614": { - "dev_class": "dryer", - "firmware": "2011-06-27T10:52:18+02:00", - "hardware": "0000-0440-0107", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle type F", - "name": "Droger (52559)", - "sensors": { - "electricity_consumed": 0.0, - "electricity_consumed_interval": 0.0, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "ABCD012345670A04" - }, - "d03738edfcc947f7b8f4573571d90d2d": { - "dev_class": "switching", - "members": [ - "059e4d03c7a34d278add5c7a4a781d19", - "cfe95cf3de1948c0b8955125bf754614" - ], - "model": "Switchgroup", - "name": "Schakel", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "d950b314e9d8499f968e6db8d82ef78c": { - "dev_class": "report", - "members": [ - "059e4d03c7a34d278add5c7a4a781d19", - "5871317346d045bc9f6b987ef25ee638", - "aac7b735042c4832ac9ff33aae4f453b", - "cfe95cf3de1948c0b8955125bf754614", - "e1c884e7dede431dadee09506ec4f859" - ], - "model": "Switchgroup", - "name": "Stroomvreters", - "switches": { - "relay": true - }, - "vendor": "Plugwise" - }, - "e1c884e7dede431dadee09506ec4f859": { - "dev_class": "refrigerator", - "firmware": "2011-06-27T10:47:37+02:00", - "hardware": "6539-0700-7330", - "location": "0000aaaa0000aaaa0000aaaa0000aa00", - "model": "Circle+ type F", - "name": "Koelkast (92C4A)", - "sensors": { - "electricity_consumed": 50.5, - "electricity_consumed_interval": 0.08, - "electricity_produced": 0.0 - }, - "switches": { - "lock": false, - "relay": true - }, - "vendor": "Plugwise", - "zigbee_mac_address": "0123456789AB" - } - }, - "gateway": { - "gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00", - "item_count": 83, - "smile_name": "Stretch" - } -} diff --git a/fixtures/stretch_v31/data.json b/fixtures/stretch_v31/data.json new file mode 100644 index 000000000..250839d08 --- /dev/null +++ b/fixtures/stretch_v31/data.json @@ -0,0 +1,136 @@ +{ + "0000aaaa0000aaaa0000aaaa0000aa00": { + "dev_class": "gateway", + "firmware": "3.1.11", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "mac_address": "01:23:45:67:89:AB", + "model": "Gateway", + "name": "Stretch", + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "059e4d03c7a34d278add5c7a4a781d19": { + "dev_class": "washingmachine", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Wasmachine (52AC1)", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "5871317346d045bc9f6b987ef25ee638": { + "dev_class": "water_heater_vessel", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4028", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Boiler (1EB31)", + "sensors": { + "electricity_consumed": 1.19, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "aac7b735042c4832ac9ff33aae4f453b": { + "dev_class": "dishwasher", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "6539-0701-4022", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Vaatwasser (2a1ab)", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.71, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "cfe95cf3de1948c0b8955125bf754614": { + "dev_class": "dryer", + "firmware": "2011-06-27T10:52:18+02:00", + "hardware": "0000-0440-0107", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle type F", + "name": "Droger (52559)", + "sensors": { + "electricity_consumed": 0.0, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "d03738edfcc947f7b8f4573571d90d2d": { + "dev_class": "switching", + "members": [ + "059e4d03c7a34d278add5c7a4a781d19", + "cfe95cf3de1948c0b8955125bf754614" + ], + "model": "Switchgroup", + "name": "Schakel", + "switches": { + "relay": true + }, + "vendor": "Plugwise" + }, + "d950b314e9d8499f968e6db8d82ef78c": { + "dev_class": "report", + "members": [ + "059e4d03c7a34d278add5c7a4a781d19", + "5871317346d045bc9f6b987ef25ee638", + "aac7b735042c4832ac9ff33aae4f453b", + "cfe95cf3de1948c0b8955125bf754614", + "e1c884e7dede431dadee09506ec4f859" + ], + "model": "Switchgroup", + "name": "Stroomvreters", + "switches": { + "relay": true + }, + "vendor": "Plugwise" + }, + "e1c884e7dede431dadee09506ec4f859": { + "dev_class": "refrigerator", + "firmware": "2011-06-27T10:47:37+02:00", + "hardware": "6539-0700-7330", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "model": "Circle+ type F", + "name": "Koelkast (92C4A)", + "sensors": { + "electricity_consumed": 50.5, + "electricity_consumed_interval": 0.08, + "electricity_produced": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "0123456789AB" + } +} diff --git a/plugwise/__init__.py b/plugwise/__init__.py index c4c14f76e..64c523b5c 100644 --- a/plugwise/__init__.py +++ b/plugwise/__init__.py @@ -17,7 +17,8 @@ SMILES, STATUS, SYSTEM, - PlugwiseData, + GwEntityData, + SmileProps, ThermoLoc, ) from plugwise.exceptions import ( @@ -28,9 +29,9 @@ ResponseError, UnsupportedDeviceError, ) -from plugwise.helper import SmileComm from plugwise.legacy.smile import SmileLegacyAPI from plugwise.smile import SmileAPI +from plugwise.smilecomm import SmileComm import aiohttp from defusedxml import ElementTree as etree @@ -51,19 +52,14 @@ def __init__( username: str = DEFAULT_USERNAME, ) -> None: """Set the constructor for this class.""" - self._host = host - self._password = password - self._port = port self._timeout = DEFAULT_LEGACY_TIMEOUT - self._username = username - self._websession = websession super().__init__( - self._host, - self._password, - self._port, + host, + password, + port, self._timeout, - self._username, - self._websession, + username, + websession, ) self._cooling_present = False @@ -75,10 +71,9 @@ def __init__( self._opentherm_device = False self._schedule_old_states: dict[str, dict[str, str]] = {} self._smile_api: SmileAPI | SmileLegacyAPI + self._smile_props: SmileProps = {} self._stretch_v2 = False self._target_smile: str = NONE - self.gateway_id: str = NONE - self.smile_fw_version: Version | None = None self.smile_hostname: str = NONE self.smile_hw_version: str | None = None self.smile_legacy = False @@ -90,6 +85,38 @@ def __init__( self.smile_version: Version | None = None self.smile_zigbee_mac_address: str | None = None + @property + def cooling_present(self) -> bool: + """Return the cooling capability.""" + if "cooling_present" in self._smile_props: + return self._smile_props["cooling_present"] + return False + + @property + def gateway_id(self) -> str: + """Return the gateway-id.""" + return self._smile_props["gateway_id"] + + @property + def heater_id(self) -> str: + """Return the heater-id.""" + if "heater_id" in self._smile_props: + return self._smile_props["heater_id"] + return NONE + + @property + def item_count(self) -> int: + """Return the item-count.""" + return self._smile_props["item_count"] + + @property + def reboot(self) -> bool: + """Return the reboot capability. + + All non-legacy devices support gateway-rebooting. + """ + return not self.smile_legacy + async def connect(self) -> Version | None: """Connect to the Plugwise Gateway and determine its name, type, version, and other data.""" result = await self._request(DOMAIN_OBJECTS) @@ -128,10 +155,6 @@ async def connect(self) -> Version | None: self._smile_api = ( SmileAPI( - self._host, - self._password, - self._request, - self._websession, self._cooling_present, self._elga, self._is_thermostat, @@ -139,9 +162,9 @@ async def connect(self) -> Version | None: self._loc_data, self._on_off_device, self._opentherm_device, + self._request, self._schedule_old_states, - self.gateway_id, - self.smile_fw_version, + self._smile_props, self.smile_hostname, self.smile_hw_version, self.smile_mac_address, @@ -150,31 +173,25 @@ async def connect(self) -> Version | None: self.smile_name, self.smile_type, self.smile_version, - self._port, - self._username, ) if not self.smile_legacy else SmileLegacyAPI( - self._host, - self._password, - self._request, - self._websession, self._is_thermostat, self._loc_data, self._on_off_device, self._opentherm_device, + self._request, + self._smile_props, self._stretch_v2, self._target_smile, - self.smile_fw_version, self.smile_hostname, self.smile_hw_version, self.smile_mac_address, self.smile_model, self.smile_name, self.smile_type, + self.smile_version, self.smile_zigbee_mac_address, - self._port, - self._username, ) ) @@ -192,7 +209,7 @@ async def _smile_detect(self, result: etree, dsmrmain: etree) -> None: if (gateway := result.find("./gateway")) is not None: if (v_model := gateway.find("vendor_model")) is not None: model = v_model.text - self.smile_fw_version = parse(gateway.find("firmware_version").text) + self.smile_version = parse(gateway.find("firmware_version").text) self.smile_hw_version = gateway.find("hardware_version").text self.smile_hostname = gateway.find("hostname").text self.smile_mac_address = gateway.find("mac_address").text @@ -200,7 +217,7 @@ async def _smile_detect(self, result: etree, dsmrmain: etree) -> None: else: model = await self._smile_detect_legacy(result, dsmrmain, model) - if model == "Unknown" or self.smile_fw_version is None: # pragma: no cover + if model == "Unknown" or self.smile_version is None: # pragma: no cover # Corner case check LOGGER.error( "Unable to find model or version information, please create" @@ -208,7 +225,7 @@ async def _smile_detect(self, result: etree, dsmrmain: etree) -> None: ) raise UnsupportedDeviceError - version_major = str(self.smile_fw_version.major) + version_major = str(self.smile_version.major) self._target_smile = f"{model}_v{version_major}" LOGGER.debug("Plugwise identified as %s", self._target_smile) if self._target_smile not in SMILES: @@ -232,7 +249,6 @@ async def _smile_detect(self, result: etree, dsmrmain: etree) -> None: self.smile_model = "Gateway" self.smile_name = SMILES[self._target_smile].smile_name self.smile_type = SMILES[self._target_smile].smile_type - self.smile_version = self.smile_fw_version if self.smile_type == "stretch": self._stretch_v2 = int(version_major) == 2 @@ -281,7 +297,7 @@ async def _smile_detect_legacy( or network is not None ): system = await self._request(SYSTEM) - self.smile_fw_version = parse(system.find("./gateway/firmware").text) + self.smile_version = parse(system.find("./gateway/firmware").text) return_model = system.find("./gateway/product").text self.smile_hostname = system.find("./gateway/hostname").text # If wlan0 contains data it's active, so eth0 should be checked last @@ -292,7 +308,7 @@ async def _smile_detect_legacy( # P1 legacy: elif dsmrmain is not None: status = await self._request(STATUS) - self.smile_fw_version = parse(status.find("./system/version").text) + self.smile_version = parse(status.find("./system/version").text) return_model = status.find("./system/product").text self.smile_hostname = status.find("./network/hostname").text self.smile_mac_address = status.find("./network/mac_address").text @@ -315,12 +331,11 @@ def get_all_gateway_entities(self) -> None: """Collect the Plugwise Gateway entities and their data and states from the received raw XML-data.""" self._smile_api.get_all_gateway_entities() - async def async_update(self) -> PlugwiseData: + async def async_update(self) -> dict[str, GwEntityData]: """Update the Plughwise Gateway entities and their data and states.""" - data = PlugwiseData(devices={}, gateway={}) + data: dict[str, GwEntityData] = {} try: data = await self._smile_api.async_update() - self.gateway_id = data.gateway["gateway_id"] except (DataMissingError, KeyError) as err: raise PlugwiseError("No Plugwise data received") from err diff --git a/plugwise/common.py b/plugwise/common.py index d1300b592..25f9e2512 100644 --- a/plugwise/common.py +++ b/plugwise/common.py @@ -34,14 +34,11 @@ class SmileCommon: def __init__(self) -> None: """Init.""" - self._appliances: etree + self._cooling_present: bool self._count: int self._domain_objects: etree - self._cooling_present: bool - self._heater_id: str self._on_off_device: bool - self._opentherm_device: bool - self.gw_entities: dict[str, GwEntityData] + self.gw_entities: dict[str, GwEntityData] = {} self.smile_name: str self.smile_type: str diff --git a/plugwise/constants.py b/plugwise/constants.py index 232da091b..7d406ad94 100644 --- a/plugwise/constants.py +++ b/plugwise/constants.py @@ -3,7 +3,6 @@ from __future__ import annotations from collections import namedtuple -from dataclasses import dataclass import logging from typing import Final, Literal, TypedDict, get_args @@ -394,14 +393,13 @@ ) -class GatewayData(TypedDict, total=False): - """The Gateway Data class.""" +class SmileProps(TypedDict, total=False): + """The SmileProps Data class.""" cooling_present: bool gateway_id: str heater_id: str item_count: int - notifications: dict[str, dict[str, str]] reboot: bool smile_name: str @@ -552,6 +550,7 @@ class GwEntityData(TypedDict, total=False): # Gateway gateway_modes: list[str] + notifications: dict[str, dict[str, str]] regulation_modes: list[str] select_gateway_mode: str select_regulation_mode: str @@ -577,11 +576,3 @@ class GwEntityData(TypedDict, total=False): switches: SmileSwitches temperature_offset: ActuatorData thermostat: ActuatorData - - -@dataclass -class PlugwiseData: - """Plugwise data provided as output.""" - - devices: dict[str, GwEntityData] - gateway: GatewayData diff --git a/plugwise/data.py b/plugwise/data.py index 18297c90f..e89720740 100644 --- a/plugwise/data.py +++ b/plugwise/data.py @@ -16,6 +16,7 @@ OFF, ActuatorData, GwEntityData, + SmileProps, ) from plugwise.helper import SmileHelper from plugwise.util import remove_empty_platform_dicts @@ -26,31 +27,27 @@ class SmileData(SmileHelper): def __init__(self) -> None: """Init.""" + self._smile_props: SmileProps + self._zones: dict[str, GwEntityData] = {} SmileHelper.__init__(self) def _all_entity_data(self) -> None: """Helper-function for get_all_gateway_entities(). - Collect data for each entity and add to self.gw_data and self.gw_entities. + Collect data for each entity and add to self._smile_props and self.gw_entities. """ self._update_gw_entities() if self.smile(ADAM): self._update_zones() self.gw_entities.update(self._zones) - self.gw_data.update( - { - "gateway_id": self.gateway_id, - "item_count": self._count, - "notifications": self._notifications, - "reboot": True, - "smile_name": self.smile_name, - } - ) + self._smile_props["gateway_id"] = self._gateway_id + self._smile_props["item_count"] = self._count + self._smile_props["reboot"] = True + self._smile_props["smile_name"] = self.smile_name if self._is_thermostat: - self.gw_data.update( - {"heater_id": self._heater_id, "cooling_present": self._cooling_present} - ) + self._smile_props["heater_id"] = self._heater_id + self._smile_props["cooling_present"] = self._cooling_present def _update_zones(self) -> None: """Helper-function for _all_entity_data() and async_update(). @@ -69,7 +66,7 @@ def _update_gw_entities(self) -> None: mac_list: list[str] = [] for entity_id, entity in self.gw_entities.items(): data = self._get_entity_data(entity_id) - if entity_id == self.gateway_id: + if entity_id == self._gateway_id: mac_list = self._detect_low_batteries() self._add_or_update_notifications(entity_id, entity, data) @@ -123,14 +120,15 @@ def _add_or_update_notifications( ) -> None: """Helper-function adding or updating the Plugwise notifications.""" if ( - entity_id == self.gateway_id + entity_id == self._gateway_id and (self._is_thermostat or self.smile_type == "power") ) or ( "binary_sensors" in entity and "plugwise_notification" in entity["binary_sensors"] ): data["binary_sensors"]["plugwise_notification"] = bool(self._notifications) - self._count += 1 + data["notifications"] = self._notifications + self._count += 2 def _update_for_cooling(self, entity: GwEntityData) -> None: """Helper-function for adding/updating various cooling-related values.""" @@ -305,7 +303,7 @@ def _climate_data( def check_reg_mode(self, mode: str) -> bool: """Helper-function for device_data_climate().""" - gateway = self.gw_entities[self.gateway_id] + gateway = self.gw_entities[self._gateway_id] return ( "regulation_modes" in gateway and gateway["select_regulation_mode"] == mode ) diff --git a/plugwise/helper.py b/plugwise/helper.py index a51ae02ea..00d433e0c 100644 --- a/plugwise/helper.py +++ b/plugwise/helper.py @@ -5,7 +5,6 @@ from __future__ import annotations -import asyncio import datetime as dt from typing import cast @@ -38,29 +37,18 @@ ActuatorData, ActuatorDataType, ActuatorType, - GatewayData, GwEntityData, SensorType, ThermoLoc, ToggleNameType, ) -from plugwise.exceptions import ( - ConnectionFailedError, - InvalidAuthentication, - InvalidXMLError, - ResponseError, -) from plugwise.util import ( check_model, common_match_cases, - escape_illegal_xml_characters, format_measure, skip_obsolete_measurements, ) -# This way of importing aiohttp is because of patch/mocking in testing (aiohttp timeouts) -from aiohttp import BasicAuth, ClientError, ClientResponse, ClientSession, ClientTimeout - # Time related from dateutil import tz from dateutil.parser import parse @@ -78,204 +66,25 @@ def search_actuator_functionalities(appliance: etree, actuator: str) -> etree | return None -class SmileComm: - """The SmileComm class.""" - - def __init__( - self, - host: str, - password: str, - port: int, - timeout: int, - username: str, - websession: ClientSession | None, - ) -> None: - """Set the constructor for this class.""" - if not websession: - aio_timeout = ClientTimeout(total=timeout) - - async def _create_session() -> ClientSession: - return ClientSession(timeout=aio_timeout) # pragma: no cover - - loop = asyncio.get_event_loop() - if loop.is_running(): - self._websession = ClientSession(timeout=aio_timeout) - else: - self._websession = loop.run_until_complete( - _create_session() - ) # pragma: no cover - else: - self._websession = websession - - # Quickfix IPv6 formatting, not covering - if host.count(":") > 2: # pragma: no cover - host = f"[{host}]" - - self._auth = BasicAuth(username, password=password) - self._endpoint = f"http://{host}:{str(port)}" - - async def _request( - self, - command: str, - retry: int = 3, - method: str = "get", - data: str | None = None, - headers: dict[str, str] | None = None, - ) -> etree: - """Get/put/delete data from a give URL.""" - resp: ClientResponse - url = f"{self._endpoint}{command}" - use_headers = headers - - try: - match method: - case "delete": - resp = await self._websession.delete(url, auth=self._auth) - case "get": - # Work-around for Stretchv2, should not hurt the other smiles - use_headers = {"Accept-Encoding": "gzip"} - resp = await self._websession.get( - url, headers=use_headers, auth=self._auth - ) - case "post": - use_headers = {"Content-type": "text/xml"} - resp = await self._websession.post( - url, - headers=use_headers, - data=data, - auth=self._auth, - ) - case "put": - use_headers = {"Content-type": "text/xml"} - resp = await self._websession.put( - url, - headers=use_headers, - data=data, - auth=self._auth, - ) - except ( - ClientError - ) as exc: # ClientError is an ancestor class of ServerTimeoutError - if retry < 1: - LOGGER.warning( - "Failed sending %s %s to Plugwise Smile, error: %s", - method, - command, - exc, - ) - raise ConnectionFailedError from exc - return await self._request(command, retry - 1) - - if resp.status == 504: - if retry < 1: - LOGGER.warning( - "Failed sending %s %s to Plugwise Smile, error: %s", - method, - command, - "504 Gateway Timeout", - ) - raise ConnectionFailedError - return await self._request(command, retry - 1) - - return await self._request_validate(resp, method) - - async def _request_validate(self, resp: ClientResponse, method: str) -> etree: - """Helper-function for _request(): validate the returned data.""" - match resp.status: - case 200: - # Cornercases for server not responding with 202 - if method in ("post", "put"): - return - case 202: - # Command accepted gives empty body with status 202 - return - case 401: - msg = ( - "Invalid Plugwise login, please retry with the correct credentials." - ) - LOGGER.error("%s", msg) - raise InvalidAuthentication - case 405: - msg = "405 Method not allowed." - LOGGER.error("%s", msg) - raise ConnectionFailedError - - if not (result := await resp.text()) or ( - "" in result and "Not started" not in result - ): - LOGGER.warning("Smile response empty or error in %s", result) - raise ResponseError - - try: - # Encode to ensure utf8 parsing - xml = etree.XML(escape_illegal_xml_characters(result).encode()) - except etree.ParseError as exc: - LOGGER.warning("Smile returns invalid XML for %s", self._endpoint) - raise InvalidXMLError from exc - - return xml - - async def close_connection(self) -> None: - """Close the Plugwise connection.""" - await self._websession.close() - - class SmileHelper(SmileCommon): """The SmileHelper class.""" def __init__(self) -> None: """Set the constructor for this class.""" - self._cooling_present: bool - self._count: int - self._dhw_allowed_modes: list[str] = [] - self._domain_objects: etree self._endpoint: str self._elga: bool - self._gw_allowed_modes: list[str] = [] - self._heater_id: str - self._home_loc_id: str - self._home_location: etree self._is_thermostat: bool self._last_active: dict[str, str | None] - self._last_modified: dict[str, str] = {} self._loc_data: dict[str, ThermoLoc] - self._notifications: dict[str, dict[str, str]] = {} - self._on_off_device: bool - self._opentherm_device: bool - self._reg_allowed_modes: list[str] = [] self._schedule_old_states: dict[str, dict[str, str]] - self._status: etree - self._stretch_v2: bool - self._system: etree - self._thermo_locs: dict[str, ThermoLoc] = {} - ################################################################### - # '_cooling_enabled' can refer to the state of the Elga heatpump - # connected to an Anna. For Elga, 'elga_status_code' in (8, 9) - # means cooling mode is available, next to heating mode. - # 'elga_status_code' = 8 means cooling is active, 9 means idle. - # - # '_cooling_enabled' cam refer to the state of the Loria or - # Thermastage heatpump connected to an Anna. For these, - # 'cooling_enabled' = on means set to cooling mode, instead of to - # heating mode. - # 'cooling_state' = on means cooling is active. - ################################################################### - self._cooling_active = False - self._cooling_enabled = False - - self.gateway_id: str - self.gw_data: GatewayData = {} - self.gw_entities: dict[str, GwEntityData] = {} - self.smile_fw_version: version.Version | None + self._gateway_id: str = NONE + self._zones: dict[str, GwEntityData] + self.gw_entities: dict[str, GwEntityData] self.smile_hw_version: str | None self.smile_mac_address: str | None self.smile_model: str self.smile_model_id: str | None - self.smile_name: str - self.smile_type: str self.smile_version: version.Version | None - self.smile_zigbee_mac_address: str | None - self._zones: dict[str, GwEntityData] = {} SmileCommon.__init__(self) def _all_appliances(self) -> None: @@ -356,7 +165,7 @@ def _get_p1_smartmeter_info(self) -> None: LOGGER.error("No module data found for SmartMeter") # pragma: no cover return # pragma: no cover appl.available = None - appl.entity_id = self.gateway_id + appl.entity_id = self._gateway_id appl.firmware = module_data["firmware_version"] appl.hardware = module_data["hardware_version"] appl.location = self._home_loc_id @@ -369,8 +178,8 @@ def _get_p1_smartmeter_info(self) -> None: appl.zigbee_mac = None # Replace the entity_id of the gateway by the smartmeter location_id - self.gw_entities[self._home_loc_id] = self.gw_entities.pop(self.gateway_id) - self.gateway_id = self._home_loc_id + self.gw_entities[self._home_loc_id] = self.gw_entities.pop(self._gateway_id) + self._gateway_id = self._home_loc_id self._create_gw_entities(appl) @@ -443,8 +252,8 @@ def _appliance_info_finder(self, appl: Munch, appliance: etree) -> Munch: def _appl_gateway_info(self, appl: Munch, appliance: etree) -> Munch: """Helper-function for _appliance_info_finder().""" - self.gateway_id = appliance.attrib["id"] - appl.firmware = str(self.smile_fw_version) + self._gateway_id = appliance.attrib["id"] + appl.firmware = str(self.smile_version) appl.hardware = self.smile_hw_version appl.mac = self.smile_mac_address appl.model = self.smile_model @@ -483,15 +292,9 @@ def _get_appl_actuator_modes( ) is not None and (modes := search.find("allowed_modes")) is not None: for mode in modes: mode_list.append(mode.text) - self._check_cooling_mode(mode.text) return mode_list - def _check_cooling_mode(self, mode: str) -> None: - """Check if cooling mode is present and update state.""" - if mode == "cooling": - self._cooling_present = True - def _get_appliances_with_offset_functionality(self) -> list[str]: """Helper-function collecting all appliance that have offset_functionality.""" therm_list: list[str] = [] @@ -644,7 +447,7 @@ def _get_plugwise_notifications(self) -> None: msg_id = notification.attrib["id"] msg_type = notification.find("type").text msg = notification.find("message").text - self._notifications.update({msg_id: {msg_type: msg}}) + self._notifications[msg_id] = {msg_type: msg} LOGGER.debug("Plugwise notifications: %s", self._notifications) except AttributeError: # pragma: no cover LOGGER.debug( @@ -721,7 +524,7 @@ def _get_actuator_mode( Collect the requested gateway mode. """ - if not (self.smile(ADAM) and entity_id == self.gateway_id): + if not (self.smile(ADAM) and entity_id == self._gateway_id): return None if (search := search_actuator_functionalities(appliance, key)) is not None: @@ -762,7 +565,7 @@ def _get_gateway_mode( def _get_gateway_outdoor_temp(self, entity_id: str, data: GwEntityData) -> None: """Adam & Anna: the Smile outdoor_temperature is present in the Home location.""" - if self._is_thermostat and entity_id == self.gateway_id: + if self._is_thermostat and entity_id == self._gateway_id: locator = "./logs/point_log[type='outdoor_temperature']/period/measurement" if (found := self._home_location.find(locator)) is not None: value = format_measure(found.text, NONE) @@ -820,7 +623,11 @@ def _update_anna_cooling(self, entity_id: str, data: GwEntityData) -> None: self._update_loria_cooling(data) def _update_elga_cooling(self, data: GwEntityData) -> None: - """# Anna+Elga: base cooling_state on the elga-status-code.""" + """# Anna+Elga: base cooling_state on the elga-status-code. + + For Elga, 'elga_status_code' in (8, 9) means cooling is enabled. + 'elga_status_code' = 8 means cooling is active, 9 means idle. + """ if data["thermostat_supports_cooling"]: # Techneco Elga has cooling-capability self._cooling_present = True @@ -842,7 +649,11 @@ def _update_elga_cooling(self, data: GwEntityData) -> None: self._count -= 1 def _update_loria_cooling(self, data: GwEntityData) -> None: - """Loria/Thermastage: base cooling-related on cooling_state and modulation_level.""" + """Loria/Thermastage: base cooling-related on cooling_state and modulation_level. + + For the Loria or Thermastage heatpump connected to an Anna cooling-enabled is + indicated via the Cooling Enable switch in the Plugwise App. + """ # For Loria/Thermastage it's not clear if cooling_enabled in xml shows the correct status, # setting it specifically: self._cooling_enabled = data["binary_sensors"]["cooling_enabled"] = data[ diff --git a/plugwise/legacy/data.py b/plugwise/legacy/data.py index 12e0087d3..777f528a1 100644 --- a/plugwise/legacy/data.py +++ b/plugwise/legacy/data.py @@ -7,7 +7,7 @@ # Dict as class # Version detection -from plugwise.constants import NONE, OFF, GwEntityData +from plugwise.constants import NONE, OFF, GwEntityData, SmileProps from plugwise.legacy.helper import SmileLegacyHelper from plugwise.util import remove_empty_platform_dicts @@ -17,25 +17,20 @@ class SmileLegacyData(SmileLegacyHelper): def __init__(self) -> None: """Init.""" + self._smile_props: SmileProps SmileLegacyHelper.__init__(self) def _all_entity_data(self) -> None: """Helper-function for get_all_gateway_entities(). - Collect data for each entity and add to self.gw_data and self.gw_entities. + Collect data for each entity and add to self._smile_props and self.gw_entities. """ self._update_gw_entities() - self.gw_data.update( - { - "gateway_id": self.gateway_id, - "item_count": self._count, - "smile_name": self.smile_name, - } - ) + self._smile_props["gateway_id"] = self.gateway_id + self._smile_props["item_count"] = self._count + self._smile_props["smile_name"] = self.smile_name if self._is_thermostat: - self.gw_data.update( - {"heater_id": self._heater_id, "cooling_present": False} - ) + self._smile_props["heater_id"] = self._heater_id def _update_gw_entities(self) -> None: """Helper-function for _all_entity_data() and async_update(). diff --git a/plugwise/legacy/helper.py b/plugwise/legacy/helper.py index 69c5abe7b..98a5444cb 100644 --- a/plugwise/legacy/helper.py +++ b/plugwise/legacy/helper.py @@ -30,7 +30,6 @@ ActuatorDataType, ActuatorType, ApplianceType, - GatewayData, GwEntityData, SensorType, ThermoLoc, @@ -63,32 +62,15 @@ class SmileLegacyHelper(SmileCommon): def __init__(self) -> None: """Set the constructor for this class.""" self._appliances: etree - self._count: int - self._domain_objects: etree - self._heater_id: str - self._home_loc_id: str self._is_thermostat: bool - self._last_modified: dict[str, str] = {} self._loc_data: dict[str, ThermoLoc] self._locations: etree self._modules: etree - self._notifications: dict[str, dict[str, str]] = {} - self._on_off_device: bool - self._opentherm_device: bool - self._outdoor_temp: float - self._status: etree self._stretch_v2: bool - self._system: etree - - self.gateway_id: str - self.gw_data: GatewayData = {} self.gw_entities: dict[str, GwEntityData] = {} - self.smile_fw_version: Version | None - self.smile_hw_version: str | None self.smile_mac_address: str | None self.smile_model: str - self.smile_name: str - self.smile_type: str + self.smile_version: Version | None self.smile_zigbee_mac_address: str | None SmileCommon.__init__(self) @@ -194,7 +176,7 @@ def _create_legacy_gateway(self) -> None: self.gw_entities[self.gateway_id] = {"dev_class": "gateway"} self._count += 1 for key, value in { - "firmware": str(self.smile_fw_version), + "firmware": str(self.smile_version), "location": self._home_loc_id, "mac_address": self.smile_mac_address, "model": self.smile_model, diff --git a/plugwise/legacy/smile.py b/plugwise/legacy/smile.py index 3f08e2634..744336711 100644 --- a/plugwise/legacy/smile.py +++ b/plugwise/legacy/smile.py @@ -11,8 +11,6 @@ from plugwise.constants import ( APPLIANCES, - DEFAULT_PORT, - DEFAULT_USERNAME, DOMAIN_OBJECTS, LOCATIONS, LOGGER, @@ -20,15 +18,13 @@ OFF, REQUIRE_APPLIANCES, RULES, - GatewayData, GwEntityData, - PlugwiseData, + SmileProps, ThermoLoc, ) from plugwise.exceptions import ConnectionFailedError, DataMissingError, PlugwiseError from plugwise.legacy.data import SmileLegacyData -import aiohttp from munch import Munch from packaging.version import Version @@ -40,26 +36,22 @@ class SmileLegacyAPI(SmileLegacyData): def __init__( self, - host: str, - password: str, - request: Callable[..., Awaitable[Any]], - websession: aiohttp.ClientSession, _is_thermostat: bool, _loc_data: dict[str, ThermoLoc], _on_off_device: bool, _opentherm_device: bool, + _request: Callable[..., Awaitable[Any]], + _smile_props: SmileProps, _stretch_v2: bool, _target_smile: str, - smile_fw_version: Version | None, smile_hostname: str, smile_hw_version: str | None, smile_mac_address: str | None, smile_model: str, smile_name: str, smile_type: str, + smile_version: Version | None, smile_zigbee_mac_address: str | None, - port: int = DEFAULT_PORT, - username: str = DEFAULT_USERNAME, ) -> None: """Set the constructor for this class.""" self._cooling_present = False @@ -67,16 +59,17 @@ def __init__( self._loc_data = _loc_data self._on_off_device = _on_off_device self._opentherm_device = _opentherm_device + self._request = _request + self._smile_props = _smile_props self._stretch_v2 = _stretch_v2 self._target_smile = _target_smile - self.request = request - self.smile_fw_version = smile_fw_version self.smile_hostname = smile_hostname self.smile_hw_version = smile_hw_version self.smile_mac_address = smile_mac_address self.smile_model = smile_model self.smile_name = smile_name self.smile_type = smile_type + self.smile_version = smile_version self.smile_zigbee_mac_address = smile_zigbee_mac_address SmileLegacyData.__init__(self) @@ -84,12 +77,12 @@ def __init__( async def full_xml_update(self) -> None: """Perform a first fetch of the Plugwise server XML data.""" - self._domain_objects = await self.request(DOMAIN_OBJECTS) - self._locations = await self.request(LOCATIONS) - self._modules = await self.request(MODULES) + self._domain_objects = await self._request(DOMAIN_OBJECTS) + self._locations = await self._request(LOCATIONS) + self._modules = await self._request(MODULES) # P1 legacy has no appliances if self.smile_type != "power": - self._appliances = await self.request(APPLIANCES) + self._appliances = await self._request(APPLIANCES) def get_all_gateway_entities(self) -> None: """Collect the Plugwise gateway entities and their data and states from the received raw XML-data. @@ -104,7 +97,7 @@ def get_all_gateway_entities(self) -> None: self._all_entity_data() - async def async_update(self) -> PlugwiseData: + async def async_update(self) -> dict[str, GwEntityData]: """Perform an full update update at day-change: re-collect all gateway entities and their data and states. Otherwise perform an incremental update: only collect the entities updated data and states. @@ -117,8 +110,6 @@ async def async_update(self) -> PlugwiseData: LOGGER.info( "Performing daily full-update, reload the Plugwise integration when a single entity becomes unavailable." ) - self.gw_data: GatewayData = {} - self.gw_entities: dict[str, GwEntityData] = {} try: await self.full_xml_update() self.get_all_gateway_entities() @@ -130,12 +121,12 @@ async def async_update(self) -> PlugwiseData: ) from err else: try: - self._domain_objects = await self.request(DOMAIN_OBJECTS) + self._domain_objects = await self._request(DOMAIN_OBJECTS) match self._target_smile: case "smile_v2": - self._modules = await self.request(MODULES) + self._modules = await self._request(MODULES) case self._target_smile if self._target_smile in REQUIRE_APPLIANCES: - self._appliances = await self.request(APPLIANCES) + self._appliances = await self._request(APPLIANCES) self._update_gw_entities() # Detect failed data-retrieval @@ -144,10 +135,7 @@ async def async_update(self) -> PlugwiseData: raise DataMissingError("No legacy Plugwise data received") from err self._previous_day_number = day_number - return PlugwiseData( - devices=self.gw_entities, - gateway=self.gw_data, - ) + return self.gw_entities ######################################################################################################## ### API Set and HA Service-related Functions ### @@ -307,6 +295,6 @@ async def call_request(self, uri: str, **kwargs: Any) -> None: method: str = kwargs["method"] data: str | None = kwargs.get("data") try: - await self.request(uri, method=method, data=data) + await self._request(uri, method=method, data=data) except ConnectionFailedError as exc: raise ConnectionFailedError from exc diff --git a/plugwise/smile.py b/plugwise/smile.py index cd2ed0dca..248fad8e7 100644 --- a/plugwise/smile.py +++ b/plugwise/smile.py @@ -13,8 +13,6 @@ ADAM, ANNA, APPLIANCES, - DEFAULT_PORT, - DEFAULT_USERNAME, DOMAIN_OBJECTS, GATEWAY_REBOOT, LOCATIONS, @@ -23,15 +21,13 @@ NOTIFICATIONS, OFF, RULES, - GatewayData, GwEntityData, - PlugwiseData, + SmileProps, ThermoLoc, ) from plugwise.data import SmileData from plugwise.exceptions import ConnectionFailedError, DataMissingError, PlugwiseError -import aiohttp from defusedxml import ElementTree as etree # Dict as class @@ -46,10 +42,6 @@ class SmileAPI(SmileData): def __init__( self, - host: str, - password: str, - request: Callable[..., Awaitable[Any]], - websession: aiohttp.ClientSession, _cooling_present: bool, _elga: bool, _is_thermostat: bool, @@ -57,9 +49,9 @@ def __init__( _loc_data: dict[str, ThermoLoc], _on_off_device: bool, _opentherm_device: bool, + _request: Callable[..., Awaitable[Any]], _schedule_old_states: dict[str, dict[str, str]], - gateway_id: str, - smile_fw_version: Version | None, + _smile_props: SmileProps, smile_hostname: str | None, smile_hw_version: str | None, smile_mac_address: str | None, @@ -68,23 +60,18 @@ def __init__( smile_name: str, smile_type: str, smile_version: Version | None, - port: int = DEFAULT_PORT, - username: str = DEFAULT_USERNAME, ) -> None: """Set the constructor for this class.""" - self._cooling_enabled = False self._cooling_present = _cooling_present self._elga = _elga - self._heater_id: str self._is_thermostat = _is_thermostat self._last_active = _last_active self._loc_data = _loc_data self._on_off_device = _on_off_device self._opentherm_device = _opentherm_device + self._request = _request self._schedule_old_states = _schedule_old_states - self.gateway_id = gateway_id - self.request = request - self.smile_fw_version = smile_fw_version + self._smile_props = _smile_props self.smile_hostname = smile_hostname self.smile_hw_version = smile_hw_version self.smile_mac_address = smile_mac_address @@ -98,7 +85,7 @@ def __init__( async def full_xml_update(self) -> None: """Perform a first fetch of the Plugwise server XML data.""" - self._domain_objects = await self.request(DOMAIN_OBJECTS) + self._domain_objects = await self._request(DOMAIN_OBJECTS) self._get_plugwise_notifications() def get_all_gateway_entities(self) -> None: @@ -122,21 +109,20 @@ def get_all_gateway_entities(self) -> None: self._all_entity_data() - async def async_update(self) -> PlugwiseData: + async def async_update(self) -> dict[str, GwEntityData]: """Perform an full update: re-collect all gateway entities and their data and states. Any change in the connected entities will be detected immediately. """ - self.gw_data: GatewayData = {} - self.gw_entities: dict[str, GwEntityData] = {} - self._zones: dict[str, GwEntityData] = {} + self._zones = {} + self.gw_entities = {} try: await self.full_xml_update() self.get_all_gateway_entities() # Set self._cooling_enabled - required for set_temperature(), # also, check for a failed data-retrieval - if "heater_id" in self.gw_data: - heat_cooler = self.gw_entities[self.gw_data["heater_id"]] + if "heater_id" in self._smile_props: + heat_cooler = self.gw_entities[self._smile_props["heater_id"]] if ( "binary_sensors" in heat_cooler and "cooling_enabled" in heat_cooler["binary_sensors"] @@ -145,14 +131,11 @@ async def async_update(self) -> PlugwiseData: "cooling_enabled" ] else: # cover failed data-retrieval for P1 - _ = self.gw_entities[self.gateway_id]["location"] + _ = self.gw_entities[self._smile_props["gateway_id"]]["location"] except KeyError as err: raise DataMissingError("No Plugwise actual data received") from err - return PlugwiseData( - devices=self.gw_entities, - gateway=self.gw_data, - ) + return self.gw_entities ######################################################################################################## ### API Set and HA Service-related Functions ### @@ -276,7 +259,7 @@ async def set_gateway_mode(self, mode: str) -> None: vacation_time = time_2 + "T23:00:00.000Z" valid = f"{vacation_time}{end_time}" - uri = f"{APPLIANCES};id={self.gateway_id}/gateway_mode_control" + uri = f"{APPLIANCES};id={self._smile_props['gateway_id']}/gateway_mode_control" data = f"{mode}{valid}" await self.call_request(uri, method="put", data=data) @@ -478,6 +461,6 @@ async def call_request(self, uri: str, **kwargs: Any) -> None: method: str = kwargs["method"] data: str | None = kwargs.get("data") try: - await self.request(uri, method=method, data=data) + await self._request(uri, method=method, data=data) except ConnectionFailedError as exc: raise ConnectionFailedError from exc diff --git a/plugwise/smilecomm.py b/plugwise/smilecomm.py new file mode 100644 index 000000000..0f6b54384 --- /dev/null +++ b/plugwise/smilecomm.py @@ -0,0 +1,148 @@ +"""Use of this source code is governed by the MIT license found in the LICENSE file. + +Plugwise Smile communication protocol helpers. +""" + +from __future__ import annotations + +from plugwise.constants import LOGGER +from plugwise.exceptions import ( + ConnectionFailedError, + InvalidAuthentication, + InvalidXMLError, + ResponseError, +) +from plugwise.util import escape_illegal_xml_characters + +# This way of importing aiohttp is because of patch/mocking in testing (aiohttp timeouts) +from aiohttp import BasicAuth, ClientError, ClientResponse, ClientSession, ClientTimeout +from defusedxml import ElementTree as etree + + +class SmileComm: + """The SmileComm class.""" + + def __init__( + self, + host: str, + password: str, + port: int, + timeout: int, + username: str, + websession: ClientSession | None, + ) -> None: + """Set the constructor for this class.""" + if not websession: + aio_timeout = ClientTimeout(total=timeout) + self._websession = ClientSession(timeout=aio_timeout) + else: + self._websession = websession + + # Quickfix IPv6 formatting, not covering + if host.count(":") > 2: # pragma: no cover + host = f"[{host}]" + + self._auth = BasicAuth(username, password=password) + self._endpoint = f"http://{host}:{str(port)}" # Sensitive + + async def _request( + self, + command: str, + retry: int = 3, + method: str = "get", + data: str | None = None, + ) -> etree: + """Get/put/delete data from a give URL.""" + resp: ClientResponse + url = f"{self._endpoint}{command}" + try: + match method: + case "delete": + resp = await self._websession.delete(url, auth=self._auth) + case "get": + # Work-around for Stretchv2, should not hurt the other smiles + headers = {"Accept-Encoding": "gzip"} + resp = await self._websession.get( + url, headers=headers, auth=self._auth + ) + case "post": + headers = {"Content-type": "text/xml"} + resp = await self._websession.post( + url, + headers=headers, + data=data, + auth=self._auth, + ) + case "put": + headers = {"Content-type": "text/xml"} + resp = await self._websession.put( + url, + headers=headers, + data=data, + auth=self._auth, + ) + except ( + ClientError + ) as exc: # ClientError is an ancestor class of ServerTimeoutError + if retry < 1: + LOGGER.warning( + "Failed sending %s %s to Plugwise Smile, error: %s", + method, + command, + exc, + ) + raise ConnectionFailedError from exc + return await self._request(command, retry - 1) + + if resp.status == 504: + if retry < 1: + LOGGER.warning( + "Failed sending %s %s to Plugwise Smile, error: %s", + method, + command, + "504 Gateway Timeout", + ) + raise ConnectionFailedError + return await self._request(command, retry - 1) + + return await self._request_validate(resp, method) + + async def _request_validate(self, resp: ClientResponse, method: str) -> etree: + """Helper-function for _request(): validate the returned data.""" + match resp.status: + case 200: + # Cornercases for server not responding with 202 + if method in ("post", "put"): + return + case 202: + # Command accepted gives empty body with status 202 + return + case 401: + msg = ( + "Invalid Plugwise login, please retry with the correct credentials." + ) + LOGGER.error("%s", msg) + raise InvalidAuthentication + case 405: + msg = "405 Method not allowed." + LOGGER.error("%s", msg) + raise ConnectionFailedError + + if not (result := await resp.text()) or ( + "" in result and "Not started" not in result + ): + LOGGER.warning("Smile response empty or error in %s", result) + raise ResponseError + + try: + # Encode to ensure utf8 parsing + xml = etree.XML(escape_illegal_xml_characters(result).encode()) + except etree.ParseError as exc: + LOGGER.warning("Smile returns invalid XML for %s", self._endpoint) + raise InvalidXMLError from exc + + return xml + + async def close_connection(self) -> None: + """Close the Plugwise connection.""" + await self._websession.close() diff --git a/pyproject.toml b/pyproject.toml index b573a777e..e1f767bb2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "plugwise" -version = "1.6.4" +version = "1.7.0a7" license = {file = "LICENSE"} description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3." readme = "README.md" diff --git a/scripts/manual_fixtures.py b/scripts/manual_fixtures.py index 6e5946c92..8cdc4fb24 100755 --- a/scripts/manual_fixtures.py +++ b/scripts/manual_fixtures.py @@ -5,14 +5,14 @@ import os -def json_writer(manual_name: str, all_data: dict) -> None: +def json_writer(manual_name: str, output: dict) -> None: """Standardized writing json files.""" if not os.path.exists(f"./fixtures/{manual_name}"): os.makedirs(f"./fixtures/{manual_name}") - outfile = f"./fixtures/{manual_name}/all_data.json" + outfile = f"./fixtures/{manual_name}/data.json" data = json.dumps( - all_data, + output, indent=2, separators=(",", ": "), sort_keys=True, @@ -28,7 +28,7 @@ def json_writer(manual_name: str, all_data: dict) -> None: # Modified Adam fixtures base_adam_manual = "adam_multiple_devices_per_zone" -basefile = f"./fixtures/{base_adam_manual}/all_data.json" +basefile = f"./fixtures/{base_adam_manual}/data.json" io = open(basefile) base = json.load(io) @@ -36,13 +36,13 @@ def json_writer(manual_name: str, all_data: dict) -> None: adam_multiple_devices_per_zone = base.copy() # Change schedule to not present for "446ac08dd04d4eff8ac57489757b7314" -adam_multiple_devices_per_zone["devices"]["446ac08dd04d4eff8ac57489757b7314"].pop("available_schedules") -adam_multiple_devices_per_zone["devices"]["446ac08dd04d4eff8ac57489757b7314"].pop("select_schedule") +adam_multiple_devices_per_zone["446ac08dd04d4eff8ac57489757b7314"].pop("available_schedules") +adam_multiple_devices_per_zone["446ac08dd04d4eff8ac57489757b7314"].pop("select_schedule") json_writer("m_adam_multiple_devices_per_zone", adam_multiple_devices_per_zone) base_adam_manual = "adam_jip" -basefile = f"./fixtures/{base_adam_manual}/all_data.json" +basefile = f"./fixtures/{base_adam_manual}/data.json" io = open(basefile) base = json.load(io) @@ -50,9 +50,9 @@ def json_writer(manual_name: str, all_data: dict) -> None: adam_jip = base.copy() # Change mode to off for "06aecb3d00354375924f50c47af36bd2" for testcoverage in HA Core -adam_jip["devices"]["06aecb3d00354375924f50c47af36bd2"]["climate_mode"] = "off" +adam_jip["06aecb3d00354375924f50c47af36bd2"]["climate_mode"] = "off" # Remove control_state for testcoverage of missing control_state in HA Core -adam_jip["devices"]["06aecb3d00354375924f50c47af36bd2"].pop("control_state") +adam_jip["06aecb3d00354375924f50c47af36bd2"].pop("control_state") json_writer("m_adam_jip", adam_jip) @@ -60,103 +60,99 @@ def json_writer(manual_name: str, all_data: dict) -> None: ### Manual Adam fixtures base_adam_manual = "adam_plus_anna_new" -basefile = f"./fixtures/{base_adam_manual}/all_data.json" +basefile = f"./fixtures/{base_adam_manual}/data.json" io = open(basefile) base = json.load(io) m_adam_cooling = base.copy() -# Set cooling_present to true, item_count to 89 -m_adam_cooling["gateway"]["cooling_present"] = True -m_adam_cooling["gateway"]["item_count"] = 89 - # Remove devices 67d73d0bd469422db25a618a5fb8eeb0, 29542b2b6a6a4169acecc15c72a599b8 and 10016900610d4c7481df78c89606ef22 from anywhere -m_adam_cooling["devices"].pop("29542b2b6a6a4169acecc15c72a599b8") -m_adam_cooling["devices"].pop("67d73d0bd469422db25a618a5fb8eeb0") -m_adam_cooling["devices"].pop("10016900610d4c7481df78c89606ef22") +m_adam_cooling.pop("29542b2b6a6a4169acecc15c72a599b8") +m_adam_cooling.pop("67d73d0bd469422db25a618a5fb8eeb0") +m_adam_cooling.pop("10016900610d4c7481df78c89606ef22") # Correct setpoint for device "ad4838d7d35c4d6ea796ee12ae5aedf8" and zone "f2bf9048bef64cc5b6d5110154e33c81" -m_adam_cooling["devices"]["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ +m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ "setpoint" ] = 23.5 -m_adam_cooling["devices"]["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ +m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ "temperature" ] = 25.8 -m_adam_cooling["devices"]["f2bf9048bef64cc5b6d5110154e33c81"]["thermostat"][ +m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["thermostat"][ "setpoint" ] = 23.5 -m_adam_cooling["devices"]["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"][ +m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"][ "temperature" ] = 25.8 -m_adam_cooling["devices"]["f2bf9048bef64cc5b6d5110154e33c81"][ +m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"][ "select_schedule" ] = "off" -m_adam_cooling["devices"]["f2bf9048bef64cc5b6d5110154e33c81"][ +m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"][ "control_state" ] = "cooling" -m_adam_cooling["devices"]["f2bf9048bef64cc5b6d5110154e33c81"]["climate_mode"] = "cool" +m_adam_cooling["f2bf9048bef64cc5b6d5110154e33c81"]["climate_mode"] = "cool" # Add new key available -m_adam_cooling["devices"]["ad4838d7d35c4d6ea796ee12ae5aedf8"]["available"] = True +m_adam_cooling["ad4838d7d35c4d6ea796ee12ae5aedf8"]["available"] = True # (again, following diff) # Remove device "2568cc4b9c1e401495d4741a5f89bee1" from anywhere -m_adam_cooling["devices"].pop("2568cc4b9c1e401495d4741a5f89bee1") +m_adam_cooling.pop("2568cc4b9c1e401495d4741a5f89bee1") # Remove device "854f8a9b0e7e425db97f1f110e1ce4b3" from anywhere -m_adam_cooling["devices"].pop("854f8a9b0e7e425db97f1f110e1ce4b3") +m_adam_cooling.pop("854f8a9b0e7e425db97f1f110e1ce4b3") # Go for 1772 -m_adam_cooling["devices"]["1772a4ea304041adb83f357b751341ff"]["sensors"][ +m_adam_cooling["1772a4ea304041adb83f357b751341ff"]["sensors"][ "temperature" ] = 21.6 # Go for e2f4 -m_adam_cooling["devices"]["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ +m_adam_cooling["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ "setpoint" ] = 23.5 -m_adam_cooling["devices"]["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ +m_adam_cooling["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ "temperature" ] = 23.9 -m_adam_cooling["devices"]["f871b8c4d63549319221e294e4f88074"]["thermostat"][ +m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["thermostat"][ "setpoint" ] = 25.0 -m_adam_cooling["devices"]["f871b8c4d63549319221e294e4f88074"]["sensors"][ +m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["sensors"][ "temperature" ] = 23.9 -m_adam_cooling["devices"]["f871b8c4d63549319221e294e4f88074"][ +m_adam_cooling["f871b8c4d63549319221e294e4f88074"][ "control_state" ] = "cooling" -m_adam_cooling["devices"]["f871b8c4d63549319221e294e4f88074"]["climate_mode"] = "auto" +m_adam_cooling["f871b8c4d63549319221e294e4f88074"]["climate_mode"] = "auto" # Go for da22 -m_adam_cooling["devices"]["da224107914542988a88561b4452b0f6"][ +m_adam_cooling["da224107914542988a88561b4452b0f6"][ "select_regulation_mode" ] = "cooling" -m_adam_cooling["devices"]["da224107914542988a88561b4452b0f6"][ +m_adam_cooling["da224107914542988a88561b4452b0f6"][ "regulation_modes" ].append("cooling") -m_adam_cooling["devices"]["da224107914542988a88561b4452b0f6"]["sensors"][ +m_adam_cooling["da224107914542988a88561b4452b0f6"]["sensors"][ "outdoor_temperature" ] = 29.65 # Go for 056e -m_adam_cooling["devices"]["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ +m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ "cooling_state" ] = True -m_adam_cooling["devices"]["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ +m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ "heating_state" ] = False -m_adam_cooling["devices"]["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ +m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ "flame_state" ] = False -m_adam_cooling["devices"]["056ee145a816487eaa69243c3280f8bf"]["sensors"][ +m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "water_temperature" ] = 19.0 -m_adam_cooling["devices"]["056ee145a816487eaa69243c3280f8bf"]["sensors"][ +m_adam_cooling["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "intended_boiler_temperature" ] = 17.5 @@ -166,81 +162,78 @@ def json_writer(manual_name: str, all_data: dict) -> None: m_adam_heating = m_adam_cooling.copy() -# Set cooling_present to false -m_adam_heating["gateway"]["cooling_present"] = False - # Correct setpoint for "ad4838d7d35c4d6ea796ee12ae5aedf8" -m_adam_heating["devices"]["f2bf9048bef64cc5b6d5110154e33c81"]["thermostat"][ +m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["thermostat"][ "setpoint" ] = 20.0 -m_adam_heating["devices"]["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ +m_adam_heating["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ "setpoint" ] = 20.0 -m_adam_heating["devices"]["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"][ +m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["sensors"][ "temperature" ] = 19.1 -m_adam_heating["devices"]["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ +m_adam_heating["ad4838d7d35c4d6ea796ee12ae5aedf8"]["sensors"][ "temperature" ] = 19.1 -m_adam_heating["devices"]["f2bf9048bef64cc5b6d5110154e33c81"][ +m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"][ "control_state" ] = "preheating" -m_adam_heating["devices"]["f2bf9048bef64cc5b6d5110154e33c81"]["climate_mode"] = "heat" +m_adam_heating["f2bf9048bef64cc5b6d5110154e33c81"]["climate_mode"] = "heat" # Go for 1772 -m_adam_heating["devices"]["1772a4ea304041adb83f357b751341ff"]["sensors"][ +m_adam_heating["1772a4ea304041adb83f357b751341ff"]["sensors"][ "temperature" ] = 18.6 # Related zone temperature is set below # Go for e2f4 -m_adam_heating["devices"]["f871b8c4d63549319221e294e4f88074"]["thermostat"][ +m_adam_heating["f871b8c4d63549319221e294e4f88074"]["thermostat"][ "setpoint" ] = 15.0 -m_adam_heating["devices"]["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ +m_adam_heating["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ "setpoint" ] = 15.0 -m_adam_heating["devices"]["f871b8c4d63549319221e294e4f88074"]["sensors"][ +m_adam_heating["f871b8c4d63549319221e294e4f88074"]["sensors"][ "temperature" ] = 17.9 -m_adam_heating["devices"]["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ +m_adam_heating["e2f4322d57924fa090fbbc48b3a140dc"]["sensors"][ "temperature" ] = 17.9 -m_adam_heating["devices"]["f871b8c4d63549319221e294e4f88074"]["climate_mode"] = "auto" -m_adam_heating["devices"]["f871b8c4d63549319221e294e4f88074"][ +m_adam_heating["f871b8c4d63549319221e294e4f88074"]["climate_mode"] = "auto" +m_adam_heating["f871b8c4d63549319221e294e4f88074"][ "control_state" ] = "idle" # Go for da22 -m_adam_heating["devices"]["da224107914542988a88561b4452b0f6"][ +m_adam_heating["da224107914542988a88561b4452b0f6"][ "select_regulation_mode" ] = "heating" -m_adam_heating["devices"]["da224107914542988a88561b4452b0f6"][ +m_adam_heating["da224107914542988a88561b4452b0f6"][ "regulation_modes" ].remove("cooling") -m_adam_heating["devices"]["da224107914542988a88561b4452b0f6"]["sensors"][ +m_adam_heating["da224107914542988a88561b4452b0f6"]["sensors"][ "outdoor_temperature" ] = -1.25 # Go for 056e -m_adam_heating["devices"]["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"].pop( +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"].pop( "cooling_state" ) -m_adam_heating["devices"]["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ "heating_state" ] = True -m_adam_heating["devices"]["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["binary_sensors"][ "flame_state" ] = False -m_adam_heating["devices"]["056ee145a816487eaa69243c3280f8bf"]["sensors"][ +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "water_temperature" ] = 37.0 -m_adam_heating["devices"]["056ee145a816487eaa69243c3280f8bf"]["sensors"][ +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["sensors"][ "intended_boiler_temperature" ] = 38.1 -m_adam_heating["devices"]["056ee145a816487eaa69243c3280f8bf"]["max_dhw_temperature"] = { +m_adam_heating["056ee145a816487eaa69243c3280f8bf"]["max_dhw_temperature"] = { "setpoint": 60.0, "lower_bound": 40.0, "upper_bound": 60.0, @@ -252,69 +245,66 @@ def json_writer(manual_name: str, all_data: dict) -> None: ### Manual Anna fixtures base_anna_manual = "anna_heatpump_heating" -basefile = f"./fixtures/{base_anna_manual}/all_data.json" +basefile = f"./fixtures/{base_anna_manual}/data.json" io = open(basefile) base = json.load(io) m_anna_heatpump_cooling = base.copy() -# Set cooling_present to true -m_anna_heatpump_cooling["gateway"]["cooling_present"] = True - # Go for 1cbf -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"][ "model" ] = "Generic heater/cooler" -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"][ "binary_sensors" ]["cooling_enabled"] = True -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"][ "binary_sensors" ]["heating_state"] = False -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"][ "binary_sensors" ]["cooling_state"] = True -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "water_temperature" ] = 22.7 -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "dhw_temperature" ] = 41.5 -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "intended_boiler_temperature" ] = 0.0 -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "modulation_level" ] = 40 -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "return_temperature" ] = 23.8 -m_anna_heatpump_cooling["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_cooling["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "outdoor_air_temperature" ] = 28.0 # Go for 015a -m_anna_heatpump_cooling["devices"]["015ae9ea3f964e668e490fa39da3870b"]["sensors"][ +m_anna_heatpump_cooling["015ae9ea3f964e668e490fa39da3870b"]["sensors"][ "outdoor_temperature" ] = 28.2 # Go for 3cb7 -m_anna_heatpump_cooling["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["control_state"] = "cooling" -m_anna_heatpump_cooling["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["thermostat"][ +m_anna_heatpump_cooling["3cb70739631c4d17a86b8b12e8a5161b"]["control_state"] = "cooling" +m_anna_heatpump_cooling["3cb70739631c4d17a86b8b12e8a5161b"]["thermostat"][ "setpoint_low" ] = 20.5 -m_anna_heatpump_cooling["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["thermostat"][ +m_anna_heatpump_cooling["3cb70739631c4d17a86b8b12e8a5161b"]["thermostat"][ "setpoint_high" ] = 30.0 -m_anna_heatpump_cooling["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ +m_anna_heatpump_cooling["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ "temperature" ] = 26.3 -m_anna_heatpump_cooling["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ +m_anna_heatpump_cooling["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ "setpoint_low" ] = 20.5 -m_anna_heatpump_cooling["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ +m_anna_heatpump_cooling["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ "setpoint_high" ] = 30.0 @@ -325,39 +315,39 @@ def json_writer(manual_name: str, all_data: dict) -> None: m_anna_heatpump_idle = m_anna_heatpump_cooling.copy() # Go for 1cbf -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["binary_sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["binary_sensors"][ "compressor_state" ] = False -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["binary_sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["binary_sensors"][ "cooling_state" ] = False -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "water_temperature" ] = 19.1 -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "dhw_temperature" ] = 46.3 -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "intended_boiler_temperature" ] = 18.0 -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "modulation_level" ] = 0 -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "return_temperature" ] = 22.0 -m_anna_heatpump_idle["devices"]["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ +m_anna_heatpump_idle["1cbf783bb11e4a7c8a6843dee3a86927"]["sensors"][ "outdoor_air_temperature" ] = 28.2 # Go for 3cb7 -m_anna_heatpump_idle["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["control_state"] = "idle" -m_anna_heatpump_idle["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ +m_anna_heatpump_idle["3cb70739631c4d17a86b8b12e8a5161b"]["control_state"] = "idle" +m_anna_heatpump_idle["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ "temperature" ] = 23.0 -m_anna_heatpump_idle["devices"]["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ +m_anna_heatpump_idle["3cb70739631c4d17a86b8b12e8a5161b"]["sensors"][ "cooling_activation_outdoor_temperature" ] = 25.0 diff --git a/tests/test_adam.py b/tests/test_adam.py index bc521104f..2378d7f41 100644 --- a/tests/test_adam.py +++ b/tests/test_adam.py @@ -36,7 +36,7 @@ async def test_connect_adam_plus_anna_new(self): assert smile.gateway_id == "da224107914542988a88561b4452b0f6" assert smile._last_active["f2bf9048bef64cc5b6d5110154e33c81"] == "Weekschema" assert smile._last_active["f871b8c4d63549319221e294e4f88074"] == "Badkamer" - assert self.entity_items == 177 + assert self.entity_items == 178 assert self.entity_list == [ "da224107914542988a88561b4452b0f6", "056ee145a816487eaa69243c3280f8bf", @@ -52,6 +52,7 @@ async def test_connect_adam_plus_anna_new(self): "f2bf9048bef64cc5b6d5110154e33c81", "f871b8c4d63549319221e294e4f88074", ] + assert smile.reboot result = await self.tinker_thermostat( smile, @@ -207,7 +208,7 @@ async def test_connect_adam_zone_per_device(self): assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA - assert self.entity_items == 369 + assert self.entity_items == 370 assert "af82e4ccf9c548528166d38e560662a4" in self.notifications await smile.delete_notification() @@ -287,7 +288,7 @@ async def test_connect_adam_multiple_devices_per_zone(self): assert smile._last_active["82fa13f017d240daa0d0ea1775420f24"] == CV_JESSIE assert smile._last_active["08963fec7c53423ca5680aa4cb502c63"] == BADKAMER_SCHEMA assert smile._last_active["446ac08dd04d4eff8ac57489757b7314"] == BADKAMER_SCHEMA - assert self.entity_items == 369 + assert self.entity_items == 370 assert "af82e4ccf9c548528166d38e560662a4" in self.notifications @@ -325,7 +326,7 @@ async def test_adam_heatpump_cooling(self): assert smile._last_active["a562019b0b1f47a4bde8ebe3dbe3e8a9"] == WERKDAG_SCHEMA assert smile._last_active["8cf650a4c10c44819e426bed406aec34"] == WERKDAG_SCHEMA assert smile._last_active["5cc21042f87f4b4c94ccb5537c47a53f"] == WERKDAG_SCHEMA - assert self.entity_items == 497 + assert self.entity_items == 498 assert self.cooling_present assert self._cooling_enabled @@ -348,7 +349,7 @@ async def test_connect_adam_onoff_cooling_fake_firmware(self): ) await self.device_test(smile, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 64 + assert self.entity_items == 65 assert self.cooling_present # assert self._cooling_enabled - no cooling_enabled indication present @@ -373,7 +374,7 @@ async def test_connect_adam_plus_anna(self): await self.device_test(smile, "2020-03-22 00:00:01", testdata) assert smile.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94" assert smile._last_active["009490cc2f674ce6b576863fbb64f867"] == "Weekschema" - assert self.entity_items == 80 + assert self.entity_items == 81 assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications result = await self.tinker_thermostat( @@ -419,7 +420,7 @@ async def test_adam_plus_jip(self): assert smile._last_active["06aecb3d00354375924f50c47af36bd2"] is None assert smile._last_active["d27aede973b54be484f6842d1b2802ad"] is None assert smile._last_active["13228dab8ce04617af318a2888b3c548"] is None - assert self.entity_items == 244 + assert self.entity_items == 245 # Negative test result = await self.tinker_thermostat( diff --git a/tests/test_anna.py b/tests/test_anna.py index 64596f6ef..bce21b1ab 100644 --- a/tests/test_anna.py +++ b/tests/test_anna.py @@ -30,7 +30,7 @@ async def test_connect_anna_v4(self): await self.device_test(smile, "2020-04-05 00:00:01", testdata) assert smile.gateway_id == "0466eae8520144c78afb29628384edeb" assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard" - assert self.entity_items == 59 + assert self.entity_items == 60 assert not self.notifications assert not self.cooling_present @@ -109,7 +109,7 @@ async def test_connect_anna_v4_dhw(self): await self.device_test(smile, "2020-04-05 00:00:01", testdata) assert smile._last_active["eb5309212bf5407bb143e5bfa3b18aee"] == "Standaard" - assert self.entity_items == 59 + assert self.entity_items == 60 assert not self.notifications result = await self.tinker_thermostat( @@ -138,7 +138,7 @@ async def test_connect_anna_v4_no_tag(self): ) await self.device_test(smile, "2020-04-05 00:00:01", testdata) - assert self.entity_items == 59 + assert self.entity_items == 60 result = await self.tinker_thermostat( smile, @@ -167,7 +167,7 @@ async def test_connect_anna_without_boiler_fw441(self): await self.device_test(smile, "2022-05-16 00:00:01", testdata) assert smile._last_active["c34c6864216446528e95d88985e714cc"] == "Normaal" - assert self.entity_items == 40 + assert self.entity_items == 41 assert not self.notifications result = await self.tinker_thermostat( @@ -196,7 +196,7 @@ async def test_connect_anna_heatpump_heating(self): await self.device_test(smile, "2020-04-12 00:00:01", testdata) assert smile.gateway_id == "015ae9ea3f964e668e490fa39da3870b" assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard" - assert self.entity_items == 68 + assert self.entity_items == 69 assert not self.notifications assert self.cooling_present assert not self._cooling_enabled @@ -226,7 +226,7 @@ async def test_connect_anna_heatpump_heating(self): await self.device_test( smile, "2020-04-13 00:00:01", testdata_updated, initialize=False ) - assert self.entity_items == 65 + assert self.entity_items == 66 await smile.close_connection() await self.disconnect(server, client) @@ -252,7 +252,7 @@ async def test_connect_anna_heatpump_cooling(self): await self.device_test(smile, "2020-04-19 00:00:01", testdata) assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard" - assert self.entity_items == 65 + assert self.entity_items == 66 assert self.cooling_present assert not self.notifications @@ -298,7 +298,7 @@ async def test_connect_anna_heatpump_cooling_fake_firmware(self): ) await self.device_test(smile, "2020-04-19 00:00:01", testdata) - assert self.entity_items == 65 + assert self.entity_items == 66 assert self.cooling_present assert self._cooling_enabled assert self._cooling_active @@ -325,7 +325,7 @@ async def test_connect_anna_elga_no_cooling(self): await self.device_test(smile, "2020-04-12 00:00:01", testdata) assert smile.gateway_id == "015ae9ea3f964e668e490fa39da3870b" assert smile._last_active["c784ee9fdab44e1395b8dee7d7a497d5"] == "standaard" - assert self.entity_items == 64 + assert self.entity_items == 65 assert not self.notifications assert not self.cooling_present @@ -352,7 +352,7 @@ async def test_connect_anna_elga_2(self): smile._last_active["d3ce834534114348be628b61b26d9220"] == THERMOSTAT_SCHEDULE ) - assert self.entity_items == 60 + assert self.entity_items == 61 assert smile.gateway_id == "fb49af122f6e4b0f91267e1cf7666d6f" assert self.cooling_present assert not self._cooling_enabled @@ -377,7 +377,7 @@ async def test_connect_anna_elga_2_schedule_off(self): ) assert self.cooling_present assert not self._cooling_enabled - assert self.entity_items == 64 + assert self.entity_items == 65 await smile.close_connection() await self.disconnect(server, client) @@ -406,7 +406,7 @@ async def test_connect_anna_elga_2_cooling(self): smile._last_active["d3ce834534114348be628b61b26d9220"] == THERMOSTAT_SCHEDULE ) - assert self.entity_items == 64 + assert self.entity_items == 65 assert not self.notifications assert self.cooling_present @@ -460,7 +460,7 @@ async def test_connect_anna_loria_heating_idle(self): await self.device_test(smile, "2022-05-16 00:00:01", testdata) assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter" - assert self.entity_items == 67 + assert self.entity_items == 68 assert self.cooling_present assert not self._cooling_enabled @@ -528,7 +528,7 @@ async def test_connect_anna_loria_cooling_active(self): await self.device_test(smile, "2022-05-16 00:00:01", testdata) assert smile._last_active["15da035090b847e7a21f93e08c015ebc"] == "Winter" - assert self.entity_items == 67 + assert self.entity_items == 68 assert self.cooling_present assert self._cooling_enabled @@ -551,7 +551,7 @@ async def test_connect_anna_loria_driessens(self): ) await self.device_test(smile, "2022-05-16 00:00:01", testdata) - assert self.entity_items == 67 + assert self.entity_items == 68 assert self.cooling_present assert not self._cooling_enabled diff --git a/tests/test_generic.py b/tests/test_generic.py index e098095f6..a89b7d4db 100644 --- a/tests/test_generic.py +++ b/tests/test_generic.py @@ -48,7 +48,7 @@ async def test_connect_fail_firmware(self): # Test connect for timeout @patch( - "plugwise.helper.ClientSession.get", + "plugwise.smilecomm.ClientSession.get", side_effect=aiohttp.ServerTimeoutError, ) @pytest.mark.asyncio diff --git a/tests/test_init.py b/tests/test_init.py index b35a35138..429635cae 100644 --- a/tests/test_init.py +++ b/tests/test_init.py @@ -617,17 +617,21 @@ def test_and_assert(test_dict, data, header): _LOGGER.info("Asserting updated testdata:") data = await smile.async_update() - self.cooling_present = False - if "cooling_present" in data.gateway: - self.cooling_present = data.gateway["cooling_present"] - if "notifications" in data.gateway: - self.notifications = data.gateway["notifications"] - self.entity_items = data.gateway["item_count"] + _LOGGER.info("Gateway id = %s", smile.gateway_id) + _LOGGER.info("Heater id = %s", smile.heater_id) + _LOGGER.info("Hostname = %s", smile.smile_hostname) + _LOGGER.info("Entities list = %s", data) + + self.cooling_present = smile.cooling_present + self.notifications = None + if "notifications" in data[smile.gateway_id]: + self.notifications = data[smile.gateway_id]["notifications"] + self.entity_items = smile.item_count self._cooling_active = False self._cooling_enabled = False - if "heater_id" in data.gateway: - heat_cooler = data.devices[data.gateway["heater_id"]] + if smile.heater_id != "None": + heat_cooler = data[smile.heater_id] if "binary_sensors" in heat_cooler: if "cooling_enabled" in heat_cooler["binary_sensors"]: self._cooling_enabled = heat_cooler["binary_sensors"][ @@ -638,27 +642,23 @@ def test_and_assert(test_dict, data, header): "cooling_state" ] - self._write_json("all_data", {"devices": data.devices, "gateway": data.gateway}) + self._write_json("data", data) if "FIXTURES" in os.environ: _LOGGER.info("Skipping tests: Requested fixtures only") # pragma: no cover return # pragma: no cover - self.entity_list = list(data.devices.keys()) + self.entity_list = list(data.keys()) location_list = smile._loc_data - _LOGGER.info("Gateway id = %s", data.gateway["gateway_id"]) - _LOGGER.info("Hostname = %s", smile.smile_hostname) - _LOGGER.info("Gateway data = %s", data.gateway) - _LOGGER.info("Entities list = %s", data.devices) - self.show_setup(location_list, data.devices) + self.show_setup(location_list, data) if skip_testing: return # Perform tests and asserts in two steps: devices and zones for header, data_dict in testdata.items(): - test_and_assert(data_dict, data.devices, header) + test_and_assert(data_dict, data, header) # pragma warning restore S3776 diff --git a/tests/test_legacy_anna.py b/tests/test_legacy_anna.py index 6f05eccd5..a3a7b8469 100644 --- a/tests/test_legacy_anna.py +++ b/tests/test_legacy_anna.py @@ -31,6 +31,7 @@ async def test_connect_legacy_anna(self): await self.device_test(smile, "2020-03-22 00:00:01", testdata) assert smile.gateway_id == "0000aaaa0000aaaa0000aaaa0000aa00" assert self.entity_items == 41 + assert not smile.reboot result = await self.tinker_legacy_thermostat(smile, schedule_on=False) assert result diff --git a/tests/test_p1.py b/tests/test_p1.py index ff102ba26..562ebc4fd 100644 --- a/tests/test_p1.py +++ b/tests/test_p1.py @@ -28,7 +28,7 @@ async def test_connect_p1v4_442_single(self): await self.device_test(smile, "2022-05-16 00:00:01", testdata) assert smile.gateway_id == "a455b61e52394b2db5081ce025a430f3" - assert self.entity_items == 32 + assert self.entity_items == 33 assert not self.notifications # Now change some data and change directory reading xml from @@ -78,7 +78,7 @@ async def test_connect_p1v4_442_triple(self): await self.device_test(smile, "2022-05-16 00:00:01", testdata) assert smile.gateway_id == "03e65b16e4b247a29ae0d75a78cb492e" - assert self.entity_items == 41 + assert self.entity_items == 42 assert self.notifications await smile.close_connection()