diff --git a/.gitignore b/.gitignore index 7b3558ecd..bb87564d4 100644 --- a/.gitignore +++ b/.gitignore @@ -11,8 +11,6 @@ tests/__pycache__ .coverage .vscode venv -fixtures/* -!fixtures/.keep *.sedbck tmp .mypy_cache diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d9ff4b462..a2ea865f9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,7 +1,7 @@ ci: # Defer autoupdate to quarterly (there is no 'off' button) to have renovate pick up first autoupdate_schedule: quarterly - skip: [pylint, markdownlint, testing, fixtures] + skip: [pylint, markdownlint, testing] submodules: true default_language_version: @@ -60,10 +60,6 @@ repos: rev: v1.31.0 hooks: - id: yamllint - - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.0.0-alpha.9-for-vscode - hooks: - - id: prettier - repo: https://github.com/cdce8p/python-typing-update rev: v0.5.1 hooks: @@ -108,12 +104,10 @@ repos: entry: /usr/bin/env bash -c 'exec env GITHUB_ACTIONS="1" scripts/tests_and_coverage.sh test_and_coverage' language: script pass_filenames: false - - id: fixtures - name: "Fixture formatting" - # yamllint disable-line rule:line-length - entry: /usr/bin/env bash -c 'exec env GITHUB_ACTIONS="1" scripts/tests_and_coverage.sh fixtures' - language: script - pass_filenames: false + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v3.0.0-alpha.9-for-vscode + hooks: + - id: prettier - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.34.0 hooks: diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f9aa85a1..75beb5269 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Ongoing -- Improve fixture generation and manual fixtures +- Improve fixture generation and manual fixtures, exposing (prettier-ed) fixtures ## v0.31.3: Typing updates, improved fixture generation and manual mode-changes diff --git a/fixtures/.keep b/fixtures/.keep deleted file mode 100644 index 72e8ffc0d..000000000 --- a/fixtures/.keep +++ /dev/null @@ -1 +0,0 @@ -* diff --git a/fixtures/adam_heatpump_cooling/all_data.json b/fixtures/adam_heatpump_cooling/all_data.json new file mode 100644 index 000000000..4b58fc68b --- /dev/null +++ b/fixtures/adam_heatpump_cooling/all_data.json @@ -0,0 +1,562 @@ +{ + "devices": { + "0ca13e8176204ca7bf6f09de59f81c83": { + "available": true, + "binary_sensors": { + "cooling_state": false, + "dhw_state": false, + "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": "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": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "b52908550469425b812c87f766fe5303", + "mode": "heat_cool", + "model": "Lisa", + "name": "Thermostaat BK", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "battery": 55, + "setpoint_high": 18.0, + "setpoint_low": 4.0, + "temperature": 18.8 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 18.0, + "setpoint_low": 4.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "1a27dd03b5454c4e8b9e75c8d1afc7af": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "20e735858f8146cead98b873177a4f99", + "model": "Plug", + "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" + }, + "2e0fc4db2a6d4cbeb7cf786143543961": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", + "model": "Plug", + "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", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "04b15f6e884448288f811d29fb7b1b30", + "model": "Plug", + "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", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "fa5fa6b34f6b40a0972988b20e888ed4", + "model": "Plug", + "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": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "20e735858f8146cead98b873177a4f99", + "mode": "heat_cool", + "model": "Lisa", + "name": "Thermostaat DB", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "setpoint_high": 18.0, + "setpoint_low": 4.0, + "temperature": 22.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 18.0, + "setpoint_low": 4.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A20" + }, + "5ead63c65e5f44e7870ba2bd680ceb9e": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "9a27714b970547ee9a6bdadc2b815ad5", + "model": "Plug", + "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", + "hardware": "AME Smile 2.0 board", + "location": "eedadcb297564f1483faa509179aebed", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "cooling", + "regulation_modes": [ + "heating", + "off", + "bleeding_cold", + "bleeding_hot", + "cooling" + ], + "sensors": { + "outdoor_temperature": 13.4 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "7fda9f84f01342f8afe9ebbbbff30c0f": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "e39529c79ab54fda9bed26cfc0447546", + "mode": "heat_cool", + "model": "Lisa", + "name": "Thermostaat JM", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "setpoint_high": 18.0, + "setpoint_low": 4.0, + "temperature": 20.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 18.0, + "setpoint_low": 4.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "838c2f48195242709b87217cf8d8a71f": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "b52908550469425b812c87f766fe5303", + "model": "Plug", + "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", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "5cc21042f87f4b4c94ccb5537c47a53f", + "model": "Plug", + "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" + }, + "96714ad90fc948bcbcb5021c4b9f5ae9": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "e39529c79ab54fda9bed26cfc0447546", + "model": "Plug", + "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" + }, + "a03b6e8e76dd4646af1a77c31dd9370c": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", + "model": "Plug", + "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" + }, + "bbcffa48019f4b09b8368bbaf9559e68": { + "available": true, + "dev_class": "valve_actuator", + "firmware": "2020-05-13T02:00:00+02:00", + "location": "8cf650a4c10c44819e426bed406aec34", + "model": "Plug", + "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": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "9a27714b970547ee9a6bdadc2b815ad5", + "mode": "heat_cool", + "model": "Lisa", + "name": "Thermostaat SQ", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "setpoint_high": 18.5, + "setpoint_low": 4.0, + "temperature": 21.4 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 18.5, + "setpoint_low": 4.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "c4ed311d54e341f58b4cdd201d1fde7e": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", + "mode": "heat_cool", + "model": "Lisa", + "name": "Thermostaat RB", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "setpoint_high": 17.0, + "setpoint_low": 4.0, + "temperature": 20.7 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 17.0, + "setpoint_low": 4.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "ca79d23ae0094120b877558734cff85c": { + "active_preset": "away", + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "thermostat", + "last_used": "Werkdag schema", + "location": "fa5fa6b34f6b40a0972988b20e888ed4", + "mode": "auto", + "model": "ThermoTouch", + "name": "Thermostaat WK", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "Werkdag schema", + "sensors": { + "setpoint_high": 21.5, + "setpoint_low": 18.0, + "temperature": 22.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint_high": 21.5, + "setpoint_low": 18.0, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + }, + "d3a276aeb3114a509bab1e4bf8c40348": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "04b15f6e884448288f811d29fb7b1b30", + "mode": "heat_cool", + "model": "Lisa", + "name": "Thermostaat SJ", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "setpoint_high": 20.5, + "setpoint_low": 4.0, + "temperature": 22.6 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 20.5, + "setpoint_low": 4.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A13" + }, + "ea8372c0e3ad4622ad45a041d02425f5": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", + "mode": "auto", + "model": "Lisa", + "name": "Thermostaat KK", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "Werkdag schema", + "sensors": { + "battery": 53, + "setpoint_high": 21.5, + "setpoint_low": 18.0, + "temperature": 22.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 21.5, + "setpoint_low": 18.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "eac5db95d97241f6b17790897847ccf5": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "8cf650a4c10c44819e426bed406aec34", + "mode": "auto", + "model": "Lisa", + "name": "Thermostaat BK1", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "Werkdag schema", + "sensors": { + "setpoint_high": 20.5, + "setpoint_low": 18.0, + "temperature": 21.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 20.5, + "setpoint_low": 18.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "f04c985c11ad4848b8fcd710343f9dcf": { + "active_preset": "away", + "available": true, + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Werkdag schema", + "location": "5cc21042f87f4b4c94ccb5537c47a53f", + "mode": "auto", + "model": "Lisa", + "name": "Thermostaat BK2", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "Werkdag schema", + "sensors": { + "setpoint_high": 20.5, + "setpoint_low": 18.0, + "temperature": 21.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 20.5, + "setpoint_low": 18.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + } + }, + "gateway": { + "cooling_present": true, + "gateway_id": "7d97fc3117784cfdafe347bcedcbbbcb", + "heater_id": "0ca13e8176204ca7bf6f09de59f81c83", + "notifications": {}, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_heatpump_cooling/notifications.json b/fixtures/adam_heatpump_cooling/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/adam_heatpump_cooling/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/adam_jip/all_data.json b/fixtures/adam_jip/all_data.json new file mode 100644 index 000000000..510bf517a --- /dev/null +++ b/fixtures/adam_jip/all_data.json @@ -0,0 +1,266 @@ +{ + "devices": { + "1346fbd8498d4dbcab7e18d51b771f3d": { + "active_preset": "no_frost", + "available": true, + "available_schedules": ["None"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": null, + "location": "06aecb3d00354375924f50c47af36bd2", + "mode": "heat", + "model": "Lisa", + "name": "Slaapkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 92, + "setpoint": 13.0, + "temperature": 24.2 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "1da4d325838e4ad8aac12177214505c9": { + "available": true, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "d58fec52899f4f1c92e4f8fad6d8c48c", + "model": "Tom/Floor", + "name": "Logeerkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 28.8, + "temperature_difference": 2.0, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "356b65335e274d769c338223e7af9c33": { + "available": true, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "06aecb3d00354375924f50c47af36bd2", + "model": "Tom/Floor", + "name": "Slaapkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 24.3, + "temperature_difference": 1.7, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "457ce8414de24596a2d5e7dbc9c7682f": { + "available": true, + "dev_class": "zz_misc", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "model": "lumi.plug.maeu01", + "name": "Plug", + "sensors": { + "electricity_consumed_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": false + }, + "vendor": "LUMI", + "zigbee_mac_address": "ABCD012345670A06" + }, + "6f3e9d7084214c21b9dfa46f6eeb8700": { + "active_preset": "home", + "available": true, + "available_schedules": ["None"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": null, + "location": "d27aede973b54be484f6842d1b2802ad", + "mode": "heat", + "model": "Lisa", + "name": "Kinderkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 79, + "setpoint": 13.0, + "temperature": 30.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "833de10f269c4deab58fb9df69901b4e": { + "available": true, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "13228dab8ce04617af318a2888b3c548", + "model": "Tom/Floor", + "name": "Woonkamer", + "sensors": { + "setpoint": 9.0, + "temperature": 24.0, + "temperature_difference": 1.8, + "valve_position": 100 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "a6abc6a129ee499c88a4d420cc413b47": { + "active_preset": "home", + "available": true, + "available_schedules": ["None"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": null, + "location": "d58fec52899f4f1c92e4f8fad6d8c48c", + "mode": "heat", + "model": "Lisa", + "name": "Logeerkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 80, + "setpoint": 13.0, + "temperature": 30.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "b5c2386c6f6342669e50fe49dd05b188": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.2.8", + "hardware": "AME Smile 2.0 board", + "location": "9e4433a9d69f40b3aefd15e74395eaec", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "heating", + "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], + "sensors": { + "outdoor_temperature": 24.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "d4496250d0e942cfa7aea3476e9070d5": { + "available": true, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "d27aede973b54be484f6842d1b2802ad", + "model": "Tom/Floor", + "name": "Kinderkamer", + "sensors": { + "setpoint": 13.0, + "temperature": 28.7, + "temperature_difference": 1.9, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "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": "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": { + "active_preset": "home", + "available": true, + "available_schedules": ["None"], + "control_state": "off", + "dev_class": "zone_thermometer", + "firmware": "2020-09-01T02:00:00+02:00", + "hardware": "1", + "last_used": null, + "location": "13228dab8ce04617af318a2888b3c548", + "mode": "heat", + "model": "Jip", + "name": "Woonkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 100, + "humidity": 56.2, + "setpoint": 9.0, + "temperature": 27.4 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.01, + "setpoint": 9.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A08" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "b5c2386c6f6342669e50fe49dd05b188", + "heater_id": "e4684553153b44afbef2200885f379dc", + "notifications": {}, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_jip/notifications.json b/fixtures/adam_jip/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/adam_jip/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/adam_multiple_devices_per_zone/all_data.json b/fixtures/adam_multiple_devices_per_zone/all_data.json new file mode 100644 index 000000000..ffc2ca8ab --- /dev/null +++ b/fixtures/adam_multiple_devices_per_zone/all_data.json @@ -0,0 +1,429 @@ +{ + "devices": { + "02cf28bfec924855854c544690a609ef": { + "available": true, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "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" + }, + "21f2b542c49845e6bb416884c55778d6": { + "available": true, + "dev_class": "game_console", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "name": "Playstation Smart Plug", + "sensors": { + "electricity_consumed": 82.6, + "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" + }, + "4a810418d5394b3f82727340b91ba740": { + "available": true, + "dev_class": "router", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "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", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "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, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Tom/Floor", + "name": "Thermostatic Radiator Badkamer", + "sensors": { + "battery": 51, + "setpoint": 14.0, + "temperature": 19.1, + "temperature_difference": -0.4, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "6a3bf693d05e48e0b460c815a4fdd09d": { + "active_preset": "asleep", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": "CV Jessie", + "location": "82fa13f017d240daa0d0ea1775420f24", + "mode": "auto", + "model": "Lisa", + "name": "Zone Thermostat Jessie", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "CV Jessie", + "sensors": { + "battery": 37, + "setpoint": 15.0, + "temperature": 17.2 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 15.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "78d1126fc4c743db81b61c20e88342a7": { + "available": true, + "dev_class": "central_heating_pump", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Plug", + "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" + }, + "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", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "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, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Tom/Floor", + "name": "Bios Cv Thermostatic Radiator ", + "sensors": { + "battery": 62, + "setpoint": 13.0, + "temperature": 17.2, + "temperature_difference": -0.2, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "b310b72a0e354bfab43089919b9a88bf": { + "available": true, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Tom/Floor", + "name": "Floor kraan", + "sensors": { + "setpoint": 21.5, + "temperature": 26.0, + "temperature_difference": 3.5, + "valve_position": 100 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "b59bcebaf94b499ea7d46e4a66fb62d8": { + "active_preset": "home", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", + "last_used": "GF7 Woonkamer", + "location": "c50f167537524366a5af7aa3942feb1e", + "mode": "auto", + "model": "Lisa", + "name": "Zone Lisa WK", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "GF7 Woonkamer", + "sensors": { + "battery": 34, + "setpoint": 21.5, + "temperature": 20.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "cd0ddb54ef694e11ac18ed1cbce5dbbd": { + "available": true, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "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, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Tom/Floor", + "name": "Thermostatic Radiator Jessie", + "sensors": { + "battery": 62, + "setpoint": 15.0, + "temperature": 17.1, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "df4a4a8169904cdb9c03d61a21f42140": { + "active_preset": "away", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer Schema", + "location": "12493538af164a409c6a1c79e38afe1c", + "mode": "heat", + "model": "Lisa", + "name": "Zone Lisa Bios", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 67, + "setpoint": 13.0, + "temperature": 16.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "e7693eb9582644e5b865dba8d4447cf1": { + "active_preset": "no_frost", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "last_used": "Badkamer Schema", + "location": "446ac08dd04d4eff8ac57489757b7314", + "mode": "heat", + "model": "Tom/Floor", + "name": "CV Kraan Garage", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 68, + "setpoint": 5.5, + "temperature": 15.6, + "temperature_difference": 0.0, + "valve_position": 0.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 5.5, + "upper_bound": 100.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "f1fee6043d3642a9b0a65297455f008e": { + "active_preset": "away", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer Schema", + "location": "08963fec7c53423ca5680aa4cb502c63", + "mode": "auto", + "model": "Lisa", + "name": "Zone Thermostat Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Badkamer Schema", + "sensors": { + "battery": 92, + "setpoint": 14.0, + "temperature": 18.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 14.0, + "upper_bound": 99.9 + }, + "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", + "name": "Adam", + "regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 7.81 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "fe799307f1624099878210aa0b9f1475", + "heater_id": "90986d591dcd426cae3ec3e8111ff730", + "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." + } + }, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_multiple_devices_per_zone/notifications.json b/fixtures/adam_multiple_devices_per_zone/notifications.json new file mode 100644 index 000000000..8749be4c3 --- /dev/null +++ b/fixtures/adam_multiple_devices_per_zone/notifications.json @@ -0,0 +1,5 @@ +{ + "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." + } +} diff --git a/fixtures/adam_onoff_cooling_fake_firmware/all_data.json b/fixtures/adam_onoff_cooling_fake_firmware/all_data.json new file mode 100644 index 000000000..10de4d1ab --- /dev/null +++ b/fixtures/adam_onoff_cooling_fake_firmware/all_data.json @@ -0,0 +1,98 @@ +{ + "devices": { + "0ca13e8176204ca7bf6f09de59f81c83": { + "binary_sensors": { + "cooling_state": true, + "dhw_state": false, + "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": 35.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", + "hardware": "AME Smile 2.0 board", + "location": "eedadcb297564f1483faa509179aebed", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "cooling", + "regulation_modes": [ + "heating", + "off", + "bleeding_cold", + "bleeding_hot", + "cooling" + ], + "sensors": { + "outdoor_temperature": 13.4 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "ca79d23ae0094120b877558734cff85c": { + "active_preset": "away", + "available_schedules": ["Opstaan weekdag", "Werkdag schema", "Weekend"], + "control_state": "off", + "dev_class": "thermostat", + "last_used": "Werkdag schema", + "location": "fa5fa6b34f6b40a0972988b20e888ed4", + "mode": "auto", + "model": "ThermoTouch", + "name": "Thermostaat WK", + "preset_modes": ["no_frost", "vacation", "away", "home", "asleep"], + "selected_schedule": "Werkdag schema", + "sensors": { + "setpoint_high": 21.5, + "setpoint_low": 18.0, + "temperature": 22.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint_high": 21.5, + "setpoint_low": 18.0, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + } + }, + "gateway": { + "cooling_present": true, + "gateway_id": "7d97fc3117784cfdafe347bcedcbbbcb", + "heater_id": "0ca13e8176204ca7bf6f09de59f81c83", + "notifications": {}, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_onoff_cooling_fake_firmware/notifications.json b/fixtures/adam_onoff_cooling_fake_firmware/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/adam_onoff_cooling_fake_firmware/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/adam_plus_anna/all_data.json b/fixtures/adam_plus_anna/all_data.json new file mode 100644 index 000000000..8dfddce07 --- /dev/null +++ b/fixtures/adam_plus_anna/all_data.json @@ -0,0 +1,121 @@ +{ + "devices": { + "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": 47.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "aa6b0002df0a46e1b1eb94beb61eddfe": { + "available": true, + "dev_class": "hometheater", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "45d410adf8fd461e85cebf16d5ead542", + "model": "Plug", + "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", + "name": "Adam", + "regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 11.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "ee62cad889f94e8ca3d09021f03a660b": { + "active_preset": "home", + "available_schedules": ["Weekschema"], + "dev_class": "thermostat", + "last_used": "Weekschema", + "location": "009490cc2f674ce6b576863fbb64f867", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Weekschema", + "sensors": { + "setpoint": 20.5, + "temperature": 20.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 20.5, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + }, + "f2be121e4a9345ac83c6e99ed89a98be": { + "available": true, + "dev_class": "computer_desktop", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "5ccb6c41a7d9403988d261ceee04239f", + "model": "Plug", + "name": "Work-PC", + "sensors": { + "electricity_consumed": 79.8, + "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", + "notifications": { + "6fb89e35caeb4b1cb275184895202d84": { + "error": "There is no OpenTherm communication with the boiler." + } + }, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_plus_anna/notifications.json b/fixtures/adam_plus_anna/notifications.json new file mode 100644 index 000000000..c51fa8cb3 --- /dev/null +++ b/fixtures/adam_plus_anna/notifications.json @@ -0,0 +1,5 @@ +{ + "6fb89e35caeb4b1cb275184895202d84": { + "error": "There is no OpenTherm communication with the boiler." + } +} diff --git a/fixtures/adam_plus_anna_copy_with_error_domain_added/all_data.json b/fixtures/adam_plus_anna_copy_with_error_domain_added/all_data.json new file mode 100644 index 000000000..6b8de79e7 --- /dev/null +++ b/fixtures/adam_plus_anna_copy_with_error_domain_added/all_data.json @@ -0,0 +1,121 @@ +{ + "devices": { + "2743216f626f43948deec1f7ab3b3d70": { + "available": true, + "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": 47.0 + }, + "switches": { + "dhw_cm_switch": false + } + }, + "aa6b0002df0a46e1b1eb94beb61eddfe": { + "available": true, + "dev_class": "hometheater", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "45d410adf8fd461e85cebf16d5ead542", + "model": "Plug", + "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": "0123456789AB" + }, + "b128b4bbbd1f47e9bf4d756e8fb5ee94": { + "binary_sensors": { + "plugwise_notification": true + }, + "dev_class": "gateway", + "firmware": "3.0.23", + "hardware": "AME Smile 2.0 board", + "location": "07d618f0bb80412687f065b8698ce3e7", + "mac_address": "0123456789AB", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "heating", + "vendor": "Plugwise", + "zigbee_mac_address": "0123456789AB" + }, + "ee62cad889f94e8ca3d09021f03a660b": { + "active_preset": null, + "available_schedules": ["'S avonds uit"], + "dev_class": "thermostat", + "last_used": "'S avonds uit", + "location": "009490cc2f674ce6b576863fbb64f867", + "mode": "heat", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["home", "away", "no_frost", "asleep", "vacation"], + "selected_schedule": "None", + "sensors": { + "setpoint": 20.5, + "temperature": 20.5 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 20.5, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + }, + "f2be121e4a9345ac83c6e99ed89a98be": { + "available": true, + "dev_class": "computer_desktop", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "5ccb6c41a7d9403988d261ceee04239f", + "model": "Plug", + "name": "Work-PC", + "sensors": { + "electricity_consumed": 79.8, + "electricity_consumed_interval": 7.03, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "0123456789AB" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "b128b4bbbd1f47e9bf4d756e8fb5ee94", + "heater_id": "2743216f626f43948deec1f7ab3b3d70", + "notifications": { + "3d28a20e17cb47dca210a132463721d5": { + "error": "ZigBee Stick 000D6F000D5A3184 has been unreachable since 05:36 2020-06-18. Please check if the ZigBee Stick is still inserted in the Gateway USB port and restart Gateway by powering it down for a few seconds." + }, + "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." + } + }, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_plus_anna_copy_with_error_domain_added/notifications.json b/fixtures/adam_plus_anna_copy_with_error_domain_added/notifications.json new file mode 100644 index 000000000..d383a99ea --- /dev/null +++ b/fixtures/adam_plus_anna_copy_with_error_domain_added/notifications.json @@ -0,0 +1,8 @@ +{ + "3d28a20e17cb47dca210a132463721d5": { + "error": "ZigBee Stick 000D6F000D5A3184 has been unreachable since 05:36 2020-06-18. Please check if the ZigBee Stick is still inserted in the Gateway USB port and restart Gateway by powering it down for a few seconds." + }, + "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." + } +} diff --git a/fixtures/adam_plus_anna_new/all_data.json b/fixtures/adam_plus_anna_new/all_data.json new file mode 100644 index 000000000..95726bce2 --- /dev/null +++ b/fixtures/adam_plus_anna_new/all_data.json @@ -0,0 +1,213 @@ +{ + "devices": { + "056ee145a816487eaa69243c3280f8bf": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": false, + "heating_state": true + }, + "dev_class": "heater_central", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "maximum_boiler_temperature": { + "lower_bound": 25.0, + "resolution": 0.01, + "setpoint": 60.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, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "setpoint": 15.0, + "temperature": 21.6, + "temperature_difference": 2.3, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "2568cc4b9c1e401495d4741a5f89bee1": { + "available": true, + "dev_class": "computer_desktop", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "name": "Plug Werkplek", + "sensors": { + "electricity_consumed": 98.0, + "electricity_consumed_interval": 24.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": true, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "29542b2b6a6a4169acecc15c72a599b8": { + "available": true, + "dev_class": "hometheater", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "name": "Plug Mediacenter", + "sensors": { + "electricity_consumed": 12.2, + "electricity_consumed_interval": 3.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "lock": false, + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "67d73d0bd469422db25a618a5fb8eeb0": { + "available": true, + "dev_class": "zz_misc", + "location": "b4f211175e124df59603412bafa77a34", + "model": "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", + "firmware": "2020-11-10T01:00:00+01:00", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "model": "Plug", + "name": "Plug Vloerverwarming", + "sensors": { + "electricity_consumed": 46.8, + "electricity_consumed_interval": 0.0, + "electricity_produced": 0.0, + "electricity_produced_interval": 0.0 + }, + "switches": { + "relay": true + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A05" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "active_preset": "asleep", + "available_schedules": ["Weekschema", "Badkamer", "Test"], + "control_state": "heating", + "dev_class": "thermostat", + "last_used": "Weekschema", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Weekschema", + "sensors": { + "setpoint": 18.5, + "temperature": 18.1 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 18.5, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.6.4", + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "heating", + "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], + "sensors": { + "outdoor_temperature": -1.25 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "active_preset": "home", + "available": true, + "available_schedules": ["Weekschema", "Badkamer", "Test"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer", + "location": "f871b8c4d63549319221e294e4f88074", + "mode": "auto", + "model": "Lisa", + "name": "Lisa Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Badkamer", + "sensors": { + "battery": 56, + "setpoint": 15.0, + "temperature": 17.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 15.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + } + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "da224107914542988a88561b4452b0f6", + "heater_id": "056ee145a816487eaa69243c3280f8bf", + "notifications": {}, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_plus_anna_new/notifications.json b/fixtures/adam_plus_anna_new/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/adam_plus_anna_new/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/adam_zone_per_device/all_data.json b/fixtures/adam_zone_per_device/all_data.json new file mode 100644 index 000000000..54fe3e388 --- /dev/null +++ b/fixtures/adam_zone_per_device/all_data.json @@ -0,0 +1,429 @@ +{ + "devices": { + "02cf28bfec924855854c544690a609ef": { + "available": true, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c4d2bda6df8146caa2e5c2b5dc65660e", + "model": "Plug", + "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" + }, + "21f2b542c49845e6bb416884c55778d6": { + "available": true, + "dev_class": "game_console", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "4efbab4c8bb84fbab26c8decf670eb96", + "model": "Plug", + "name": "Playstation Smart Plug", + "sensors": { + "electricity_consumed": 81.2, + "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" + }, + "4a810418d5394b3f82727340b91ba740": { + "available": true, + "dev_class": "router", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "0217e9743c174eef9d6e9f680d403ce2", + "model": "Plug", + "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", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "2b1591ecf6344d4d93b03dece9747648", + "model": "Plug", + "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, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "08963fec7c53423ca5680aa4cb502c63", + "model": "Tom/Floor", + "name": "Thermostatic Radiator Badkamer", + "sensors": { + "battery": 51, + "setpoint": 14.0, + "temperature": 19.1, + "temperature_difference": -0.3, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A17" + }, + "6a3bf693d05e48e0b460c815a4fdd09d": { + "active_preset": "asleep", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": "CV Jessie", + "location": "82fa13f017d240daa0d0ea1775420f24", + "mode": "auto", + "model": "Lisa", + "name": "Zone Thermostat Jessie", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "CV Jessie", + "sensors": { + "battery": 37, + "setpoint": 16.0, + "temperature": 17.1 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 16.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A03" + }, + "78d1126fc4c743db81b61c20e88342a7": { + "available": true, + "dev_class": "central_heating_pump", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Plug", + "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" + }, + "90986d591dcd426cae3ec3e8111ff730": { + "binary_sensors": { + "heating_state": false + }, + "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", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "cd143c07248f491493cea0533bc3d669", + "model": "Plug", + "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, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "12493538af164a409c6a1c79e38afe1c", + "model": "Tom/Floor", + "name": "Bios Cv Thermostatic Radiator ", + "sensors": { + "battery": 62, + "setpoint": 13.0, + "temperature": 17.1, + "temperature_difference": -0.1, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A09" + }, + "b310b72a0e354bfab43089919b9a88bf": { + "available": true, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "c50f167537524366a5af7aa3942feb1e", + "model": "Tom/Floor", + "name": "Floor kraan", + "sensors": { + "setpoint": 21.5, + "temperature": 26.2, + "temperature_difference": 3.7, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A02" + }, + "b59bcebaf94b499ea7d46e4a66fb62d8": { + "active_preset": "home", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-08-02T02:00:00+02:00", + "hardware": "255", + "last_used": "GF7 Woonkamer", + "location": "c50f167537524366a5af7aa3942feb1e", + "mode": "auto", + "model": "Lisa", + "name": "Zone Lisa WK", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "GF7 Woonkamer", + "sensors": { + "battery": 34, + "setpoint": 21.5, + "temperature": 21.1 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 21.5, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A07" + }, + "cd0ddb54ef694e11ac18ed1cbce5dbbd": { + "available": true, + "dev_class": "vcr", + "firmware": "2019-06-21T02:00:00+02:00", + "location": "e704bae65654496f9cade9c855decdfe", + "model": "Plug", + "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, + "dev_class": "thermo_sensor", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "location": "82fa13f017d240daa0d0ea1775420f24", + "model": "Tom/Floor", + "name": "Thermostatic Radiator Jessie", + "sensors": { + "battery": 62, + "setpoint": 16.0, + "temperature": 16.9, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A10" + }, + "df4a4a8169904cdb9c03d61a21f42140": { + "active_preset": "away", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer Schema", + "location": "12493538af164a409c6a1c79e38afe1c", + "mode": "heat", + "model": "Lisa", + "name": "Zone Lisa Bios", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 67, + "setpoint": 13.0, + "temperature": 16.5 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 13.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A06" + }, + "e7693eb9582644e5b865dba8d4447cf1": { + "active_preset": "no_frost", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "thermostatic_radiator_valve", + "firmware": "2019-03-27T01:00:00+01:00", + "hardware": "1", + "last_used": "Badkamer Schema", + "location": "446ac08dd04d4eff8ac57489757b7314", + "mode": "heat", + "model": "Tom/Floor", + "name": "CV Kraan Garage", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "battery": 68, + "setpoint": 5.5, + "temperature": 15.6, + "temperature_difference": 0.1, + "valve_position": 0.0 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 5.5, + "upper_bound": 100.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A11" + }, + "f1fee6043d3642a9b0a65297455f008e": { + "active_preset": "away", + "available": true, + "available_schedules": [ + "CV Roan", + "Bios Schema met Film Avond", + "GF7 Woonkamer", + "Badkamer Schema", + "CV Jessie" + ], + "dev_class": "zone_thermostat", + "firmware": "2016-10-27T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer Schema", + "location": "08963fec7c53423ca5680aa4cb502c63", + "mode": "auto", + "model": "Lisa", + "name": "Zone Thermostat Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Badkamer Schema", + "sensors": { + "battery": 92, + "setpoint": 14.0, + "temperature": 18.8 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 14.0, + "upper_bound": 99.9 + }, + "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", + "name": "Adam", + "regulation_mode": "heating", + "sensors": { + "outdoor_temperature": 7.69 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "fe799307f1624099878210aa0b9f1475", + "heater_id": "90986d591dcd426cae3ec3e8111ff730", + "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." + } + }, + "smile_name": "Adam" + } +} diff --git a/fixtures/adam_zone_per_device/notifications.json b/fixtures/adam_zone_per_device/notifications.json new file mode 100644 index 000000000..8749be4c3 --- /dev/null +++ b/fixtures/adam_zone_per_device/notifications.json @@ -0,0 +1,5 @@ +{ + "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." + } +} diff --git a/fixtures/anna_elga_2/all_data.json b/fixtures/anna_elga_2/all_data.json new file mode 100644 index 000000000..43a359d9c --- /dev/null +++ b/fixtures/anna_elga_2/all_data.json @@ -0,0 +1,89 @@ +{ + "devices": { + "573c152e7d4f4720878222bd75638f5b": { + "available": true, + "binary_sensors": { + "compressor_state": false, + "cooling_enabled": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "slave_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", + "name": "OpenTherm", + "sensors": { + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 14.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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Thermostat schedule", + "location": "d3ce834534114348be628b61b26d9220", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], + "selected_schedule": "Thermostat schedule", + "sensors": { + "cooling_activation_outdoor_temperature": 26.0, + "cooling_deactivation_threshold": 3.0, + "illuminance": 0.5, + "setpoint": 19.5, + "temperature": 20.9 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 13.0 + }, + "vendor": "Plugwise" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "fb49af122f6e4b0f91267e1cf7666d6f", + "heater_id": "573c152e7d4f4720878222bd75638f5b", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_elga_2/notifications.json b/fixtures/anna_elga_2/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_elga_2/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_elga_2_cooling/all_data.json b/fixtures/anna_elga_2_cooling/all_data.json new file mode 100644 index 000000000..5c81eaa94 --- /dev/null +++ b/fixtures/anna_elga_2_cooling/all_data.json @@ -0,0 +1,92 @@ +{ + "devices": { + "573c152e7d4f4720878222bd75638f5b": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": true, + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "slave_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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Thermostat schedule", + "location": "d3ce834534114348be628b61b26d9220", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], + "selected_schedule": "Thermostat schedule", + "sensors": { + "cooling_activation_outdoor_temperature": 26.0, + "cooling_deactivation_threshold": 3.0, + "illuminance": 0.5, + "setpoint_high": 23.0, + "setpoint_low": 19.0, + "temperature": 24.9 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 23.0, + "setpoint_low": 19.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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 31.0 + }, + "vendor": "Plugwise" + } + }, + "gateway": { + "cooling_present": true, + "gateway_id": "fb49af122f6e4b0f91267e1cf7666d6f", + "heater_id": "573c152e7d4f4720878222bd75638f5b", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_elga_2_cooling/notifications.json b/fixtures/anna_elga_2_cooling/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_elga_2_cooling/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_elga_2_schedule_off/all_data.json b/fixtures/anna_elga_2_schedule_off/all_data.json new file mode 100644 index 000000000..41ed3e56e --- /dev/null +++ b/fixtures/anna_elga_2_schedule_off/all_data.json @@ -0,0 +1,89 @@ +{ + "devices": { + "573c152e7d4f4720878222bd75638f5b": { + "available": true, + "binary_sensors": { + "compressor_state": false, + "cooling_enabled": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false, + "slave_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", + "name": "OpenTherm", + "sensors": { + "domestic_hot_water_setpoint": 60.0, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 14.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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Thermostat schedule", + "location": "d3ce834534114348be628b61b26d9220", + "mode": "heat", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], + "selected_schedule": "None", + "sensors": { + "cooling_activation_outdoor_temperature": 26.0, + "cooling_deactivation_threshold": 3.0, + "illuminance": 0.5, + "setpoint": 19.5, + "temperature": 20.9 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 13.0 + }, + "vendor": "Plugwise" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "fb49af122f6e4b0f91267e1cf7666d6f", + "heater_id": "573c152e7d4f4720878222bd75638f5b", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_elga_2_schedule_off/notifications.json b/fixtures/anna_elga_2_schedule_off/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_elga_2_schedule_off/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_heatpump_cooling/all_data.json b/fixtures/anna_heatpump_cooling/all_data.json new file mode 100644 index 000000000..ea2bdaa7e --- /dev/null +++ b/fixtures/anna_heatpump_cooling/all_data.json @@ -0,0 +1,93 @@ +{ + "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", + "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, + "slave_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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "standaard", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "mode": "heat_cool", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "selected_schedule": "None", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 6.0, + "illuminance": 25.5, + "setpoint_high": 22.0, + "setpoint_low": 4.0, + "temperature": 22.3 + }, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_heatpump_cooling/notifications.json b/fixtures/anna_heatpump_cooling/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_heatpump_cooling/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_heatpump_cooling_fake_firmware/all_data.json b/fixtures/anna_heatpump_cooling_fake_firmware/all_data.json new file mode 100644 index 000000000..8c70eb77c --- /dev/null +++ b/fixtures/anna_heatpump_cooling_fake_firmware/all_data.json @@ -0,0 +1,93 @@ +{ + "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", + "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, + "slave_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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "standaard", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "mode": "heat_cool", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "selected_schedule": "None", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 6.0, + "illuminance": 25.5, + "setpoint_high": 22.0, + "setpoint_low": 4.0, + "temperature": 22.3 + }, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_heatpump_cooling_fake_firmware/notifications.json b/fixtures/anna_heatpump_cooling_fake_firmware/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_heatpump_cooling_fake_firmware/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_heatpump_heating/all_data.json b/fixtures/anna_heatpump_heating/all_data.json new file mode 100644 index 000000000..52d76a5b4 --- /dev/null +++ b/fixtures/anna_heatpump_heating/all_data.json @@ -0,0 +1,90 @@ +{ + "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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 20.2 + }, + "vendor": "Plugwise" + }, + "1cbf783bb11e4a7c8a6843dee3a86927": { + "available": true, + "binary_sensors": { + "compressor_state": true, + "cooling_enabled": false, + "dhw_state": false, + "flame_state": false, + "heating_state": true, + "slave_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", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 46.3, + "domestic_hot_water_setpoint": 60.0, + "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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "standaard", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "selected_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint": 20.5, + "temperature": 19.3 + }, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_heatpump_heating/notifications.json b/fixtures/anna_heatpump_heating/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_heatpump_heating/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_loria_cooling_active/all_data.json b/fixtures/anna_loria_cooling_active/all_data.json new file mode 100644 index 000000000..1c27e8216 --- /dev/null +++ b/fixtures/anna_loria_cooling_active/all_data.json @@ -0,0 +1,95 @@ +{ + "devices": { + "582dfbdace4d4aeb832923ce7d1ddda0": { + "active_preset": "home", + "available_schedules": ["Winter", "Test "], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Winter", + "location": "15da035090b847e7a21f93e08c015ebc", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], + "selected_schedule": "Winter", + "sensors": { + "illuminance": 45.0, + "setpoint_high": 23.5, + "setpoint_low": 19.5, + "temperature": 24.1 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 23.5, + "setpoint_low": 19.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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 15.5 + }, + "vendor": "Plugwise" + }, + "bfb5ee0a88e14e5f97bfa725a760cc49": { + "available": true, + "binary_sensors": { + "cooling_state": true, + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "dhw_mode": "auto", + "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": "173", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 52.9, + "intended_boiler_temperature": 0.0, + "modulation_level": 100, + "outdoor_air_temperature": 17.3, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_loria_cooling_active/notifications.json b/fixtures/anna_loria_cooling_active/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_loria_cooling_active/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_loria_heating_idle/all_data.json b/fixtures/anna_loria_heating_idle/all_data.json new file mode 100644 index 000000000..09f25c157 --- /dev/null +++ b/fixtures/anna_loria_heating_idle/all_data.json @@ -0,0 +1,95 @@ +{ + "devices": { + "582dfbdace4d4aeb832923ce7d1ddda0": { + "active_preset": "home", + "available_schedules": ["Winter", "Test "], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Winter", + "location": "15da035090b847e7a21f93e08c015ebc", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], + "selected_schedule": "Winter", + "sensors": { + "illuminance": 45.0, + "setpoint_high": 25.5, + "setpoint_low": 20.5, + "temperature": 22.1 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 25.5, + "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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 15.5 + }, + "vendor": "Plugwise" + }, + "bfb5ee0a88e14e5f97bfa725a760cc49": { + "available": true, + "binary_sensors": { + "cooling_state": false, + "dhw_state": false, + "flame_state": false, + "heating_state": false + }, + "dev_class": "heater_central", + "dhw_mode": "auto", + "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": "173", + "name": "OpenTherm", + "sensors": { + "dhw_temperature": 52.9, + "intended_boiler_temperature": 0.0, + "modulation_level": 0.0, + "outdoor_air_temperature": 17.3, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_loria_heating_idle/notifications.json b/fixtures/anna_loria_heating_idle/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_loria_heating_idle/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_v4/all_data.json b/fixtures/anna_v4/all_data.json new file mode 100644 index 000000000..eeddef558 --- /dev/null +++ b/fixtures/anna_v4/all_data.json @@ -0,0 +1,88 @@ +{ + "devices": { + "01b85360fdd243d0aaad4d6ac2a5ba7e": { + "active_preset": "home", + "available_schedules": ["Standaard", "Thuiswerken"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Standaard", + "location": "eb5309212bf5407bb143e5bfa3b18aee", + "mode": "heat", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], + "selected_schedule": "None", + "sensors": { + "illuminance": 40.5, + "setpoint": 20.5, + "temperature": 20.5 + }, + "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", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 7.44 + }, + "vendor": "Plugwise" + }, + "cd0e6156b1f04d5f952349ffbe397481": { + "available": true, + "binary_sensors": { + "dhw_state": false, + "flame_state": true, + "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": "2.32", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 48.6, + "modulation_level": 0.0, + "return_temperature": 42.0, + "water_pressure": 2.1, + "water_temperature": 52.0 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Bosch Thermotechniek B.V." + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "0466eae8520144c78afb29628384edeb", + "heater_id": "cd0e6156b1f04d5f952349ffbe397481", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_v4/notifications.json b/fixtures/anna_v4/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_v4/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_v4_dhw/all_data.json b/fixtures/anna_v4_dhw/all_data.json new file mode 100644 index 000000000..3505a0aa5 --- /dev/null +++ b/fixtures/anna_v4_dhw/all_data.json @@ -0,0 +1,88 @@ +{ + "devices": { + "01b85360fdd243d0aaad4d6ac2a5ba7e": { + "active_preset": "home", + "available_schedules": ["Standaard", "Thuiswerken"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Standaard", + "location": "eb5309212bf5407bb143e5bfa3b18aee", + "mode": "heat", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], + "selected_schedule": "None", + "sensors": { + "illuminance": 40.5, + "setpoint": 20.5, + "temperature": 20.5 + }, + "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", + "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": "2.32", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 48.6, + "modulation_level": 0.0, + "return_temperature": 42.0, + "water_pressure": 2.1, + "water_temperature": 52.0 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Bosch Thermotechniek B.V." + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "0466eae8520144c78afb29628384edeb", + "heater_id": "cd0e6156b1f04d5f952349ffbe397481", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_v4_dhw/notifications.json b/fixtures/anna_v4_dhw/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_v4_dhw/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_v4_no_tag/all_data.json b/fixtures/anna_v4_no_tag/all_data.json new file mode 100644 index 000000000..05e639d1a --- /dev/null +++ b/fixtures/anna_v4_no_tag/all_data.json @@ -0,0 +1,88 @@ +{ + "devices": { + "01b85360fdd243d0aaad4d6ac2a5ba7e": { + "active_preset": "home", + "available_schedules": ["Standaard", "Thuiswerken"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Thuiswerken", + "location": "eb5309212bf5407bb143e5bfa3b18aee", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], + "selected_schedule": "Thuiswerken", + "sensors": { + "illuminance": 40.5, + "setpoint": 20.5, + "temperature": 20.5 + }, + "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", + "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": "2.32", + "name": "OpenTherm", + "sensors": { + "intended_boiler_temperature": 48.6, + "modulation_level": 0.0, + "return_temperature": 42.0, + "water_pressure": 2.1, + "water_temperature": 52.0 + }, + "switches": { + "dhw_cm_switch": false + }, + "vendor": "Bosch Thermotechniek B.V." + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "0466eae8520144c78afb29628384edeb", + "heater_id": "cd0e6156b1f04d5f952349ffbe397481", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_v4_no_tag/notifications.json b/fixtures/anna_v4_no_tag/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_v4_no_tag/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_without_boiler_fw3/all_data.json b/fixtures/anna_without_boiler_fw3/all_data.json new file mode 100644 index 000000000..2e054e1f4 --- /dev/null +++ b/fixtures/anna_without_boiler_fw3/all_data.json @@ -0,0 +1,62 @@ +{ + "devices": { + "7ffbb3ab4b6c4ab2915d7510f7bf8fe9": { + "active_preset": "away", + "available_schedules": ["Test", "Normal"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Normal", + "location": "c34c6864216446528e95d88985e714cc", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "asleep", "away", "home"], + "selected_schedule": "Normal", + "sensors": { + "illuminance": 35.0, + "setpoint": 16.0, + "temperature": 20.6 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 16.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "a270735e4ccd45239424badc0578a2b1": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.1.11", + "hardware": "AME Smile 2.0 board", + "location": "0f4f2ada20734a339fe353348fe87b96", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 10.8 + }, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_without_boiler_fw3/notifications.json b/fixtures/anna_without_boiler_fw3/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_without_boiler_fw3/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_without_boiler_fw4/all_data.json b/fixtures/anna_without_boiler_fw4/all_data.json new file mode 100644 index 000000000..cb3d3dd51 --- /dev/null +++ b/fixtures/anna_without_boiler_fw4/all_data.json @@ -0,0 +1,62 @@ +{ + "devices": { + "7ffbb3ab4b6c4ab2915d7510f7bf8fe9": { + "active_preset": "home", + "available_schedules": ["Normal"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Normal", + "location": "c34c6864216446528e95d88985e714cc", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "no_frost", "asleep", "away", "home"], + "selected_schedule": "Normal", + "sensors": { + "illuminance": 44.8, + "setpoint": 21.0, + "temperature": 20.4 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 21.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "a270735e4ccd45239424badc0578a2b1": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.0.15", + "hardware": "AME Smile 2.0 board", + "location": "0f4f2ada20734a339fe353348fe87b96", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 16.6 + }, + "vendor": "Plugwise" + }, + "c46b4794d28149699eacf053deedd003": { + "binary_sensors": { + "heating_state": true + }, + "dev_class": "heater_central", + "location": "0f4f2ada20734a339fe353348fe87b96", + "model": "Unknown", + "name": "OnOff" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "a270735e4ccd45239424badc0578a2b1", + "heater_id": "c46b4794d28149699eacf053deedd003", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_without_boiler_fw4/notifications.json b/fixtures/anna_without_boiler_fw4/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_without_boiler_fw4/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/anna_without_boiler_fw42/all_data.json b/fixtures/anna_without_boiler_fw42/all_data.json new file mode 100644 index 000000000..1cb4920e2 --- /dev/null +++ b/fixtures/anna_without_boiler_fw42/all_data.json @@ -0,0 +1,62 @@ +{ + "devices": { + "7ffbb3ab4b6c4ab2915d7510f7bf8fe9": { + "active_preset": "home", + "available_schedules": ["Test", "Normal"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "Test", + "location": "c34c6864216446528e95d88985e714cc", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "asleep", "away", "home", "vacation"], + "selected_schedule": "Test", + "sensors": { + "illuminance": 0.25, + "setpoint": 21.0, + "temperature": 20.6 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint": 21.0, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + }, + "a270735e4ccd45239424badc0578a2b1": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.2.1", + "hardware": "AME Smile 2.0 board", + "location": "0f4f2ada20734a339fe353348fe87b96", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile Anna", + "sensors": { + "outdoor_temperature": 3.56 + }, + "vendor": "Plugwise" + }, + "c46b4794d28149699eacf053deedd003": { + "binary_sensors": { + "heating_state": true + }, + "dev_class": "heater_central", + "location": "0f4f2ada20734a339fe353348fe87b96", + "model": "Unknown", + "name": "OnOff" + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "a270735e4ccd45239424badc0578a2b1", + "heater_id": "c46b4794d28149699eacf053deedd003", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/anna_without_boiler_fw42/notifications.json b/fixtures/anna_without_boiler_fw42/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/anna_without_boiler_fw42/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/legacy_anna/all_data.json b/fixtures/legacy_anna/all_data.json new file mode 100644 index 000000000..29ec60581 --- /dev/null +++ b/fixtures/legacy_anna/all_data.json @@ -0,0 +1,74 @@ +{ + "devices": { + "0000aaaa0000aaaa0000aaaa0000aa00": { + "binary_sensors": { + "plugwise_notification": false + }, + "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": "4.21", + "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", + "available_schedules": ["Thermostat schedule"], + "dev_class": "thermostat", + "firmware": "2017-03-13T11:54:58+01:00", + "hardware": "6539-1301-500", + "last_used": "Thermostat schedule", + "location": "0000aaaa0000aaaa0000aaaa0000aa00", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["away", "vacation", "asleep", "home", "no_frost"], + "selected_schedule": "Thermostat schedule", + "sensors": { + "illuminance": 151, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/legacy_anna/notifications.json b/fixtures/legacy_anna/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/legacy_anna/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/legacy_anna_2/all_data.json b/fixtures/legacy_anna_2/all_data.json new file mode 100644 index 000000000..c6dbbf36a --- /dev/null +++ b/fixtures/legacy_anna_2/all_data.json @@ -0,0 +1,76 @@ +{ + "devices": { + "9e7377867dc24e51b8098a5ba02bd89d": { + "active_preset": null, + "available_schedules": ["Thermostat schedule"], + "dev_class": "thermostat", + "firmware": "2017-03-13T11:54:58+01:00", + "hardware": "6539-1301-5002", + "last_used": "Thermostat schedule", + "location": "be81e3f8275b4129852c4d8d550ae2eb", + "mode": "heat", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["vacation", "away", "no_frost", "home", "asleep"], + "selected_schedule": "None", + "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": { + "binary_sensors": { + "plugwise_notification": false + }, + "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", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/legacy_anna_2/notifications.json b/fixtures/legacy_anna_2/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/legacy_anna_2/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/m_adam_cooling/all_data.json b/fixtures/m_adam_cooling/all_data.json new file mode 100644 index 000000000..4f7de13d9 --- /dev/null +++ b/fixtures/m_adam_cooling/all_data.json @@ -0,0 +1,149 @@ +{ + "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": 60.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, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "temperature": 21.6, + "temperature_difference": 2.3, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "active_preset": "asleep", + "available": true, + "available_schedules": ["Weekschema", "Badkamer", "Test"], + "control_state": "cooling", + "dev_class": "thermostat", + "last_used": "Weekschema", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "mode": "heat_cool", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "setpoint_high": 23.5, + "setpoint_low": 4.0, + "temperature": 25.8 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint_high": 23.5, + "setpoint_low": 4.0, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.6.4", + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "cooling", + "regulation_modes": [ + "heating", + "off", + "bleeding_cold", + "bleeding_hot", + "cooling" + ], + "sensors": { + "outdoor_temperature": 29.65 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "active_preset": "home", + "available": true, + "available_schedules": ["Weekschema", "Badkamer", "Test"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer", + "location": "f871b8c4d63549319221e294e4f88074", + "mode": "auto", + "model": "Lisa", + "name": "Lisa Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Badkamer", + "sensors": { + "battery": 56, + "setpoint_high": 23.5, + "setpoint_low": 20.0, + "temperature": 239 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint_high": 25.0, + "setpoint_low": 19.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + } + } + }, + "gateway": { + "cooling_present": true, + "gateway_id": "da224107914542988a88561b4452b0f6", + "heater_id": "056ee145a816487eaa69243c3280f8bf", + "notifications": {}, + "smile_name": "Adam" + } +} diff --git a/fixtures/m_adam_cooling/notifications.json b/fixtures/m_adam_cooling/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/m_adam_cooling/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/m_adam_heating/all_data.json b/fixtures/m_adam_heating/all_data.json new file mode 100644 index 000000000..3afb112fb --- /dev/null +++ b/fixtures/m_adam_heating/all_data.json @@ -0,0 +1,144 @@ +{ + "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": 60.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, + "dev_class": "thermo_sensor", + "firmware": "2020-11-04T01:00:00+01:00", + "hardware": "1", + "location": "f871b8c4d63549319221e294e4f88074", + "model": "Tom/Floor", + "name": "Tom Badkamer", + "sensors": { + "battery": 99, + "temperature": 18.6, + "temperature_difference": 2.3, + "valve_position": 0.0 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A01" + }, + "ad4838d7d35c4d6ea796ee12ae5aedf8": { + "active_preset": "asleep", + "available": true, + "available_schedules": ["Weekschema", "Badkamer", "Test"], + "control_state": "heating", + "dev_class": "thermostat", + "last_used": "Weekschema", + "location": "f2bf9048bef64cc5b6d5110154e33c81", + "mode": "heat", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "None", + "sensors": { + "setpoint": 20.0, + "temperature": 19.1 + }, + "thermostat": { + "lower_bound": 1.0, + "resolution": 0.01, + "setpoint": 20.0, + "upper_bound": 35.0 + }, + "vendor": "Plugwise" + }, + "da224107914542988a88561b4452b0f6": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.6.4", + "hardware": "AME Smile 2.0 board", + "location": "bc93488efab249e5bc54fd7e175a6f91", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Adam", + "regulation_mode": "heating", + "regulation_modes": ["heating", "off", "bleeding_cold", "bleeding_hot"], + "sensors": { + "outdoor_temperature": -1.25 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670101" + }, + "e2f4322d57924fa090fbbc48b3a140dc": { + "active_preset": "home", + "available": true, + "available_schedules": ["Weekschema", "Badkamer", "Test"], + "control_state": "off", + "dev_class": "zone_thermostat", + "firmware": "2016-10-10T02:00:00+02:00", + "hardware": "255", + "last_used": "Badkamer", + "location": "f871b8c4d63549319221e294e4f88074", + "mode": "auto", + "model": "Lisa", + "name": "Lisa Badkamer", + "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], + "selected_schedule": "Badkamer", + "sensors": { + "battery": 56, + "setpoint": 15.0, + "temperature": 17.9 + }, + "thermostat": { + "lower_bound": 0.0, + "resolution": 0.01, + "setpoint": 15.0, + "upper_bound": 99.9 + }, + "vendor": "Plugwise", + "zigbee_mac_address": "ABCD012345670A04" + }, + "e8ef2a01ed3b4139a53bf749204fe6b4": { + "dev_class": "switching", + "members": [ + "2568cc4b9c1e401495d4741a5f89bee1", + "29542b2b6a6a4169acecc15c72a599b8" + ], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + } + } + }, + "gateway": { + "cooling_present": false, + "gateway_id": "da224107914542988a88561b4452b0f6", + "heater_id": "056ee145a816487eaa69243c3280f8bf", + "notifications": {}, + "smile_name": "Adam" + } +} diff --git a/fixtures/m_adam_heating/notifications.json b/fixtures/m_adam_heating/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/m_adam_heating/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/m_anna_heatpump_cooling/all_data.json b/fixtures/m_anna_heatpump_cooling/all_data.json new file mode 100644 index 000000000..52cd5d381 --- /dev/null +++ b/fixtures/m_anna_heatpump_cooling/all_data.json @@ -0,0 +1,93 @@ +{ + "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", + "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, + "slave_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": 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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "standaard", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "selected_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 21.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint_high": 24.0, + "setpoint_low": 20.5, + "temperature": 26.3 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 24.0, + "setpoint_low": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } + }, + "gateway": { + "cooling_present": true, + "gateway_id": "015ae9ea3f964e668e490fa39da3870b", + "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/m_anna_heatpump_cooling/notifications.json b/fixtures/m_anna_heatpump_cooling/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/m_anna_heatpump_cooling/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/m_anna_heatpump_idle/all_data.json b/fixtures/m_anna_heatpump_idle/all_data.json new file mode 100644 index 000000000..e9d9d70d3 --- /dev/null +++ b/fixtures/m_anna_heatpump_idle/all_data.json @@ -0,0 +1,93 @@ +{ + "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", + "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, + "slave_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": 46.3, + "domestic_hot_water_setpoint": 60.0, + "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"], + "dev_class": "thermostat", + "firmware": "2018-02-08T11:15:53+01:00", + "hardware": "6539-1301-5002", + "last_used": "standaard", + "location": "c784ee9fdab44e1395b8dee7d7a497d5", + "mode": "auto", + "model": "ThermoTouch", + "name": "Anna", + "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], + "selected_schedule": "standaard", + "sensors": { + "cooling_activation_outdoor_temperature": 25.0, + "cooling_deactivation_threshold": 4.0, + "illuminance": 86.0, + "setpoint_high": 24.0, + "setpoint_low": 20.5, + "temperature": 23.0 + }, + "thermostat": { + "lower_bound": 4.0, + "resolution": 0.1, + "setpoint_high": 24.0, + "setpoint_low": 20.5, + "upper_bound": 30.0 + }, + "vendor": "Plugwise" + } + }, + "gateway": { + "cooling_present": true, + "gateway_id": "015ae9ea3f964e668e490fa39da3870b", + "heater_id": "1cbf783bb11e4a7c8a6843dee3a86927", + "notifications": {}, + "smile_name": "Smile Anna" + } +} diff --git a/fixtures/m_anna_heatpump_idle/notifications.json b/fixtures/m_anna_heatpump_idle/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/m_anna_heatpump_idle/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/p1v3/all_data.json b/fixtures/p1v3/all_data.json new file mode 100644 index 000000000..9bf72e0e3 --- /dev/null +++ b/fixtures/p1v3/all_data.json @@ -0,0 +1,44 @@ +{ + "devices": { + "a455b61e52394b2db5081ce025a430f3": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.3.6", + "hardware": "AME Smile 2.0 board", + "location": "a455b61e52394b2db5081ce025a430f3", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile P1", + "vendor": "Plugwise" + }, + "ba4de7613517478da82dd9b6abea36af": { + "available": true, + "dev_class": "smartmeter", + "location": "a455b61e52394b2db5081ce025a430f3", + "model": "KFM5KAIFA-METER", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 10263.159, + "electricity_consumed_off_peak_point": 0, + "electricity_consumed_peak_cumulative": 7702.167, + "electricity_consumed_peak_interval": 179, + "electricity_consumed_peak_point": 636, + "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, + "net_electricity_cumulative": 17965.326, + "net_electricity_point": 636 + }, + "vendor": "SHENZHEN KAIFA TECHNOLOGY CHENGDU CO." + } + }, + "gateway": { + "gateway_id": "a455b61e52394b2db5081ce025a430f3", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/p1v3/notifications.json b/fixtures/p1v3/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/p1v3/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/p1v3_full_option/all_data.json b/fixtures/p1v3_full_option/all_data.json new file mode 100644 index 000000000..0e0b3c51a --- /dev/null +++ b/fixtures/p1v3_full_option/all_data.json @@ -0,0 +1,48 @@ +{ + "devices": { + "cd3e822288064775a7c4afcdd70bdda2": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.3.9", + "hardware": "AME Smile 2.0 board", + "location": "cd3e822288064775a7c4afcdd70bdda2", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile P1", + "vendor": "Plugwise" + }, + "e950c7d5e1ee407a858e2a8b5016c8b3": { + "available": true, + "dev_class": "smartmeter", + "location": "cd3e822288064775a7c4afcdd70bdda2", + "model": "2M550E-1012", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 551.09, + "electricity_consumed_off_peak_interval": 0, + "electricity_consumed_off_peak_point": 0, + "electricity_consumed_peak_cumulative": 442.932, + "electricity_consumed_peak_interval": 0, + "electricity_consumed_peak_point": 0, + "electricity_produced_off_peak_cumulative": 154.491, + "electricity_produced_off_peak_interval": 0, + "electricity_produced_off_peak_point": 0, + "electricity_produced_peak_cumulative": 396.559, + "electricity_produced_peak_interval": 0, + "electricity_produced_peak_point": 2816, + "gas_consumed_cumulative": 584.85, + "gas_consumed_interval": 0.0, + "net_electricity_cumulative": 442.972, + "net_electricity_point": -2816 + }, + "vendor": "ISKRAEMECO" + } + }, + "gateway": { + "gateway_id": "cd3e822288064775a7c4afcdd70bdda2", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/p1v3_full_option/notifications.json b/fixtures/p1v3_full_option/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/p1v3_full_option/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/p1v3solarfake/all_data.json b/fixtures/p1v3solarfake/all_data.json new file mode 100644 index 000000000..c63100f46 --- /dev/null +++ b/fixtures/p1v3solarfake/all_data.json @@ -0,0 +1,44 @@ +{ + "devices": { + "a455b61e52394b2db5081ce025a430f3": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "3.3.6", + "hardware": "AME Smile 2.0 board", + "location": "a455b61e52394b2db5081ce025a430f3", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile P1", + "vendor": "Plugwise" + }, + "ba4de7613517478da82dd9b6abea36af": { + "available": true, + "dev_class": "smartmeter", + "location": "a455b61e52394b2db5081ce025a430f3", + "model": "KFM5KAIFA-METER", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 10263.159, + "electricity_consumed_off_peak_point": 0, + "electricity_consumed_peak_cumulative": 7702.167, + "electricity_consumed_peak_interval": 179, + "electricity_consumed_peak_point": 636, + "electricity_produced_off_peak_cumulative": 3.0, + "electricity_produced_off_peak_interval": 20, + "electricity_produced_off_peak_point": 0, + "electricity_produced_peak_cumulative": 20.0, + "electricity_produced_peak_interval": 0, + "net_electricity_cumulative": 17942.326, + "net_electricity_point": 636 + }, + "vendor": "SHENZHEN KAIFA TECHNOLOGY CHENGDU CO." + } + }, + "gateway": { + "gateway_id": "a455b61e52394b2db5081ce025a430f3", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/p1v3solarfake/notifications.json b/fixtures/p1v3solarfake/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/p1v3solarfake/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/p1v4/all_data.json b/fixtures/p1v4/all_data.json new file mode 100644 index 000000000..a813743fd --- /dev/null +++ b/fixtures/p1v4/all_data.json @@ -0,0 +1,50 @@ +{ + "devices": { + "a455b61e52394b2db5081ce025a430f3": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.1.1", + "hardware": "AME Smile 2.0 board", + "location": "a455b61e52394b2db5081ce025a430f3", + "mac_address": "012345670001", + "model": "Gateway", + "name": "Smile P1", + "vendor": "Plugwise" + }, + "ba4de7613517478da82dd9b6abea36af": { + "available": false, + "dev_class": "smartmeter", + "location": "a455b61e52394b2db5081ce025a430f3", + "model": "KFM5KAIFA-METER", + "name": "P1", + "sensors": { + "electricity_consumed_off_peak_cumulative": 11915.899, + "electricity_consumed_off_peak_interval": 0, + "electricity_consumed_off_peak_point": 0, + "electricity_consumed_peak_cumulative": 9067.554, + "electricity_consumed_peak_interval": 335, + "electricity_consumed_peak_point": 548, + "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": 20983.453, + "net_electricity_point": 548 + }, + "vendor": "SHENZHEN KAIFA TECHNOLOGY CHENGDU CO." + } + }, + "gateway": { + "gateway_id": "a455b61e52394b2db5081ce025a430f3", + "notifications": { + "97a04c0c263049b29350a660b4cdd01e": { + "warning": "The Smile P1 does not seem to be connected to a smart meter." + } + }, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/p1v4/notifications.json b/fixtures/p1v4/notifications.json new file mode 100644 index 000000000..f232f8266 --- /dev/null +++ b/fixtures/p1v4/notifications.json @@ -0,0 +1,5 @@ +{ + "97a04c0c263049b29350a660b4cdd01e": { + "warning": "The Smile P1 does not seem to be connected to a smart meter." + } +} diff --git a/fixtures/p1v4_442_single/all_data.json b/fixtures/p1v4_442_single/all_data.json new file mode 100644 index 000000000..194412ea4 --- /dev/null +++ b/fixtures/p1v4_442_single/all_data.json @@ -0,0 +1,48 @@ +{ + "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", + "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.505, + "electricity_consumed_off_peak_interval": 21, + "electricity_consumed_off_peak_point": 421, + "electricity_consumed_peak_cumulative": 13966.608, + "electricity_consumed_peak_interval": 0, + "electricity_consumed_peak_point": 0, + "electricity_phase_one_consumed": 413, + "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.113, + "net_electricity_point": 421 + }, + "vendor": "SHENZHEN KAIFA TECHNOLOGY \uff08CHENGDU\uff09 CO., LTD." + } + }, + "gateway": { + "gateway_id": "a455b61e52394b2db5081ce025a430f3", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/p1v4_442_single/notifications.json b/fixtures/p1v4_442_single/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/p1v4_442_single/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/p1v4_442_triple/all_data.json b/fixtures/p1v4_442_triple/all_data.json new file mode 100644 index 000000000..e9a3b4c68 --- /dev/null +++ b/fixtures/p1v4_442_triple/all_data.json @@ -0,0 +1,57 @@ +{ + "devices": { + "03e65b16e4b247a29ae0d75a78cb492e": { + "binary_sensors": { + "plugwise_notification": false + }, + "dev_class": "gateway", + "firmware": "4.4.2", + "hardware": "AME Smile 2.0 board", + "location": "03e65b16e4b247a29ae0d75a78cb492e", + "mac_address": "012345670001", + "model": "Gateway", + "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", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/p1v4_442_triple/notifications.json b/fixtures/p1v4_442_triple/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/p1v4_442_triple/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/smile_p1_v2/all_data.json b/fixtures/smile_p1_v2/all_data.json new file mode 100644 index 000000000..d4c602bb5 --- /dev/null +++ b/fixtures/smile_p1_v2/all_data.json @@ -0,0 +1,41 @@ +{ + "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", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/smile_p1_v2/notifications.json b/fixtures/smile_p1_v2/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/smile_p1_v2/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/smile_p1_v2_2/all_data.json b/fixtures/smile_p1_v2_2/all_data.json new file mode 100644 index 000000000..b604aa69c --- /dev/null +++ b/fixtures/smile_p1_v2_2/all_data.json @@ -0,0 +1,41 @@ +{ + "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", + "notifications": {}, + "smile_name": "Smile P1" + } +} diff --git a/fixtures/smile_p1_v2_2/notifications.json b/fixtures/smile_p1_v2_2/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/smile_p1_v2_2/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/stretch_v23/all_data.json b/fixtures/stretch_v23/all_data.json new file mode 100644 index 000000000..857b3f34e --- /dev/null +++ b/fixtures/stretch_v23/all_data.json @@ -0,0 +1,340 @@ +{ + "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 + } + }, + "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" + } + }, + "gateway": { + "gateway_id": "0000aaaa0000aaaa0000aaaa0000aa00", + "notifications": {}, + "smile_name": "Stretch" + } +} diff --git a/fixtures/stretch_v23/notifications.json b/fixtures/stretch_v23/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/stretch_v23/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/stretch_v27_no_domain/all_data.json b/fixtures/stretch_v27_no_domain/all_data.json new file mode 100644 index 000000000..c8c7b0179 --- /dev/null +++ b/fixtures/stretch_v27_no_domain/all_data.json @@ -0,0 +1,279 @@ +{ + "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", + "notifications": {}, + "smile_name": "Stretch" + } +} diff --git a/fixtures/stretch_v27_no_domain/notifications.json b/fixtures/stretch_v27_no_domain/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/stretch_v27_no_domain/notifications.json @@ -0,0 +1 @@ +{} diff --git a/fixtures/stretch_v31/all_data.json b/fixtures/stretch_v31/all_data.json new file mode 100644 index 000000000..c336a9cb9 --- /dev/null +++ b/fixtures/stretch_v31/all_data.json @@ -0,0 +1,150 @@ +{ + "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": false, + "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" + }, + "71e1944f2a944b26ad73323e399efef0": { + "dev_class": "switching", + "members": ["5ca521ac179d468e91d772eeeb8a2117"], + "model": "Switchgroup", + "name": "Test", + "switches": { + "relay": true + } + }, + "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 + } + }, + "d950b314e9d8499f968e6db8d82ef78c": { + "dev_class": "report", + "members": [ + "059e4d03c7a34d278add5c7a4a781d19", + "5871317346d045bc9f6b987ef25ee638", + "aac7b735042c4832ac9ff33aae4f453b", + "cfe95cf3de1948c0b8955125bf754614", + "e1c884e7dede431dadee09506ec4f859" + ], + "model": "Switchgroup", + "name": "Stroomvreters", + "switches": { + "relay": true + } + }, + "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", + "notifications": {}, + "smile_name": "Stretch" + } +} diff --git a/fixtures/stretch_v31/notifications.json b/fixtures/stretch_v31/notifications.json new file mode 100644 index 000000000..0967ef424 --- /dev/null +++ b/fixtures/stretch_v31/notifications.json @@ -0,0 +1 @@ +{} diff --git a/scripts/fake_fixtures.py b/scripts/manual_fixtures.py similarity index 79% rename from scripts/fake_fixtures.py rename to scripts/manual_fixtures.py index c6013dfd0..7b58c07e9 100755 --- a/scripts/fake_fixtures.py +++ b/scripts/manual_fixtures.py @@ -1,16 +1,45 @@ #!/usr/bin/env python3 -"""Generate fake fixtures from existing fixtures.""" +"""Generate manual fixtures from existing fixtures.""" import json import os + +def json_writer(manual_name: str, all_data: dict, notifications: dict): + """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" + data = json.dumps( + all_data, + indent=2, + separators=(",", ": "), + sort_keys=True, + default=lambda x: list(x) if isinstance(x, set) else x, + ) + with open(outfile, "w") as f: + f.write(data + "\n") + + outfile = f"./fixtures/{manual_name}/notifications.json" + data = json.dumps( + notifications, + indent=2, + separators=(",", ": "), + sort_keys=True, + default=lambda x: list(x) if isinstance(x, set) else x, + ) + with open(outfile, "w") as f: + f.write(data + "\n") + + print("... Crafting m_* fixtures from userdata ...") # noqa: T201 ### ADAM -base_adam_fake = "adam_plus_anna_new" -basefile = f"./fixtures/{base_adam_fake}/all_data.json" -basefile_n = f"./fixtures/{base_adam_fake}/notifications.json" +base_adam_manual = "adam_plus_anna_new" +basefile = f"./fixtures/{base_adam_manual}/all_data.json" +basefile_n = f"./fixtures/{base_adam_manual}/notifications.json" io = open(basefile) base = json.load(io) @@ -125,31 +154,7 @@ "intended_boiler_temperature" ] = 17.5 -fake_name = "m_adam_cooling" - -if not os.path.exists(f"./fixtures/{fake_name}"): - os.makedirs(f"./fixtures/{fake_name}") - -outfile = f"./fixtures/{fake_name}/all_data.json" -data = json.dumps( - m_adam_cooling, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) - -outfile = f"./fixtures/{fake_name}/notifications.json" -data = json.dumps( - base_n, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) - +json_writer("m_adam_cooling", m_adam_cooling, base_n) ### FROM ABOVE @@ -250,36 +255,13 @@ "resolution": 0.01, } -fake_name = "m_adam_heating" - -if not os.path.exists(f"./fixtures/{fake_name}"): - os.makedirs(f"./fixtures/{fake_name}") - -outfile = f"./fixtures/{fake_name}/all_data.json" -data = json.dumps( - m_adam_heating, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) - -outfile = f"./fixtures/{fake_name}/notifications.json" -data = json.dumps( - base_n, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) +json_writer("m_adam_heating", m_adam_heating, base_n) ### ANNA -base_anna_fake = "anna_heatpump_heating" -basefile = f"./fixtures/{base_anna_fake}/all_data.json" -basefile_n = f"./fixtures/{base_anna_fake}/notifications.json" +base_anna_manual = "anna_heatpump_heating" +basefile = f"./fixtures/{base_anna_manual}/all_data.json" +basefile_n = f"./fixtures/{base_anna_manual}/notifications.json" io = open(basefile) base = json.load(io) @@ -355,31 +337,7 @@ "setpoint_high" ] = 24.0 -fake_name = "m_anna_heatpump_cooling" - -if not os.path.exists(f"./fixtures/{fake_name}"): - os.makedirs(f"./fixtures/{fake_name}") - -outfile = f"./fixtures/{fake_name}/all_data.json" -data = json.dumps( - m_anna_heatpump_cooling, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) - -outfile = f"./fixtures/{fake_name}/notifications.json" -data = json.dumps( - base_n, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) - +json_writer("m_anna_heatpump_cooling", m_anna_heatpump_cooling, base_n) ### FROM ABOVE @@ -422,27 +380,4 @@ "cooling_activation_outdoor_temperature" ] = 25.0 -fake_name = "m_anna_heatpump_idle" - -if not os.path.exists(f"./fixtures/{fake_name}"): - os.makedirs(f"./fixtures/{fake_name}") - -outfile = f"./fixtures/{fake_name}/all_data.json" -data = json.dumps( - m_anna_heatpump_idle, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) - -outfile = f"./fixtures/{fake_name}/notifications.json" -data = json.dumps( - base_n, - indent=2, - sort_keys=True, - default=lambda x: list(x) if isinstance(x, set) else x, -) -with open(outfile, "w") as f: - f.write(data) +json_writer("m_anna_heatpump_idle", m_anna_heatpump_idle, base_n) diff --git a/scripts/tests_and_coverage.sh b/scripts/tests_and_coverage.sh index e995d2257..afa039b53 100755 --- a/scripts/tests_and_coverage.sh +++ b/scripts/tests_and_coverage.sh @@ -38,7 +38,12 @@ if [ -z "${GITHUB_ACTIONS}" ] || [ "$1" == "linting" ] ; then pylint plugwise/ tests/ fi +# As to not generated fixtures, leaving prettier to re-do them +# so no auto-generation during github run of testing +# Creating todo #313 to 'gracefully' do this on merge on github action if [ -z "${GITHUB_ACTIONS}" ] || [ "$1" == "fixtures" ] ; then - echo "... crafting fake_fixtures ..." - PYTHONPATH=$(pwd) python3 scripts/fake_fixtures.py + echo "... crafting manual fixtures ..." + PYTHONPATH=$(pwd) python3 scripts/manual_fixtures.py +else + pre-commit run --hook-stage commit prettier --all-files || git add fixtures/ fi diff --git a/scripts/update_fixtures.sh b/scripts/update_fixtures.sh index e2355f29a..1b773b120 100755 --- a/scripts/update_fixtures.sh +++ b/scripts/update_fixtures.sh @@ -4,14 +4,19 @@ set -eu # Fixtures consumed by plugwise-beta test_fixtures="adam_multiple_devices_per_zone m_adam_cooling m_anna_heatpump_cooling p1v3_full_option stretch_v31 anna_heatpump_heating m_adam_heating m_anna_heatpump_idle p1v4_442_triple" +target="../plugwise-beta" +if [ $# -eq 1 ]; then + target="${1}" +fi + # If plugwise-beta is relative to this repository, check if files differ and update accordingly -if [ -d ../plugwise-beta ]; then +if [ -d "${target}" ]; then for fixture in ${test_fixtures}; do echo "Checking fixture ${fixture}: " - diff -qr "fixtures/${fixture}" "../plugwise-beta/tests/components/plugwise/fixtures/${fixture}" > /dev/null && continue - echo " - Out-of-date ... updating fixture in plugwise-beta" - if [ -d "../plugwise-beta/tests/components/plugwise/fixtures/${fixture}" ]; then - cp -pfr fixtures/"${fixture}"/* ../plugwise-beta/tests/components/plugwise/fixtures/"${fixture}"/ + diff -qr "fixtures/${fixture}" "${target}/tests/components/plugwise/fixtures/${fixture}" > /dev/null && continue + echo " - Out-of-date ... updating fixture in ${target}" + if [ -d "${target}/tests/components/plugwise/fixtures/${fixture}" ]; then + cp -pfr fixtures/"${fixture}"/* "${target}"/tests/components/plugwise/fixtures/"${fixture}"/ fi done fi diff --git a/tests/test_smile.py b/tests/test_smile.py index fca25ccf3..3c957d2b2 100644 --- a/tests/test_smile.py +++ b/tests/test_smile.py @@ -54,9 +54,11 @@ def _write_json(self, call, data): json.dumps( data, indent=2, + separators=(",", ": "), sort_keys=True, default=lambda x: list(x) if isinstance(x, set) else x, ) + + "\n" ) async def setup_app(