diff --git a/fixtures/adam_heatpump_cooling/data.json b/fixtures/adam_heatpump_cooling/data.json index 71bfad7e2..ce4bcc63b 100644 --- a/fixtures/adam_heatpump_cooling/data.json +++ b/fixtures/adam_heatpump_cooling/data.json @@ -58,6 +58,7 @@ }, "model": "Generic heater/cooler", "model_id": "17.1", + "module_id": "1ad05e10747b4e40ba2ba82f2872d1c1", "name": "OpenTherm", "sensors": { "dhw_temperature": 63.5, @@ -84,6 +85,7 @@ "location": "b52908550469425b812c87f766fe5303", "model": "Lisa", "model_id": "158-01", + "module_id": "1f0d0e98291145afa4da4432f76a7bd2", "name": "Thermostaat BK", "sensors": { "battery": 55, @@ -106,6 +108,7 @@ "location": "20e735858f8146cead98b873177a4f99", "model": "Plug", "model_id": "160-01", + "module_id": "0a00ddca4e9543c69c6648e5488590dd", "name": "Smart Plug DB", "sensors": { "electricity_consumed": 0.0, @@ -160,6 +163,7 @@ "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", "model": "Plug", "model_id": "160-01", + "module_id": "3fa224c4c39f458583b2dab4515210bf", "name": "Smart Plug KK", "sensors": { "electricity_consumed": 2.13, @@ -180,6 +184,7 @@ "location": "04b15f6e884448288f811d29fb7b1b30", "model": "Plug", "model_id": "160-01", + "module_id": "483836101eb141e2b04045eedc3716ff", "name": "Smart Plug SJ", "sensors": { "electricity_consumed": 0.0, @@ -200,6 +205,7 @@ "location": "fa5fa6b34f6b40a0972988b20e888ed4", "model": "Plug", "model_id": "160-01", + "module_id": "e20da25d0cbf456097aa1a954efed11b", "name": "Smart Plug WK", "sensors": { "electricity_consumed": 0.0, @@ -221,6 +227,7 @@ "location": "20e735858f8146cead98b873177a4f99", "model": "Lisa", "model_id": "158-01", + "module_id": "ddd4ed4873864199b6121459ae9fa4ae", "name": "Thermostaat DB", "sensors": { "setpoint": 18.0, @@ -275,6 +282,7 @@ "location": "9a27714b970547ee9a6bdadc2b815ad5", "model": "Plug", "model_id": "160-01", + "module_id": "2028add51f214a3dbddfa1706e63cfed", "name": "Smart Plug SQ", "sensors": { "electricity_consumed": 0.0, @@ -325,6 +333,7 @@ "location": "e39529c79ab54fda9bed26cfc0447546", "model": "Lisa", "model_id": "158-01", + "module_id": "d2f732f328ba447abd5be12f2e196205", "name": "Thermostaat JM", "sensors": { "setpoint": 18.0, @@ -346,6 +355,7 @@ "location": "b52908550469425b812c87f766fe5303", "model": "Plug", "model_id": "160-01", + "module_id": "44fe408e4afd47c19928941ef5499298", "name": "Smart Plug BK", "sensors": { "electricity_consumed": 0.0, @@ -366,6 +376,7 @@ "location": "5cc21042f87f4b4c94ccb5537c47a53f", "model": "Plug", "model_id": "160-01", + "module_id": "1695cccaacc94580860544338b272ce0", "name": "Smart Plug BK2", "sensors": { "electricity_consumed": 0.0, @@ -453,6 +464,7 @@ "location": "e39529c79ab54fda9bed26cfc0447546", "model": "Plug", "model_id": "160-01", + "module_id": "9a3848f23b814b708f7f5bf15702c60d", "name": "Smart Plug JM", "sensors": { "electricity_consumed": 0.0, @@ -507,6 +519,7 @@ "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", "model": "Plug", "model_id": "160-01", + "module_id": "3e205ba6cede43e5b461e7c76340a64d", "name": "Smart Plug RB", "sensors": { "electricity_consumed": 3.13, @@ -595,6 +608,7 @@ "location": "8cf650a4c10c44819e426bed406aec34", "model": "Plug", "model_id": "160-01", + "module_id": "7435452fbc684a30a4978913f342c68b", "name": "Smart Plug BK1", "sensors": { "electricity_consumed": 0.0, @@ -616,6 +630,7 @@ "location": "9a27714b970547ee9a6bdadc2b815ad5", "model": "Lisa", "model_id": "158-01", + "module_id": "6991158ce7774dca864ec8fcf7a039ab", "name": "Thermostaat SQ", "sensors": { "setpoint": 18.5, @@ -638,6 +653,7 @@ "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", "model": "Lisa", "model_id": "158-01", + "module_id": "11e4f552602c4b03980e0955e0f114f0", "name": "Thermostaat RB", "sensors": { "setpoint": 17.0, @@ -657,6 +673,7 @@ "location": "fa5fa6b34f6b40a0972988b20e888ed4", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "e2d52aece0524fde9c346953e5e1acb2", "name": "Thermostaat WK", "sensors": { "setpoint": 21.5, @@ -672,6 +689,7 @@ "location": "04b15f6e884448288f811d29fb7b1b30", "model": "Lisa", "model_id": "158-01", + "module_id": "21d57d51898b41c69ad87fffb59f2581", "name": "Thermostaat SJ", "sensors": { "setpoint": 20.5, @@ -731,6 +749,7 @@ "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", "model": "Lisa", "model_id": "158-01", + "module_id": "0f19738aed2e4bc09e0ca832f2e0c5a4", "name": "Thermostaat KK", "sensors": { "battery": 53, @@ -754,6 +773,7 @@ "location": "8cf650a4c10c44819e426bed406aec34", "model": "Lisa", "model_id": "158-01", + "module_id": "efe84c28928a4ce08603024b5edc2fc7", "name": "Thermostaat BK1", "sensors": { "setpoint": 20.5, @@ -776,6 +796,7 @@ "location": "5cc21042f87f4b4c94ccb5537c47a53f", "model": "Lisa", "model_id": "158-01", + "module_id": "867bdfa029f042e2a50ab9974cff6fac", "name": "Thermostaat BK2", "sensors": { "setpoint": 20.5, diff --git a/fixtures/adam_jip/data.json b/fixtures/adam_jip/data.json index da7df0e27..e62bc5947 100644 --- a/fixtures/adam_jip/data.json +++ b/fixtures/adam_jip/data.json @@ -64,6 +64,7 @@ "location": "06aecb3d00354375924f50c47af36bd2", "model": "Lisa", "model_id": "158-01", + "module_id": "9a08c0d05ffd4f02be9a9bdeb3d01175", "name": "Slaapkamer", "sensors": { "battery": 92, @@ -87,6 +88,7 @@ "location": "d58fec52899f4f1c92e4f8fad6d8c48c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "e71d43382a894c9e888d379368aafba9", "name": "Tom Logeerkamer", "sensors": { "setpoint": 13.0, @@ -111,6 +113,7 @@ "location": "06aecb3d00354375924f50c47af36bd2", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "ccc140dafdc5416dab052bffc465a770", "name": "Tom Slaapkamer", "sensors": { "setpoint": 13.0, @@ -133,6 +136,7 @@ "location": "9e4433a9d69f40b3aefd15e74395eaec", "model": "Aqara Smart Plug", "model_id": "lumi.plug.maeu01", + "module_id": "2ddb4057a8fd46aba92e23c770f3297d", "name": "Plug", "sensors": { "electricity_consumed_interval": 0.0 @@ -155,6 +159,7 @@ "location": "d27aede973b54be484f6842d1b2802ad", "model": "Lisa", "model_id": "158-01", + "module_id": "3f91eab3749349799b17f04873bde07e", "name": "Kinderkamer", "sensors": { "battery": 79, @@ -178,6 +183,7 @@ "location": "13228dab8ce04617af318a2888b3c548", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "fc657e19ee7442ab8bfe66df62cb40b3", "name": "Tom Woonkamer", "sensors": { "setpoint": 9.0, @@ -205,6 +211,7 @@ "location": "d58fec52899f4f1c92e4f8fad6d8c48c", "model": "Lisa", "model_id": "158-01", + "module_id": "1814d63fb9824aa8aae4d4329d84dfa3", "name": "Logeerkamer", "sensors": { "battery": 80, @@ -278,6 +285,7 @@ "location": "d27aede973b54be484f6842d1b2802ad", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "5785d8678bed443ea72b52a1c8a7108d", "name": "Tom Kinderkamer", "sensors": { "setpoint": 13.0, @@ -344,6 +352,7 @@ }, "model": "Generic heater", "model_id": "10.20", + "module_id": "2bd6e83f0ae340058606c33503202c72", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -368,6 +377,7 @@ "location": "13228dab8ce04617af318a2888b3c548", "model": "Jip", "model_id": "168-01", + "module_id": "73a5e7c19d3744ad96dfad74142d2db4", "name": "Woonkamer", "sensors": { "battery": 100, diff --git a/fixtures/adam_multiple_devices_per_zone/data.json b/fixtures/adam_multiple_devices_per_zone/data.json index 364d71e59..ac81da2f7 100644 --- a/fixtures/adam_multiple_devices_per_zone/data.json +++ b/fixtures/adam_multiple_devices_per_zone/data.json @@ -6,6 +6,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "4e1da90f22384bc691fe0282e02d272f", "name": "NVR", "sensors": { "electricity_consumed": 34.0, @@ -96,6 +97,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "a03128e5e9334b088c724fd96947c765", "name": "Playstation Smart Plug", "sensors": { "electricity_consumed": 84.1, @@ -149,6 +151,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "822e635587994817a76599ea1190f9ee", "name": "USG Smart Plug", "sensors": { "electricity_consumed": 8.5, @@ -170,6 +173,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "a5a8713dd3f94f2a9d63db8a521af6b2", "name": "Ziggo Modem", "sensors": { "electricity_consumed": 12.2, @@ -195,6 +199,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "b622e3c6a32544f8a4d83e3385592e36", "name": "Thermostatic Radiator Badkamer 1", "sensors": { "battery": 51, @@ -223,6 +228,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Lisa", "model_id": "158-01", + "module_id": "f887b0af3d1e45c794057ee606b21db8", "name": "Zone Thermostat Jessie", "sensors": { "battery": 37, @@ -245,6 +251,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Plug", "model_id": "160-01", + "module_id": "800d5287643c4fd89dfcfbf336d4f7ec", "name": "CV Pomp", "sensors": { "electricity_consumed": 35.6, @@ -311,6 +318,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "5ccda7375b0f467e88499a636450dc91", "name": "Fibaro HC2", "sensors": { "electricity_consumed": 12.5, @@ -336,6 +344,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "39e077a2eb224dcea3415471de00823c", "name": "Bios Cv Thermostatic Radiator ", "sensors": { "battery": 62, @@ -361,6 +370,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "02d1299fdbab4f7b93765e0af1c250d8", "name": "Floor kraan", "sensors": { "setpoint": 21.5, @@ -388,6 +398,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Lisa", "model_id": "158-01", + "module_id": "dd68d0641eb04571be62b9940aae363a", "name": "Zone Lisa WK", "sensors": { "battery": 34, @@ -444,6 +455,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "3e4e2fa7fa2a4cf18b1be5ed32a978a1", "name": "NAS", "sensors": { "electricity_consumed": 16.5, @@ -469,6 +481,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "468bbe14853f4fb18a8860333cecc42a", "name": "Thermostatic Radiator Jessie", "sensors": { "battery": 62, @@ -497,6 +510,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Lisa", "model_id": "158-01", + "module_id": "e5f81fd832d844e5bd46219831468a62", "name": "Zone Lisa Bios", "sensors": { "battery": 67, @@ -537,6 +551,7 @@ "location": "446ac08dd04d4eff8ac57489757b7314", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "d00e1ba75ed14b2388971b32abc94cde", "name": "CV Kraan Garage", "sensors": { "battery": 68, @@ -582,6 +597,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Lisa", "model_id": "158-01", + "module_id": "ebd9f53ab3894bee91e36350c1fbb6c7", "name": "Thermostatic Radiator Badkamer 2", "sensors": { "battery": 92, diff --git a/fixtures/adam_onoff_cooling_fake_firmware/data.json b/fixtures/adam_onoff_cooling_fake_firmware/data.json index f822e33d8..a2dcb5111 100644 --- a/fixtures/adam_onoff_cooling_fake_firmware/data.json +++ b/fixtures/adam_onoff_cooling_fake_firmware/data.json @@ -70,6 +70,7 @@ "location": "fa5fa6b34f6b40a0972988b20e888ed4", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "e2d52aece0524fde9c346953e5e1acb2", "name": "Thermostaat WK", "sensors": { "setpoint": 21.5, diff --git a/fixtures/adam_plus_anna/data.json b/fixtures/adam_plus_anna/data.json index 8533e7468..ccb46dfb2 100644 --- a/fixtures/adam_plus_anna/data.json +++ b/fixtures/adam_plus_anna/data.json @@ -42,6 +42,7 @@ "upper_bound": 100.0 }, "model": "Generic heater", + "module_id": "94c63e8b46284f6ab2f40d19619afcba", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -58,6 +59,7 @@ "location": "45d410adf8fd461e85cebf16d5ead542", "model": "Plug", "model_id": "160-01", + "module_id": "0fd8411d0bc446a08c336a7bba029e22", "name": "MediaCenter", "sensors": { "electricity_consumed": 10.3, @@ -100,6 +102,7 @@ "location": "009490cc2f674ce6b576863fbb64f867", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "bb2fc3da88144d018ee51861e13f505d", "name": "Anna", "sensors": { "setpoint": 20.5, @@ -112,6 +115,7 @@ "dev_class": "computer_desktop_plug", "firmware": "2019-06-21T02:00:00+02:00", "location": "5ccb6c41a7d9403988d261ceee04239f", + "module_id": "72b2aa43d2ea4a33b23ade5e6629de8d", "name": "Work-PC", "sensors": { "electricity_consumed": 80.5, diff --git a/fixtures/adam_plus_anna_new/data.json b/fixtures/adam_plus_anna_new/data.json index afa38abd8..3f65059ca 100644 --- a/fixtures/adam_plus_anna_new/data.json +++ b/fixtures/adam_plus_anna_new/data.json @@ -15,6 +15,7 @@ "upper_bound": 95.0 }, "model": "Generic heater", + "module_id": "c043b48fa65b4292b5579d5550f19dd2", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 22.5, @@ -29,6 +30,7 @@ "dev_class": "valve_actuator_plug", "location": "d9786723dbcf4f19b5c629a54629f9c7", "model_id": "TS0011", + "module_id": "c1f98356f09346b28e26a6ebc0f69275", "name": "Aanvoer water afsluiter (nous lz3)", "switches": { "relay": false @@ -46,6 +48,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Emma Pro", "model_id": "170-01", + "module_id": "85e363f2d0234f13885d41acd77ce6b8", "name": "Emma", "sensors": { "battery": 100, @@ -73,6 +76,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "86937b43514d44e090903d72e53d01b3", "name": "Tom Badkamer", "sensors": { "battery": 60, @@ -97,6 +101,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "fe0bb67baa774960a41ca3148137d646", "name": "Plug MediaTV", "sensors": { "electricity_consumed": 15.8, @@ -118,6 +123,7 @@ "location": "8201a2ac4d1b4303bf994e18d67311eb", "model": "Plug", "model_id": "160-01", + "module_id": "118ccd70e8fa4b1fa746c504a47d95e0", "name": "Plug Thermex Boiler", "sensors": { "electricity_consumed": 0.69, @@ -138,6 +144,7 @@ "location": "b4f211175e124df59603412bafa77a34", "model": "Aqara Smart Plug", "model_id": "lumi.plug.maeu01", + "module_id": "6fe74ec044bd44d88ac0412df67f188f", "name": "SmartPlug Floor 0", "sensors": { "electricity_consumed_interval": 0.0 @@ -156,6 +163,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "0251fb339b564a378009fcc3049f023c", "name": "Plug Vloerverwarming", "sensors": { "electricity_consumed": 45.0, @@ -174,6 +182,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "f7727a516f974a7e8bf8ae95b4531a7a", "name": "Anna", "sensors": { "setpoint": 20.5, @@ -230,6 +239,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Jip", "model_id": "168-01", + "module_id": "702e95f0db7246bf831bad9fec7a68ff", "name": "Jip", "sensors": { "battery": 100, @@ -251,6 +261,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Lisa", "model_id": "158-01", + "module_id": "a9df3f54db5d4c0c84b6bf6804d41632", "name": "Lisa Badkamer", "sensors": { "battery": 71, diff --git a/fixtures/adam_plus_anna_new_regulation_off/data.json b/fixtures/adam_plus_anna_new_regulation_off/data.json index 0a859e23a..b3b22c84c 100644 --- a/fixtures/adam_plus_anna_new_regulation_off/data.json +++ b/fixtures/adam_plus_anna_new_regulation_off/data.json @@ -15,6 +15,7 @@ "upper_bound": 95.0 }, "model": "Generic heater", + "module_id": "c043b48fa65b4292b5579d5550f19dd2", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -29,6 +30,7 @@ "dev_class": "valve_actuator_plug", "location": "d9786723dbcf4f19b5c629a54629f9c7", "model_id": "TS0011", + "module_id": "c1f98356f09346b28e26a6ebc0f69275", "name": "Aanvoer water afsluiter (nous lz3)", "switches": { "relay": false @@ -47,6 +49,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "86937b43514d44e090903d72e53d01b3", "name": "Tom Badkamer", "sensors": { "battery": 99, @@ -71,6 +74,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "fe0bb67baa774960a41ca3148137d646", "name": "Plug MediaTV", "sensors": { "electricity_consumed": 14.8, @@ -92,6 +96,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "118ccd70e8fa4b1fa746c504a47d95e0", "name": "Plug Werkplek", "sensors": { "electricity_consumed": 91.3, @@ -112,6 +117,7 @@ "location": "b4f211175e124df59603412bafa77a34", "model": "Aqara Smart Plug", "model_id": "lumi.plug.maeu01", + "module_id": "6fe74ec044bd44d88ac0412df67f188f", "name": "SmartPlug Floor 0", "sensors": { "electricity_consumed_interval": 0.0 @@ -130,6 +136,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "0251fb339b564a378009fcc3049f023c", "name": "Plug Vloerverwarming", "sensors": { "electricity_consumed": 43.8, @@ -148,6 +155,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "f7727a516f974a7e8bf8ae95b4531a7a", "name": "Anna", "sensors": { "setpoint": 18.5, @@ -204,6 +212,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Lisa", "model_id": "158-01", + "module_id": "a9df3f54db5d4c0c84b6bf6804d41632", "name": "Lisa Badkamer", "sensors": { "battery": 14, diff --git a/fixtures/adam_zone_per_device/data.json b/fixtures/adam_zone_per_device/data.json index c40afc0ba..bc2bf4857 100644 --- a/fixtures/adam_zone_per_device/data.json +++ b/fixtures/adam_zone_per_device/data.json @@ -6,6 +6,7 @@ "location": "c4d2bda6df8146caa2e5c2b5dc65660e", "model": "Plug", "model_id": "160-01", + "module_id": "4e1da90f22384bc691fe0282e02d272f", "name": "NVR", "sensors": { "electricity_consumed": 34.0, @@ -93,6 +94,7 @@ "location": "4efbab4c8bb84fbab26c8decf670eb96", "model": "Plug", "model_id": "160-01", + "module_id": "a03128e5e9334b088c724fd96947c765", "name": "Playstation Smart Plug", "sensors": { "electricity_consumed": 80.1, @@ -146,6 +148,7 @@ "location": "0217e9743c174eef9d6e9f680d403ce2", "model": "Plug", "model_id": "160-01", + "module_id": "822e635587994817a76599ea1190f9ee", "name": "USG Smart Plug", "sensors": { "electricity_consumed": 8.5, @@ -167,6 +170,7 @@ "location": "2b1591ecf6344d4d93b03dece9747648", "model": "Plug", "model_id": "160-01", + "module_id": "a5a8713dd3f94f2a9d63db8a521af6b2", "name": "Ziggo Modem", "sensors": { "electricity_consumed": 12.2, @@ -192,6 +196,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "b622e3c6a32544f8a4d83e3385592e36", "name": "Thermostatic Radiator Badkamer", "sensors": { "battery": 51, @@ -220,6 +225,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Lisa", "model_id": "158-01", + "module_id": "f887b0af3d1e45c794057ee606b21db8", "name": "Zone Thermostat Jessie", "sensors": { "battery": 37, @@ -242,6 +248,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Plug", "model_id": "160-01", + "module_id": "800d5287643c4fd89dfcfbf336d4f7ec", "name": "CV Pomp", "sensors": { "electricity_consumed": 35.8, @@ -308,6 +315,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "5ccda7375b0f467e88499a636450dc91", "name": "Fibaro HC2", "sensors": { "electricity_consumed": 12.5, @@ -333,6 +341,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "39e077a2eb224dcea3415471de00823c", "name": "Bios Cv Thermostatic Radiator ", "sensors": { "battery": 62, @@ -358,6 +367,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "02d1299fdbab4f7b93765e0af1c250d8", "name": "Floor kraan", "sensors": { "setpoint": 21.5, @@ -385,6 +395,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Lisa", "model_id": "158-01", + "module_id": "dd68d0641eb04571be62b9940aae363a", "name": "Zone Lisa WK", "sensors": { "battery": 34, @@ -441,6 +452,7 @@ "location": "e704bae65654496f9cade9c855decdfe", "model": "Plug", "model_id": "160-01", + "module_id": "3e4e2fa7fa2a4cf18b1be5ed32a978a1", "name": "NAS", "sensors": { "electricity_consumed": 16.5, @@ -466,6 +478,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "468bbe14853f4fb18a8860333cecc42a", "name": "Thermostatic Radiator Jessie", "sensors": { "battery": 62, @@ -494,6 +507,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Lisa", "model_id": "158-01", + "module_id": "e5f81fd832d844e5bd46219831468a62", "name": "Zone Lisa Bios", "sensors": { "battery": 67, @@ -534,6 +548,7 @@ "location": "446ac08dd04d4eff8ac57489757b7314", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "d00e1ba75ed14b2388971b32abc94cde", "name": "CV Kraan Garage", "sensors": { "battery": 68, @@ -562,6 +577,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Lisa", "model_id": "158-01", + "module_id": "ebd9f53ab3894bee91e36350c1fbb6c7", "name": "Zone Thermostat Badkamer", "sensors": { "battery": 92, diff --git a/fixtures/anna_elga_2/data.json b/fixtures/anna_elga_2/data.json index e417927a2..77812c8a5 100644 --- a/fixtures/anna_elga_2/data.json +++ b/fixtures/anna_elga_2/data.json @@ -13,6 +13,7 @@ "dev_class": "heater_central", "location": "d34dfe6ab90b410c98068e75de3eb631", "model": "Generic heater/cooler", + "module_id": "c53888603af34264bbed2a05998ee572", "name": "OpenTherm", "sensors": { "domestic_hot_water_setpoint": 60.0, @@ -38,6 +39,7 @@ "hardware": "6539-1301-5002", "location": "d3ce834534114348be628b61b26d9220", "model": "ThermoTouch", + "module_id": "3b36454dda794c6faaed4053a89e80ce", "name": "Anna", "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], "select_schedule": "Thermostat schedule", diff --git a/fixtures/anna_elga_2_cooling/data.json b/fixtures/anna_elga_2_cooling/data.json index 0c417702b..035b39073 100644 --- a/fixtures/anna_elga_2_cooling/data.json +++ b/fixtures/anna_elga_2_cooling/data.json @@ -19,6 +19,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "c53888603af34264bbed2a05998ee572", "name": "OpenTherm", "sensors": { "domestic_hot_water_setpoint": 60.0, @@ -44,6 +45,7 @@ "hardware": "6539-1301-5002", "location": "d3ce834534114348be628b61b26d9220", "model": "ThermoTouch", + "module_id": "3b36454dda794c6faaed4053a89e80ce", "name": "Anna", "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], "select_schedule": "Thermostat schedule", diff --git a/fixtures/anna_elga_2_schedule_off/data.json b/fixtures/anna_elga_2_schedule_off/data.json index 064a483d8..004398661 100644 --- a/fixtures/anna_elga_2_schedule_off/data.json +++ b/fixtures/anna_elga_2_schedule_off/data.json @@ -19,6 +19,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "c53888603af34264bbed2a05998ee572", "name": "OpenTherm", "sensors": { "domestic_hot_water_setpoint": 60.0, @@ -44,6 +45,7 @@ "hardware": "6539-1301-5002", "location": "d3ce834534114348be628b61b26d9220", "model": "ThermoTouch", + "module_id": "3b36454dda794c6faaed4053a89e80ce", "name": "Anna", "preset_modes": ["away", "no_frost", "vacation", "home", "asleep"], "select_schedule": "off", diff --git a/fixtures/anna_elga_no_cooling/data.json b/fixtures/anna_elga_no_cooling/data.json index 23ec151d4..6a1ac4438 100644 --- a/fixtures/anna_elga_no_cooling/data.json +++ b/fixtures/anna_elga_no_cooling/data.json @@ -41,6 +41,7 @@ "upper_bound": 100.0 }, "model": "Generic heater", + "module_id": "1d1f157265a74d2886af70eeac1a2da2", "name": "OpenTherm", "sensors": { "dhw_temperature": 46.3, @@ -66,6 +67,7 @@ "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", "model": "ThermoTouch", + "module_id": "e3204a14c278431a8890525dd83edf9d", "name": "Anna", "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "select_schedule": "standaard", diff --git a/fixtures/anna_heatpump_cooling/data.json b/fixtures/anna_heatpump_cooling/data.json index c722045a2..5d1868a4a 100644 --- a/fixtures/anna_heatpump_cooling/data.json +++ b/fixtures/anna_heatpump_cooling/data.json @@ -37,6 +37,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "1d1f157265a74d2886af70eeac1a2da2", "name": "OpenTherm", "sensors": { "dhw_temperature": 41.5, @@ -63,6 +64,7 @@ "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", "model": "ThermoTouch", + "module_id": "e3204a14c278431a8890525dd83edf9d", "name": "Anna", "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "select_schedule": "off", diff --git a/fixtures/anna_heatpump_cooling_fake_firmware/data.json b/fixtures/anna_heatpump_cooling_fake_firmware/data.json index 4218240cb..99d51e503 100644 --- a/fixtures/anna_heatpump_cooling_fake_firmware/data.json +++ b/fixtures/anna_heatpump_cooling_fake_firmware/data.json @@ -37,6 +37,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "1d1f157265a74d2886af70eeac1a2da2", "name": "OpenTherm", "sensors": { "dhw_temperature": 41.5, @@ -63,6 +64,7 @@ "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", "model": "ThermoTouch", + "module_id": "e3204a14c278431a8890525dd83edf9d", "name": "Anna", "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "select_schedule": "off", diff --git a/fixtures/anna_heatpump_heating/data.json b/fixtures/anna_heatpump_heating/data.json index ab6bdf08e..b4ebdeace 100644 --- a/fixtures/anna_heatpump_heating/data.json +++ b/fixtures/anna_heatpump_heating/data.json @@ -43,6 +43,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "1d1f157265a74d2886af70eeac1a2da2", "name": "OpenTherm", "sensors": { "dhw_temperature": 46.3, @@ -68,6 +69,7 @@ "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", "model": "ThermoTouch", + "module_id": "e3204a14c278431a8890525dd83edf9d", "name": "Anna", "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "select_schedule": "standaard", diff --git a/fixtures/anna_loria_cooling_active/data.json b/fixtures/anna_loria_cooling_active/data.json index 8b6c7341e..8e08679f5 100644 --- a/fixtures/anna_loria_cooling_active/data.json +++ b/fixtures/anna_loria_cooling_active/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "15da035090b847e7a21f93e08c015ebc", "model": "ThermoTouch", + "module_id": "734af4309ab3417499e85d16e5750015", "name": "Anna", "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], "select_schedule": "Winter", @@ -77,6 +78,7 @@ }, "model": "Generic heater/cooler", "model_id": "173", + "module_id": "f3b09d3f16964c18a55ee7614afc3437", "name": "OpenTherm", "select_dhw_mode": "auto", "sensors": { diff --git a/fixtures/anna_loria_driessens/data.json b/fixtures/anna_loria_driessens/data.json index 2519d1f45..7b1cd7e67 100644 --- a/fixtures/anna_loria_driessens/data.json +++ b/fixtures/anna_loria_driessens/data.json @@ -33,6 +33,7 @@ "hardware": "6539-1301-5002", "location": "fa70e08550c94de3a34feb27ecf31421", "model": "ThermoTouch", + "module_id": "ca2dedb4b4a14a89bfc6a42aa0053ddb", "name": "Anna", "preset_modes": ["no_frost", "asleep", "vacation", "away", "home"], "select_schedule": "Verwarmen@9-23u", @@ -83,6 +84,7 @@ }, "model": "Generic heater/cooler", "model_id": "173", + "module_id": "007bd043e2764ddc99d42ac1a46a8841", "name": "OpenTherm", "select_dhw_mode": "auto", "sensors": { diff --git a/fixtures/anna_loria_heating_idle/data.json b/fixtures/anna_loria_heating_idle/data.json index d1b640345..7954e7d55 100644 --- a/fixtures/anna_loria_heating_idle/data.json +++ b/fixtures/anna_loria_heating_idle/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "15da035090b847e7a21f93e08c015ebc", "model": "ThermoTouch", + "module_id": "734af4309ab3417499e85d16e5750015", "name": "Anna", "preset_modes": ["away", "vacation", "no_frost", "home", "asleep"], "select_schedule": "Winter", @@ -77,6 +78,7 @@ }, "model": "Generic heater/cooler", "model_id": "173", + "module_id": "f3b09d3f16964c18a55ee7614afc3437", "name": "OpenTherm", "select_dhw_mode": "auto", "sensors": { diff --git a/fixtures/anna_p1/data.json b/fixtures/anna_p1/data.json index fd0bc91fb..055816f67 100644 --- a/fixtures/anna_p1/data.json +++ b/fixtures/anna_p1/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-500", "location": "5b13651d79c4454684fd268850b1bff8", "model": "ThermoTouch", + "module_id": "4cac351dd8494d0fb4adbb75f4cdf89c", "name": "Anna", "preset_modes": ["home", "asleep", "away", "vacation", "no_frost"], "select_schedule": "off", @@ -42,6 +43,7 @@ "location": "da7be222ab3b420c927f3e49fade0304", "model": "Generic heater", "model_id": "HR24", + "module_id": "4641927b856f45638df120358f98da9a", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -77,6 +79,7 @@ "dev_class": "smartmeter", "location": "da7be222ab3b420c927f3e49fade0304", "model": "2MS212 SMR5.5", + "module_id": "0caec7b5fac2419bbb3aea7bc93170f1", "name": "P1", "sensors": { "electricity_consumed_off_peak_cumulative": 618.001, diff --git a/fixtures/anna_v4/data.json b/fixtures/anna_v4/data.json index 7e6f138be..ed80590c4 100644 --- a/fixtures/anna_v4/data.json +++ b/fixtures/anna_v4/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "eb5309212bf5407bb143e5bfa3b18aee", "model": "ThermoTouch", + "module_id": "807a45cbc950419c98ce4624bc27ff09", "name": "Anna", "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], "select_schedule": "off", @@ -72,6 +73,7 @@ }, "model": "Generic heater", "model_id": "2.32", + "module_id": "88c1299c194f4b39b857e369803c2481", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 39.9, diff --git a/fixtures/anna_v4_dhw/data.json b/fixtures/anna_v4_dhw/data.json index a560de161..27dec8952 100644 --- a/fixtures/anna_v4_dhw/data.json +++ b/fixtures/anna_v4_dhw/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "eb5309212bf5407bb143e5bfa3b18aee", "model": "ThermoTouch", + "module_id": "807a45cbc950419c98ce4624bc27ff09", "name": "Anna", "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], "select_schedule": "off", @@ -72,6 +73,7 @@ }, "model": "Generic heater", "model_id": "2.32", + "module_id": "88c1299c194f4b39b857e369803c2481", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 39.9, diff --git a/fixtures/anna_v4_no_tag/data.json b/fixtures/anna_v4_no_tag/data.json index 513e7ce20..3d9b8ee0e 100644 --- a/fixtures/anna_v4_no_tag/data.json +++ b/fixtures/anna_v4_no_tag/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "eb5309212bf5407bb143e5bfa3b18aee", "model": "ThermoTouch", + "module_id": "807a45cbc950419c98ce4624bc27ff09", "name": "Anna", "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], "select_schedule": "Thuiswerken", @@ -72,6 +73,7 @@ }, "model": "Generic heater", "model_id": "2.32", + "module_id": "88c1299c194f4b39b857e369803c2481", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 39.9, diff --git a/fixtures/anna_without_boiler_fw441/data.json b/fixtures/anna_without_boiler_fw441/data.json index 7e0b7cc4f..1d99207a9 100644 --- a/fixtures/anna_without_boiler_fw441/data.json +++ b/fixtures/anna_without_boiler_fw441/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "c34c6864216446528e95d88985e714cc", "model": "ThermoTouch", + "module_id": "2174b15978334867a3d634a16d14ada8", "name": "Anna", "preset_modes": ["no_frost", "asleep", "away", "vacation", "home"], "select_schedule": "Normaal", diff --git a/fixtures/legacy_anna/data.json b/fixtures/legacy_anna/data.json index 75c12a4c8..69cbb7063 100644 --- a/fixtures/legacy_anna/data.json +++ b/fixtures/legacy_anna/data.json @@ -22,6 +22,7 @@ "upper_bound": 90.0 }, "model": "Generic heater", + "module_id": "e24e9dcb7066426e812606ea5130aab5", "name": "OpenTherm", "sensors": { "dhw_temperature": 51.2, @@ -43,6 +44,7 @@ "hardware": "6539-1301-500", "location": "0000aaaa0000aaaa0000aaaa0000aa00", "model": "ThermoTouch", + "module_id": "49537ee71b3a4da0a324b87562ec8b5f", "name": "Anna", "preset_modes": ["away", "vacation", "asleep", "home", "no_frost"], "select_schedule": null, diff --git a/fixtures/legacy_anna_2/data.json b/fixtures/legacy_anna_2/data.json index 5f1ef01f9..806caaef9 100644 --- a/fixtures/legacy_anna_2/data.json +++ b/fixtures/legacy_anna_2/data.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "be81e3f8275b4129852c4d8d550ae2eb", "model": "ThermoTouch", + "module_id": "8ee7dfdf4d1c4ad58e6f8b274ff7da9c", "name": "Anna", "preset_modes": ["vacation", "away", "no_frost", "home", "asleep"], "select_schedule": "off", @@ -51,6 +52,7 @@ "upper_bound": 90.0 }, "model": "Generic heater", + "module_id": "43de3a9e223743aa8127e7bfe8e66fb2", "name": "OpenTherm", "sensors": { "dhw_temperature": 0.0, diff --git a/fixtures/m_adam_cooling/data.json b/fixtures/m_adam_cooling/data.json index 9b95475eb..ac5fab278 100644 --- a/fixtures/m_adam_cooling/data.json +++ b/fixtures/m_adam_cooling/data.json @@ -16,6 +16,7 @@ "upper_bound": 95.0 }, "model": "Generic heater", + "module_id": "c043b48fa65b4292b5579d5550f19dd2", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 17.5, @@ -35,6 +36,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Emma Pro", "model_id": "170-01", + "module_id": "85e363f2d0234f13885d41acd77ce6b8", "name": "Emma", "sensors": { "battery": 100, @@ -62,6 +64,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "86937b43514d44e090903d72e53d01b3", "name": "Tom Badkamer", "sensors": { "battery": 60, @@ -84,6 +87,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "f7727a516f974a7e8bf8ae95b4531a7a", "name": "Anna", "sensors": { "setpoint": 23.5, @@ -146,6 +150,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Jip", "model_id": "168-01", + "module_id": "702e95f0db7246bf831bad9fec7a68ff", "name": "Jip", "sensors": { "battery": 100, @@ -167,6 +172,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Lisa", "model_id": "158-01", + "module_id": "a9df3f54db5d4c0c84b6bf6804d41632", "name": "Lisa Badkamer", "sensors": { "battery": 71, diff --git a/fixtures/m_adam_heating/data.json b/fixtures/m_adam_heating/data.json index 47a8fdeb2..6cb4c1ce5 100644 --- a/fixtures/m_adam_heating/data.json +++ b/fixtures/m_adam_heating/data.json @@ -21,6 +21,7 @@ "upper_bound": 95.0 }, "model": "Generic heater", + "module_id": "c043b48fa65b4292b5579d5550f19dd2", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 38.1, @@ -40,6 +41,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Emma Pro", "model_id": "170-01", + "module_id": "85e363f2d0234f13885d41acd77ce6b8", "name": "Emma", "sensors": { "battery": 100, @@ -67,6 +69,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "86937b43514d44e090903d72e53d01b3", "name": "Tom Badkamer", "sensors": { "battery": 60, @@ -89,6 +92,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "f7727a516f974a7e8bf8ae95b4531a7a", "name": "Anna", "sensors": { "setpoint": 20.0, @@ -145,6 +149,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Jip", "model_id": "168-01", + "module_id": "702e95f0db7246bf831bad9fec7a68ff", "name": "Jip", "sensors": { "battery": 100, @@ -166,6 +171,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Lisa", "model_id": "158-01", + "module_id": "a9df3f54db5d4c0c84b6bf6804d41632", "name": "Lisa Badkamer", "sensors": { "battery": 71, diff --git a/fixtures/m_adam_jip/data.json b/fixtures/m_adam_jip/data.json index c9ffb7395..a28e5c480 100644 --- a/fixtures/m_adam_jip/data.json +++ b/fixtures/m_adam_jip/data.json @@ -63,6 +63,7 @@ "location": "06aecb3d00354375924f50c47af36bd2", "model": "Lisa", "model_id": "158-01", + "module_id": "9a08c0d05ffd4f02be9a9bdeb3d01175", "name": "Slaapkamer", "sensors": { "battery": 92, @@ -86,6 +87,7 @@ "location": "d58fec52899f4f1c92e4f8fad6d8c48c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "e71d43382a894c9e888d379368aafba9", "name": "Tom Logeerkamer", "sensors": { "setpoint": 13.0, @@ -110,6 +112,7 @@ "location": "06aecb3d00354375924f50c47af36bd2", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "ccc140dafdc5416dab052bffc465a770", "name": "Tom Slaapkamer", "sensors": { "setpoint": 13.0, @@ -132,6 +135,7 @@ "location": "9e4433a9d69f40b3aefd15e74395eaec", "model": "Aqara Smart Plug", "model_id": "lumi.plug.maeu01", + "module_id": "2ddb4057a8fd46aba92e23c770f3297d", "name": "Plug", "sensors": { "electricity_consumed_interval": 0.0 @@ -154,6 +158,7 @@ "location": "d27aede973b54be484f6842d1b2802ad", "model": "Lisa", "model_id": "158-01", + "module_id": "3f91eab3749349799b17f04873bde07e", "name": "Kinderkamer", "sensors": { "battery": 79, @@ -177,6 +182,7 @@ "location": "13228dab8ce04617af318a2888b3c548", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "fc657e19ee7442ab8bfe66df62cb40b3", "name": "Tom Woonkamer", "sensors": { "setpoint": 9.0, @@ -204,6 +210,7 @@ "location": "d58fec52899f4f1c92e4f8fad6d8c48c", "model": "Lisa", "model_id": "158-01", + "module_id": "1814d63fb9824aa8aae4d4329d84dfa3", "name": "Logeerkamer", "sensors": { "battery": 80, @@ -277,6 +284,7 @@ "location": "d27aede973b54be484f6842d1b2802ad", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "5785d8678bed443ea72b52a1c8a7108d", "name": "Tom Kinderkamer", "sensors": { "setpoint": 13.0, @@ -343,6 +351,7 @@ }, "model": "Generic heater", "model_id": "10.20", + "module_id": "2bd6e83f0ae340058606c33503202c72", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -367,6 +376,7 @@ "location": "13228dab8ce04617af318a2888b3c548", "model": "Jip", "model_id": "168-01", + "module_id": "73a5e7c19d3744ad96dfad74142d2db4", "name": "Woonkamer", "sensors": { "battery": 100, diff --git a/fixtures/m_adam_multiple_devices_per_zone/data.json b/fixtures/m_adam_multiple_devices_per_zone/data.json index 126031795..febebd165 100644 --- a/fixtures/m_adam_multiple_devices_per_zone/data.json +++ b/fixtures/m_adam_multiple_devices_per_zone/data.json @@ -6,6 +6,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "4e1da90f22384bc691fe0282e02d272f", "name": "NVR", "sensors": { "electricity_consumed": 34.0, @@ -96,6 +97,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "a03128e5e9334b088c724fd96947c765", "name": "Playstation Smart Plug", "sensors": { "electricity_consumed": 84.1, @@ -142,6 +144,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "822e635587994817a76599ea1190f9ee", "name": "USG Smart Plug", "sensors": { "electricity_consumed": 8.5, @@ -163,6 +166,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "a5a8713dd3f94f2a9d63db8a521af6b2", "name": "Ziggo Modem", "sensors": { "electricity_consumed": 12.2, @@ -188,6 +192,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "b622e3c6a32544f8a4d83e3385592e36", "name": "Thermostatic Radiator Badkamer 1", "sensors": { "battery": 51, @@ -216,6 +221,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Lisa", "model_id": "158-01", + "module_id": "f887b0af3d1e45c794057ee606b21db8", "name": "Zone Thermostat Jessie", "sensors": { "battery": 37, @@ -238,6 +244,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Plug", "model_id": "160-01", + "module_id": "800d5287643c4fd89dfcfbf336d4f7ec", "name": "CV Pomp", "sensors": { "electricity_consumed": 35.6, @@ -304,6 +311,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "5ccda7375b0f467e88499a636450dc91", "name": "Fibaro HC2", "sensors": { "electricity_consumed": 12.5, @@ -329,6 +337,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "39e077a2eb224dcea3415471de00823c", "name": "Bios Cv Thermostatic Radiator ", "sensors": { "battery": 62, @@ -354,6 +363,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "02d1299fdbab4f7b93765e0af1c250d8", "name": "Floor kraan", "sensors": { "setpoint": 21.5, @@ -381,6 +391,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Lisa", "model_id": "158-01", + "module_id": "dd68d0641eb04571be62b9940aae363a", "name": "Zone Lisa WK", "sensors": { "battery": 34, @@ -437,6 +448,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "3e4e2fa7fa2a4cf18b1be5ed32a978a1", "name": "NAS", "sensors": { "electricity_consumed": 16.5, @@ -462,6 +474,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "468bbe14853f4fb18a8860333cecc42a", "name": "Thermostatic Radiator Jessie", "sensors": { "battery": 62, @@ -490,6 +503,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Lisa", "model_id": "158-01", + "module_id": "e5f81fd832d844e5bd46219831468a62", "name": "Zone Lisa Bios", "sensors": { "battery": 67, @@ -530,6 +544,7 @@ "location": "446ac08dd04d4eff8ac57489757b7314", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "d00e1ba75ed14b2388971b32abc94cde", "name": "CV Kraan Garage", "sensors": { "battery": 68, @@ -575,6 +590,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Lisa", "model_id": "158-01", + "module_id": "ebd9f53ab3894bee91e36350c1fbb6c7", "name": "Thermostatic Radiator Badkamer 2", "sensors": { "battery": 92, diff --git a/fixtures/m_anna_heatpump_cooling/data.json b/fixtures/m_anna_heatpump_cooling/data.json index ccfd816ff..7cfd6a650 100644 --- a/fixtures/m_anna_heatpump_cooling/data.json +++ b/fixtures/m_anna_heatpump_cooling/data.json @@ -43,6 +43,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "1d1f157265a74d2886af70eeac1a2da2", "name": "OpenTherm", "sensors": { "dhw_temperature": 41.5, @@ -68,6 +69,7 @@ "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", "model": "ThermoTouch", + "module_id": "e3204a14c278431a8890525dd83edf9d", "name": "Anna", "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "select_schedule": "standaard", diff --git a/fixtures/m_anna_heatpump_idle/data.json b/fixtures/m_anna_heatpump_idle/data.json index 5a1cdebd3..d460009de 100644 --- a/fixtures/m_anna_heatpump_idle/data.json +++ b/fixtures/m_anna_heatpump_idle/data.json @@ -43,6 +43,7 @@ "upper_bound": 100.0 }, "model": "Generic heater/cooler", + "module_id": "1d1f157265a74d2886af70eeac1a2da2", "name": "OpenTherm", "sensors": { "dhw_temperature": 46.3, @@ -68,6 +69,7 @@ "hardware": "6539-1301-5002", "location": "c784ee9fdab44e1395b8dee7d7a497d5", "model": "ThermoTouch", + "module_id": "e3204a14c278431a8890525dd83edf9d", "name": "Anna", "preset_modes": ["no_frost", "home", "away", "asleep", "vacation"], "select_schedule": "standaard", diff --git a/fixtures/p1v4_442_single/data.json b/fixtures/p1v4_442_single/data.json index 6dfcd7ee0..29effe959 100644 --- a/fixtures/p1v4_442_single/data.json +++ b/fixtures/p1v4_442_single/data.json @@ -19,6 +19,7 @@ "dev_class": "smartmeter", "location": "a455b61e52394b2db5081ce025a430f3", "model": "KFM5KAIFA-METER", + "module_id": "f2f7c257a0c8405f9a56582d3a22982d", "name": "P1", "sensors": { "electricity_consumed_off_peak_cumulative": 17643.423, diff --git a/fixtures/p1v4_442_triple/data.json b/fixtures/p1v4_442_triple/data.json index 943325d14..82ae72beb 100644 --- a/fixtures/p1v4_442_triple/data.json +++ b/fixtures/p1v4_442_triple/data.json @@ -23,6 +23,7 @@ "dev_class": "smartmeter", "location": "03e65b16e4b247a29ae0d75a78cb492e", "model": "XMX5LGF0010453051839", + "module_id": "560672c43a964ef29202bad5b8284985", "name": "P1", "sensors": { "electricity_consumed_off_peak_cumulative": 70537.898, diff --git a/plugwise/common.py b/plugwise/common.py index 1024c8218..ea096b2da 100644 --- a/plugwise/common.py +++ b/plugwise/common.py @@ -54,7 +54,9 @@ def __init__(self) -> None: self._cooling_present: bool self._count: int self._domain_objects: etree.Element + self._existing_groups: list[str] = [] self._heater_id: str = NONE + self._new_groups: list[str] = [] self._on_off_device: bool self.gw_entities: dict[str, GwEntityData] = {} self.smile: Munch @@ -116,6 +118,7 @@ def _appl_heater_central_info( appl.model = ( "Generic heater/cooler" if self._cooling_present else "Generic heater" ) + appl.module_id = module_data["module_id"] return appl @@ -140,6 +143,7 @@ def _appl_thermostat_info( appl.available = module_data["reachable"] appl.hardware = module_data["hardware_version"] appl.firmware = module_data["firmware_version"] + appl.module_id = module_data["module_id"] appl.zigbee_mac = module_data["zigbee_mac_address"] return appl @@ -156,6 +160,7 @@ def _create_gw_entities(self, appl: Munch) -> None: "mac_address": appl.mac, "model": appl.model, "model_id": appl.model_id, + "module_id": appl.module_id, "name": appl.name, "vendor": appl.vendor_name, "zigbee_mac_address": appl.zigbee_mac, @@ -201,14 +206,22 @@ def _get_groups(self) -> None: members: list[str] = [] group_id = group.get("id") group_name = group.find("name").text + if group_id is None: + continue # pragma: no cover + + self._new_groups.append(group_id) + if ( + group_id in self._existing_groups + and self.gw_entities[group_id]["name"] == group_name + ): + continue + group_type = group.find("type").text group_appliances = group.findall("appliances/appliance") for item in group_appliances: - # Check if members are not orphaned - stretch - if item.get("id") in self.gw_entities: - members.append(item.get("id")) + self._add_member(item, members) - if group_type in GROUP_TYPES and members and group_id: + if group_type in GROUP_TYPES and members: self.gw_entities[group_id] = { "dev_class": group_type, "model": "Group", @@ -217,6 +230,22 @@ def _get_groups(self) -> None: "vendor": "Plugwise", } self._count += 5 + elif group_id in self._existing_groups: + # Group existed but now has no valid members -> remove + self._new_groups.remove(group_id) + + removed = list(set(self._existing_groups) - set(self._new_groups)) + if self._existing_groups and removed: + for group_id in removed: + self.gw_entities.pop(group_id) + + self._existing_groups = self._new_groups + self._new_groups = [] + + def _add_member(self, element: etree.Element, members: list[str]) -> None: + """Check and add member to list.""" + if (member_id := element.attrib["id"]) in self.gw_entities: + members.append(member_id) def _get_lock_state( self, xml: etree.Element, data: GwEntityData, stretch_v2: bool = False @@ -252,6 +281,7 @@ def _get_module_data( "contents": False, "firmware_version": None, "hardware_version": None, + "module_id": None, "reachable": None, "vendor_name": None, "vendor_model": None, @@ -275,6 +305,7 @@ def _get_module_data( module_data["vendor_model"] = module.find("vendor_model").text module_data["hardware_version"] = module.find("hardware_version").text module_data["firmware_version"] = module.find("firmware_version").text + module_data["module_id"] = module.attrib["id"] get_zigbee_data(module, module_data, legacy) break diff --git a/plugwise/constants.py b/plugwise/constants.py index 188a23bfc..6a86e45ab 100644 --- a/plugwise/constants.py +++ b/plugwise/constants.py @@ -292,6 +292,7 @@ "members", "model", "model_id", + "module_id", "name", "vendor", "zigbee_mac_address", @@ -423,6 +424,7 @@ class ModuleData(TypedDict): contents: bool firmware_version: str | None hardware_version: str | None + module_id: str | None reachable: bool | None vendor_model: str | None vendor_name: str | None @@ -545,6 +547,7 @@ class GwEntityData(TypedDict, total=False): members: list[str] model: str model_id: str | None + module_id: str | None name: str vendor: str zigbee_mac_address: str diff --git a/plugwise/data.py b/plugwise/data.py index fc45138fb..bfe1d7926 100644 --- a/plugwise/data.py +++ b/plugwise/data.py @@ -107,18 +107,23 @@ def _add_or_update_notifications( self, entity_id: str, entity: GwEntityData ) -> None: """Helper-function adding or updating the Plugwise notifications.""" - if ( - entity_id == self._gateway_id - and (self._is_thermostat or self.smile.type == "power") - ) or ( - "binary_sensors" in entity - and "plugwise_notification" in entity["binary_sensors"] - ): - entity["binary_sensors"]["plugwise_notification"] = bool( - self._notifications - ) - entity["notifications"] = self._notifications - self._count += 2 + + if entity_id != self._gateway_id: + return + + if self._is_thermostat or self.smile.type == "power": + if "plugwise_notification" not in entity: + entity["binary_sensors"].update( + {"plugwise_notification": bool(self._notifications)} + ) + entity.update({"notifications": self._notifications}) + self._count += 2 + + else: + entity["binary_sensors"]["plugwise_notification"] = bool( + self._notifications + ) + entity["notifications"] = self._notifications def _update_for_cooling(self, entity: GwEntityData) -> None: """Helper-function for adding/updating various cooling-related values.""" @@ -195,6 +200,8 @@ def _get_entity_data(self, entity_id: str, entity: GwEntityData) -> None: self._check_availability( entity, "heater_central", "no OpenTherm communication" ) + # Zigbee node availability + self._update_zigbee_availability(entity) # Switching groups data self._entity_switching_group(entity) diff --git a/plugwise/helper.py b/plugwise/helper.py index 88d80e8b6..c0fc9fdbe 100644 --- a/plugwise/helper.py +++ b/plugwise/helper.py @@ -85,6 +85,12 @@ class SmileHelper(SmileCommon): def __init__(self) -> None: """Set the constructor for this class.""" super().__init__() + self._existing_appliances: list[str] = [] + self._existing_locations: list[str] = [] + self._existing_zones: list[str] = [] + self._new_appliances: list[str] = [] + self._new_locations: list[str] = [] + self._new_zones: list[str] = [] self._endpoint: str self._elga: bool self._is_thermostat: bool @@ -105,7 +111,7 @@ def item_count(self) -> int: """Return the item-count.""" return self._count - def _get_appliances(self) -> None: + def _get_appliances(self) -> bool: """Collect all appliances with relevant info. Also, collect the P1 smartmeter info from a location @@ -145,27 +151,49 @@ def _get_appliances(self) -> None: elif appl.pwclass not in THERMOSTAT_CLASSES: appl.location = self._home_loc_id - # Don't show orphaned thermostat-types + # Don't show orphaned (no location) thermostat-types if appl.pwclass in THERMOSTAT_CLASSES and appl.location is None: continue extend_plug_device_class(appl, appliance) + self._new_appliances.append(appl.entity_id) + if appl.entity_id in self._existing_appliances and ( + appl.pwclass in ("gateway", "heater_central") + or self.gw_entities[appl.entity_id]["name"] == appl.name + ): + continue + # Collect appliance info, skip orphaned/removed devices if not (appl := self._appliance_info_finder(appl, appliance)): + self._new_appliances.pop() continue self._create_gw_entities(appl) # A smartmeter is not present as an appliance, add it specifically if self.smile.type == "power" or self.smile.anna_p1: - self._get_p1_smartmeter_info() + self._add_p1_smartmeter_info() # Sort the gw_entities self._reorder_devices() - def _get_p1_smartmeter_info(self) -> None: - """For P1 collect the connected SmartMeter info from the Home/building location. + new = list(set(self._new_appliances) - set(self._existing_appliances)) + removed = list(set(self._existing_appliances) - set(self._new_appliances)) + if self._existing_appliances: + for appliance in removed: + self.gw_entities.pop(appliance) + + self._existing_appliances = self._new_appliances + self._new_appliances = [] + + if new or removed: + return True + + return False + + def _add_p1_smartmeter_info(self) -> None: + """For P1 collect the smartmeter info from the Home/building location and add it as an entity. Note: For P1, the entity_id for the gateway and smartmeter are switched to maintain backward compatibility. For Anna P1, the smartmeter uses the home location_id directly. @@ -178,6 +206,15 @@ def _get_p1_smartmeter_info(self) -> None: if not module_data["contents"]: # pragma: no cover return + # Detect a smartmeter change + module_id = module_data["module_id"] + if module_id in ( + self.gw_entities[self._gateway_id].get("module_id"), + # legacy + self.gw_entities.get(self._home_loc_id, {}).get("module_id"), + ): + return + appl.available = None appl.entity_id = self._home_loc_id if not self.smile.anna_p1: @@ -188,6 +225,7 @@ def _get_p1_smartmeter_info(self) -> None: appl.mac = None appl.model = module_data["vendor_model"] appl.model_id = None # don't use model_id for SmartMeter + appl.module_id = module_id appl.name = "P1" appl.pwclass = "smartmeter" appl.vendor_name = module_data["vendor_name"] @@ -212,12 +250,6 @@ def _get_locations(self) -> None: loc.loc_id = location.get("id") loc.name = location.find("name").text loc._type = location.find("type").text - self._loc_data[loc.loc_id] = { - "name": loc.name, - "primary": [], - "primary_prio": 0, - "secondary": [], - } # Home location is of type building if loc._type == "building": counter += 1 @@ -226,6 +258,28 @@ def _get_locations(self) -> None: f"./location[@id='{loc.loc_id}']" ) + self._new_locations.append(loc.loc_id) + if ( + loc.loc_id in self._existing_locations + and self._loc_data[loc.loc_id]["name"] == loc.name + ): + continue + + self._loc_data[loc.loc_id] = { + "name": loc.name, + "primary": [], + "primary_prio": 0, + "secondary": [], + } + + removed = list(set(self._existing_locations) - set(self._new_locations)) + if self._existing_locations and removed: + for location_id in removed: + self._loc_data.pop(location_id) + + self._existing_locations = self._new_locations + self._new_locations = [] + if counter == 0: raise KeyError( "Error, location Home (building) not found!" @@ -263,6 +317,7 @@ def _appliance_info_finder(self, appl: Munch, appliance: etree.Element) -> Munch appl.firmware = module_data["firmware_version"] appl.hardware = module_data["hardware_version"] appl.model_id = module_data["vendor_model"] + appl.module_id = module_data["module_id"] appl.vendor_name = module_data["vendor_name"] appl.model = check_model(appl.model_id, appl.vendor_name) appl.zigbee_mac = module_data["zigbee_mac_address"] @@ -394,6 +449,14 @@ def _get_measurement_data(self, entity_id: str, entity: GwEntityData) -> None: entity.update(data) + def _update_zigbee_availability(self, entity: GwEntityData) -> None: + """Update zigbee device availability status.""" + if "module_id" in entity: + module_id = entity["module_id"] + locator = f'./module[@id="{module_id}"]/protocols/zig_bee_node' + if (module := self._domain_objects.find(locator)) is not None: + entity["available"] = module.find("reachable").text == "true" + def _collect_group_sensors( self, data: GwEntityData, @@ -770,6 +833,13 @@ def _scan_thermostats(self) -> None: self._match_and_rank_thermostats() for location_id, location in self._loc_data.items(): if location["primary_prio"] != 0: + self._new_zones.append(location_id) + if ( + location_id in self._existing_zones + and self.gw_entities[location_id]["name"] == location["name"] + ): + continue + self._zones[location_id] = { "dev_class": "climate", "model": "ThermoZone", @@ -782,6 +852,14 @@ def _scan_thermostats(self) -> None: } self._count += 5 + removed = list(set(self._existing_zones) - set(self._new_zones)) + if self._existing_zones and removed: + for location_id in removed: + self._zones.pop(location_id, None) + + self._existing_zones = self._new_zones + self._new_zones = [] + def _match_and_rank_thermostats(self) -> None: """Helper-function for _scan_thermostats(). diff --git a/plugwise/legacy/helper.py b/plugwise/legacy/helper.py index 4f3c806c3..5e4bc8641 100644 --- a/plugwise/legacy/helper.py +++ b/plugwise/legacy/helper.py @@ -108,6 +108,7 @@ def _get_appliances(self) -> None: appl.mac = None appl.model = appl.pwclass.replace("_", " ").title() appl.model_id = None + appl.module_id = None appl.name = appliance.find("name").text appl.vendor_name = None appl.zigbee_mac = None @@ -239,6 +240,7 @@ def _p1_smartmeter_info_finder(self, appl: Munch) -> None: appl.mac = None appl.model = self.smile.model appl.model_id = None + appl.module_id = None appl.name = "P1" appl.pwclass = "smartmeter" appl.zigbee_mac = None diff --git a/plugwise/smile.py b/plugwise/smile.py index d6c10f826..2846e4c75 100644 --- a/plugwise/smile.py +++ b/plugwise/smile.py @@ -88,6 +88,9 @@ def __init__( self.smile = smile self.therms_with_offset_func: list[str] = [] + self._zones = {} + self.gw_entities = {} + @property def cooling_present(self) -> bool: """Return the cooling capability.""" @@ -106,13 +109,12 @@ def get_all_gateway_entities(self) -> None: Collect and add switching- and/or pump-group entities. Finally, collect the data and states for each entity. """ - self._get_appliances() - if self._is_thermostat: + if self._get_appliances() and self._is_thermostat: self.therms_with_offset_func = ( self._get_appliances_with_offset_functionality() ) - self._scan_thermostats() + self._scan_thermostats() self._get_groups() self._all_entity_data() @@ -121,8 +123,6 @@ async def async_update(self) -> dict[str, GwEntityData]: Any change in the connected entities will be detected immediately. """ - self._zones = {} - self.gw_entities = {} try: await self.full_xml_update() self.get_all_gateway_entities() diff --git a/pyproject.toml b/pyproject.toml index 5fadb3e00..6e3d731b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "plugwise" -version = "1.11.1" +version = "1.12.0a4" license = "MIT" description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3." readme = "README.md" diff --git a/tests/data/adam/adam_heatpump_cooling.json b/tests/data/adam/adam_heatpump_cooling.json index 71bfad7e2..ce4bcc63b 100644 --- a/tests/data/adam/adam_heatpump_cooling.json +++ b/tests/data/adam/adam_heatpump_cooling.json @@ -58,6 +58,7 @@ }, "model": "Generic heater/cooler", "model_id": "17.1", + "module_id": "1ad05e10747b4e40ba2ba82f2872d1c1", "name": "OpenTherm", "sensors": { "dhw_temperature": 63.5, @@ -84,6 +85,7 @@ "location": "b52908550469425b812c87f766fe5303", "model": "Lisa", "model_id": "158-01", + "module_id": "1f0d0e98291145afa4da4432f76a7bd2", "name": "Thermostaat BK", "sensors": { "battery": 55, @@ -106,6 +108,7 @@ "location": "20e735858f8146cead98b873177a4f99", "model": "Plug", "model_id": "160-01", + "module_id": "0a00ddca4e9543c69c6648e5488590dd", "name": "Smart Plug DB", "sensors": { "electricity_consumed": 0.0, @@ -160,6 +163,7 @@ "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", "model": "Plug", "model_id": "160-01", + "module_id": "3fa224c4c39f458583b2dab4515210bf", "name": "Smart Plug KK", "sensors": { "electricity_consumed": 2.13, @@ -180,6 +184,7 @@ "location": "04b15f6e884448288f811d29fb7b1b30", "model": "Plug", "model_id": "160-01", + "module_id": "483836101eb141e2b04045eedc3716ff", "name": "Smart Plug SJ", "sensors": { "electricity_consumed": 0.0, @@ -200,6 +205,7 @@ "location": "fa5fa6b34f6b40a0972988b20e888ed4", "model": "Plug", "model_id": "160-01", + "module_id": "e20da25d0cbf456097aa1a954efed11b", "name": "Smart Plug WK", "sensors": { "electricity_consumed": 0.0, @@ -221,6 +227,7 @@ "location": "20e735858f8146cead98b873177a4f99", "model": "Lisa", "model_id": "158-01", + "module_id": "ddd4ed4873864199b6121459ae9fa4ae", "name": "Thermostaat DB", "sensors": { "setpoint": 18.0, @@ -275,6 +282,7 @@ "location": "9a27714b970547ee9a6bdadc2b815ad5", "model": "Plug", "model_id": "160-01", + "module_id": "2028add51f214a3dbddfa1706e63cfed", "name": "Smart Plug SQ", "sensors": { "electricity_consumed": 0.0, @@ -325,6 +333,7 @@ "location": "e39529c79ab54fda9bed26cfc0447546", "model": "Lisa", "model_id": "158-01", + "module_id": "d2f732f328ba447abd5be12f2e196205", "name": "Thermostaat JM", "sensors": { "setpoint": 18.0, @@ -346,6 +355,7 @@ "location": "b52908550469425b812c87f766fe5303", "model": "Plug", "model_id": "160-01", + "module_id": "44fe408e4afd47c19928941ef5499298", "name": "Smart Plug BK", "sensors": { "electricity_consumed": 0.0, @@ -366,6 +376,7 @@ "location": "5cc21042f87f4b4c94ccb5537c47a53f", "model": "Plug", "model_id": "160-01", + "module_id": "1695cccaacc94580860544338b272ce0", "name": "Smart Plug BK2", "sensors": { "electricity_consumed": 0.0, @@ -453,6 +464,7 @@ "location": "e39529c79ab54fda9bed26cfc0447546", "model": "Plug", "model_id": "160-01", + "module_id": "9a3848f23b814b708f7f5bf15702c60d", "name": "Smart Plug JM", "sensors": { "electricity_consumed": 0.0, @@ -507,6 +519,7 @@ "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", "model": "Plug", "model_id": "160-01", + "module_id": "3e205ba6cede43e5b461e7c76340a64d", "name": "Smart Plug RB", "sensors": { "electricity_consumed": 3.13, @@ -595,6 +608,7 @@ "location": "8cf650a4c10c44819e426bed406aec34", "model": "Plug", "model_id": "160-01", + "module_id": "7435452fbc684a30a4978913f342c68b", "name": "Smart Plug BK1", "sensors": { "electricity_consumed": 0.0, @@ -616,6 +630,7 @@ "location": "9a27714b970547ee9a6bdadc2b815ad5", "model": "Lisa", "model_id": "158-01", + "module_id": "6991158ce7774dca864ec8fcf7a039ab", "name": "Thermostaat SQ", "sensors": { "setpoint": 18.5, @@ -638,6 +653,7 @@ "location": "93ac3f7bf25342f58cbb77c4a99ac0b3", "model": "Lisa", "model_id": "158-01", + "module_id": "11e4f552602c4b03980e0955e0f114f0", "name": "Thermostaat RB", "sensors": { "setpoint": 17.0, @@ -657,6 +673,7 @@ "location": "fa5fa6b34f6b40a0972988b20e888ed4", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "e2d52aece0524fde9c346953e5e1acb2", "name": "Thermostaat WK", "sensors": { "setpoint": 21.5, @@ -672,6 +689,7 @@ "location": "04b15f6e884448288f811d29fb7b1b30", "model": "Lisa", "model_id": "158-01", + "module_id": "21d57d51898b41c69ad87fffb59f2581", "name": "Thermostaat SJ", "sensors": { "setpoint": 20.5, @@ -731,6 +749,7 @@ "location": "a562019b0b1f47a4bde8ebe3dbe3e8a9", "model": "Lisa", "model_id": "158-01", + "module_id": "0f19738aed2e4bc09e0ca832f2e0c5a4", "name": "Thermostaat KK", "sensors": { "battery": 53, @@ -754,6 +773,7 @@ "location": "8cf650a4c10c44819e426bed406aec34", "model": "Lisa", "model_id": "158-01", + "module_id": "efe84c28928a4ce08603024b5edc2fc7", "name": "Thermostaat BK1", "sensors": { "setpoint": 20.5, @@ -776,6 +796,7 @@ "location": "5cc21042f87f4b4c94ccb5537c47a53f", "model": "Lisa", "model_id": "158-01", + "module_id": "867bdfa029f042e2a50ab9974cff6fac", "name": "Thermostaat BK2", "sensors": { "setpoint": 20.5, diff --git a/tests/data/adam/adam_jip.json b/tests/data/adam/adam_jip.json index da7df0e27..e62bc5947 100644 --- a/tests/data/adam/adam_jip.json +++ b/tests/data/adam/adam_jip.json @@ -64,6 +64,7 @@ "location": "06aecb3d00354375924f50c47af36bd2", "model": "Lisa", "model_id": "158-01", + "module_id": "9a08c0d05ffd4f02be9a9bdeb3d01175", "name": "Slaapkamer", "sensors": { "battery": 92, @@ -87,6 +88,7 @@ "location": "d58fec52899f4f1c92e4f8fad6d8c48c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "e71d43382a894c9e888d379368aafba9", "name": "Tom Logeerkamer", "sensors": { "setpoint": 13.0, @@ -111,6 +113,7 @@ "location": "06aecb3d00354375924f50c47af36bd2", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "ccc140dafdc5416dab052bffc465a770", "name": "Tom Slaapkamer", "sensors": { "setpoint": 13.0, @@ -133,6 +136,7 @@ "location": "9e4433a9d69f40b3aefd15e74395eaec", "model": "Aqara Smart Plug", "model_id": "lumi.plug.maeu01", + "module_id": "2ddb4057a8fd46aba92e23c770f3297d", "name": "Plug", "sensors": { "electricity_consumed_interval": 0.0 @@ -155,6 +159,7 @@ "location": "d27aede973b54be484f6842d1b2802ad", "model": "Lisa", "model_id": "158-01", + "module_id": "3f91eab3749349799b17f04873bde07e", "name": "Kinderkamer", "sensors": { "battery": 79, @@ -178,6 +183,7 @@ "location": "13228dab8ce04617af318a2888b3c548", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "fc657e19ee7442ab8bfe66df62cb40b3", "name": "Tom Woonkamer", "sensors": { "setpoint": 9.0, @@ -205,6 +211,7 @@ "location": "d58fec52899f4f1c92e4f8fad6d8c48c", "model": "Lisa", "model_id": "158-01", + "module_id": "1814d63fb9824aa8aae4d4329d84dfa3", "name": "Logeerkamer", "sensors": { "battery": 80, @@ -278,6 +285,7 @@ "location": "d27aede973b54be484f6842d1b2802ad", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "5785d8678bed443ea72b52a1c8a7108d", "name": "Tom Kinderkamer", "sensors": { "setpoint": 13.0, @@ -344,6 +352,7 @@ }, "model": "Generic heater", "model_id": "10.20", + "module_id": "2bd6e83f0ae340058606c33503202c72", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -368,6 +377,7 @@ "location": "13228dab8ce04617af318a2888b3c548", "model": "Jip", "model_id": "168-01", + "module_id": "73a5e7c19d3744ad96dfad74142d2db4", "name": "Woonkamer", "sensors": { "battery": 100, diff --git a/tests/data/adam/adam_multiple_devices_per_zone.json b/tests/data/adam/adam_multiple_devices_per_zone.json index 364d71e59..ac81da2f7 100644 --- a/tests/data/adam/adam_multiple_devices_per_zone.json +++ b/tests/data/adam/adam_multiple_devices_per_zone.json @@ -6,6 +6,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "4e1da90f22384bc691fe0282e02d272f", "name": "NVR", "sensors": { "electricity_consumed": 34.0, @@ -96,6 +97,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "a03128e5e9334b088c724fd96947c765", "name": "Playstation Smart Plug", "sensors": { "electricity_consumed": 84.1, @@ -149,6 +151,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "822e635587994817a76599ea1190f9ee", "name": "USG Smart Plug", "sensors": { "electricity_consumed": 8.5, @@ -170,6 +173,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "a5a8713dd3f94f2a9d63db8a521af6b2", "name": "Ziggo Modem", "sensors": { "electricity_consumed": 12.2, @@ -195,6 +199,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "b622e3c6a32544f8a4d83e3385592e36", "name": "Thermostatic Radiator Badkamer 1", "sensors": { "battery": 51, @@ -223,6 +228,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Lisa", "model_id": "158-01", + "module_id": "f887b0af3d1e45c794057ee606b21db8", "name": "Zone Thermostat Jessie", "sensors": { "battery": 37, @@ -245,6 +251,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Plug", "model_id": "160-01", + "module_id": "800d5287643c4fd89dfcfbf336d4f7ec", "name": "CV Pomp", "sensors": { "electricity_consumed": 35.6, @@ -311,6 +318,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "5ccda7375b0f467e88499a636450dc91", "name": "Fibaro HC2", "sensors": { "electricity_consumed": 12.5, @@ -336,6 +344,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "39e077a2eb224dcea3415471de00823c", "name": "Bios Cv Thermostatic Radiator ", "sensors": { "battery": 62, @@ -361,6 +370,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "02d1299fdbab4f7b93765e0af1c250d8", "name": "Floor kraan", "sensors": { "setpoint": 21.5, @@ -388,6 +398,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Lisa", "model_id": "158-01", + "module_id": "dd68d0641eb04571be62b9940aae363a", "name": "Zone Lisa WK", "sensors": { "battery": 34, @@ -444,6 +455,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "3e4e2fa7fa2a4cf18b1be5ed32a978a1", "name": "NAS", "sensors": { "electricity_consumed": 16.5, @@ -469,6 +481,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "468bbe14853f4fb18a8860333cecc42a", "name": "Thermostatic Radiator Jessie", "sensors": { "battery": 62, @@ -497,6 +510,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Lisa", "model_id": "158-01", + "module_id": "e5f81fd832d844e5bd46219831468a62", "name": "Zone Lisa Bios", "sensors": { "battery": 67, @@ -537,6 +551,7 @@ "location": "446ac08dd04d4eff8ac57489757b7314", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "d00e1ba75ed14b2388971b32abc94cde", "name": "CV Kraan Garage", "sensors": { "battery": 68, @@ -582,6 +597,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Lisa", "model_id": "158-01", + "module_id": "ebd9f53ab3894bee91e36350c1fbb6c7", "name": "Thermostatic Radiator Badkamer 2", "sensors": { "battery": 92, diff --git a/tests/data/adam/adam_onoff_cooling_fake_firmware.json b/tests/data/adam/adam_onoff_cooling_fake_firmware.json index f822e33d8..a2dcb5111 100644 --- a/tests/data/adam/adam_onoff_cooling_fake_firmware.json +++ b/tests/data/adam/adam_onoff_cooling_fake_firmware.json @@ -70,6 +70,7 @@ "location": "fa5fa6b34f6b40a0972988b20e888ed4", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "e2d52aece0524fde9c346953e5e1acb2", "name": "Thermostaat WK", "sensors": { "setpoint": 21.5, diff --git a/tests/data/adam/adam_plus_anna.json b/tests/data/adam/adam_plus_anna.json index 8533e7468..ccb46dfb2 100644 --- a/tests/data/adam/adam_plus_anna.json +++ b/tests/data/adam/adam_plus_anna.json @@ -42,6 +42,7 @@ "upper_bound": 100.0 }, "model": "Generic heater", + "module_id": "94c63e8b46284f6ab2f40d19619afcba", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 0.0, @@ -58,6 +59,7 @@ "location": "45d410adf8fd461e85cebf16d5ead542", "model": "Plug", "model_id": "160-01", + "module_id": "0fd8411d0bc446a08c336a7bba029e22", "name": "MediaCenter", "sensors": { "electricity_consumed": 10.3, @@ -100,6 +102,7 @@ "location": "009490cc2f674ce6b576863fbb64f867", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "bb2fc3da88144d018ee51861e13f505d", "name": "Anna", "sensors": { "setpoint": 20.5, @@ -112,6 +115,7 @@ "dev_class": "computer_desktop_plug", "firmware": "2019-06-21T02:00:00+02:00", "location": "5ccb6c41a7d9403988d261ceee04239f", + "module_id": "72b2aa43d2ea4a33b23ade5e6629de8d", "name": "Work-PC", "sensors": { "electricity_consumed": 80.5, diff --git a/tests/data/adam/adam_plus_anna_new.json b/tests/data/adam/adam_plus_anna_new.json index afa38abd8..3f65059ca 100644 --- a/tests/data/adam/adam_plus_anna_new.json +++ b/tests/data/adam/adam_plus_anna_new.json @@ -15,6 +15,7 @@ "upper_bound": 95.0 }, "model": "Generic heater", + "module_id": "c043b48fa65b4292b5579d5550f19dd2", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 22.5, @@ -29,6 +30,7 @@ "dev_class": "valve_actuator_plug", "location": "d9786723dbcf4f19b5c629a54629f9c7", "model_id": "TS0011", + "module_id": "c1f98356f09346b28e26a6ebc0f69275", "name": "Aanvoer water afsluiter (nous lz3)", "switches": { "relay": false @@ -46,6 +48,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Emma Pro", "model_id": "170-01", + "module_id": "85e363f2d0234f13885d41acd77ce6b8", "name": "Emma", "sensors": { "battery": 100, @@ -73,6 +76,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "86937b43514d44e090903d72e53d01b3", "name": "Tom Badkamer", "sensors": { "battery": 60, @@ -97,6 +101,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "fe0bb67baa774960a41ca3148137d646", "name": "Plug MediaTV", "sensors": { "electricity_consumed": 15.8, @@ -118,6 +123,7 @@ "location": "8201a2ac4d1b4303bf994e18d67311eb", "model": "Plug", "model_id": "160-01", + "module_id": "118ccd70e8fa4b1fa746c504a47d95e0", "name": "Plug Thermex Boiler", "sensors": { "electricity_consumed": 0.69, @@ -138,6 +144,7 @@ "location": "b4f211175e124df59603412bafa77a34", "model": "Aqara Smart Plug", "model_id": "lumi.plug.maeu01", + "module_id": "6fe74ec044bd44d88ac0412df67f188f", "name": "SmartPlug Floor 0", "sensors": { "electricity_consumed_interval": 0.0 @@ -156,6 +163,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Plug", "model_id": "160-01", + "module_id": "0251fb339b564a378009fcc3049f023c", "name": "Plug Vloerverwarming", "sensors": { "electricity_consumed": 45.0, @@ -174,6 +182,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "ThermoTouch", "model_id": "143.1", + "module_id": "f7727a516f974a7e8bf8ae95b4531a7a", "name": "Anna", "sensors": { "setpoint": 20.5, @@ -230,6 +239,7 @@ "location": "f2bf9048bef64cc5b6d5110154e33c81", "model": "Jip", "model_id": "168-01", + "module_id": "702e95f0db7246bf831bad9fec7a68ff", "name": "Jip", "sensors": { "battery": 100, @@ -251,6 +261,7 @@ "location": "f871b8c4d63549319221e294e4f88074", "model": "Lisa", "model_id": "158-01", + "module_id": "a9df3f54db5d4c0c84b6bf6804d41632", "name": "Lisa Badkamer", "sensors": { "battery": 71, diff --git a/tests/data/adam/adam_zone_per_device.json b/tests/data/adam/adam_zone_per_device.json index c40afc0ba..bc2bf4857 100644 --- a/tests/data/adam/adam_zone_per_device.json +++ b/tests/data/adam/adam_zone_per_device.json @@ -6,6 +6,7 @@ "location": "c4d2bda6df8146caa2e5c2b5dc65660e", "model": "Plug", "model_id": "160-01", + "module_id": "4e1da90f22384bc691fe0282e02d272f", "name": "NVR", "sensors": { "electricity_consumed": 34.0, @@ -93,6 +94,7 @@ "location": "4efbab4c8bb84fbab26c8decf670eb96", "model": "Plug", "model_id": "160-01", + "module_id": "a03128e5e9334b088c724fd96947c765", "name": "Playstation Smart Plug", "sensors": { "electricity_consumed": 80.1, @@ -146,6 +148,7 @@ "location": "0217e9743c174eef9d6e9f680d403ce2", "model": "Plug", "model_id": "160-01", + "module_id": "822e635587994817a76599ea1190f9ee", "name": "USG Smart Plug", "sensors": { "electricity_consumed": 8.5, @@ -167,6 +170,7 @@ "location": "2b1591ecf6344d4d93b03dece9747648", "model": "Plug", "model_id": "160-01", + "module_id": "a5a8713dd3f94f2a9d63db8a521af6b2", "name": "Ziggo Modem", "sensors": { "electricity_consumed": 12.2, @@ -192,6 +196,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "b622e3c6a32544f8a4d83e3385592e36", "name": "Thermostatic Radiator Badkamer", "sensors": { "battery": 51, @@ -220,6 +225,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Lisa", "model_id": "158-01", + "module_id": "f887b0af3d1e45c794057ee606b21db8", "name": "Zone Thermostat Jessie", "sensors": { "battery": 37, @@ -242,6 +248,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Plug", "model_id": "160-01", + "module_id": "800d5287643c4fd89dfcfbf336d4f7ec", "name": "CV Pomp", "sensors": { "electricity_consumed": 35.8, @@ -308,6 +315,7 @@ "location": "cd143c07248f491493cea0533bc3d669", "model": "Plug", "model_id": "160-01", + "module_id": "5ccda7375b0f467e88499a636450dc91", "name": "Fibaro HC2", "sensors": { "electricity_consumed": 12.5, @@ -333,6 +341,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "39e077a2eb224dcea3415471de00823c", "name": "Bios Cv Thermostatic Radiator ", "sensors": { "battery": 62, @@ -358,6 +367,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "02d1299fdbab4f7b93765e0af1c250d8", "name": "Floor kraan", "sensors": { "setpoint": 21.5, @@ -385,6 +395,7 @@ "location": "c50f167537524366a5af7aa3942feb1e", "model": "Lisa", "model_id": "158-01", + "module_id": "dd68d0641eb04571be62b9940aae363a", "name": "Zone Lisa WK", "sensors": { "battery": 34, @@ -441,6 +452,7 @@ "location": "e704bae65654496f9cade9c855decdfe", "model": "Plug", "model_id": "160-01", + "module_id": "3e4e2fa7fa2a4cf18b1be5ed32a978a1", "name": "NAS", "sensors": { "electricity_consumed": 16.5, @@ -466,6 +478,7 @@ "location": "82fa13f017d240daa0d0ea1775420f24", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "468bbe14853f4fb18a8860333cecc42a", "name": "Thermostatic Radiator Jessie", "sensors": { "battery": 62, @@ -494,6 +507,7 @@ "location": "12493538af164a409c6a1c79e38afe1c", "model": "Lisa", "model_id": "158-01", + "module_id": "e5f81fd832d844e5bd46219831468a62", "name": "Zone Lisa Bios", "sensors": { "battery": 67, @@ -534,6 +548,7 @@ "location": "446ac08dd04d4eff8ac57489757b7314", "model": "Tom/Floor", "model_id": "106-03", + "module_id": "d00e1ba75ed14b2388971b32abc94cde", "name": "CV Kraan Garage", "sensors": { "battery": 68, @@ -562,6 +577,7 @@ "location": "08963fec7c53423ca5680aa4cb502c63", "model": "Lisa", "model_id": "158-01", + "module_id": "ebd9f53ab3894bee91e36350c1fbb6c7", "name": "Zone Thermostat Badkamer", "sensors": { "battery": 92, diff --git a/tests/data/anna/anna_v4.json b/tests/data/anna/anna_v4.json index 7e6f138be..ed80590c4 100644 --- a/tests/data/anna/anna_v4.json +++ b/tests/data/anna/anna_v4.json @@ -9,6 +9,7 @@ "hardware": "6539-1301-5002", "location": "eb5309212bf5407bb143e5bfa3b18aee", "model": "ThermoTouch", + "module_id": "807a45cbc950419c98ce4624bc27ff09", "name": "Anna", "preset_modes": ["vacation", "no_frost", "away", "asleep", "home"], "select_schedule": "off", @@ -72,6 +73,7 @@ }, "model": "Generic heater", "model_id": "2.32", + "module_id": "88c1299c194f4b39b857e369803c2481", "name": "OpenTherm", "sensors": { "intended_boiler_temperature": 39.9, diff --git a/tests/test_adam.py b/tests/test_adam.py index 8484d56d7..acbc40ad2 100644 --- a/tests/test_adam.py +++ b/tests/test_adam.py @@ -34,7 +34,7 @@ async def test_connect_adam_plus_anna_new(self): test_items = await self.device_test(api, "2025-10-12 00:00:01", testdata) assert api.gateway_id == "da224107914542988a88561b4452b0f6" - assert self.entity_items == 230 + assert self.entity_items == 241 assert test_items == self.entity_items assert self.entity_list == [ "da224107914542988a88561b4452b0f6", @@ -154,6 +154,7 @@ async def test_connect_adam_plus_anna_new(self): await self.device_test( api, "2022-01-16 00:00:01", testdata_updated, initialize=False ) + assert self.entity_items == 109 # Simulate receiving no xml-data after a requesting a reboot of the gateway self.smile_setup = "reboot/adam_plus_anna_new" @@ -228,7 +229,7 @@ async def test_connect_adam_zone_per_device(self): test_items = await self.device_test(api, "2022-05-16 00:00:01", testdata) assert api.gateway_id == "fe799307f1624099878210aa0b9f1475" - assert self.entity_items == 386 + assert self.entity_items == 402 assert test_items == self.entity_items assert "af82e4ccf9c548528166d38e560662a4" in self.notifications @@ -302,7 +303,7 @@ async def test_connect_adam_multiple_devices_per_zone(self): ) test_items = await self.device_test(api, "2022-05-16 00:00:01", testdata) - assert self.entity_items == 394 + assert self.entity_items == 410 assert test_items == self.entity_items assert "af82e4ccf9c548528166d38e560662a4" in self.notifications @@ -339,7 +340,7 @@ async def test_adam_heatpump_cooling(self): server, api, client = await self.connect_wrapper() test_items = await self.device_test(api, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 539 + assert self.entity_items == 560 assert test_items == self.entity_items assert self.cooling_present assert self._cooling_enabled @@ -363,7 +364,7 @@ async def test_connect_adam_onoff_cooling_fake_firmware(self): ) test_items = await self.device_test(api, "2022-01-02 00:00:01", testdata) - assert self.entity_items == 70 + assert self.entity_items == 71 assert test_items == self.entity_items assert self.cooling_present # assert self._cooling_enabled - no cooling_enabled indication present @@ -388,7 +389,7 @@ async def test_connect_adam_plus_anna(self): test_items = await self.device_test(api, "2020-03-22 00:00:01", testdata) assert api.gateway_id == "b128b4bbbd1f47e9bf4d756e8fb5ee94" - assert self.entity_items == 82 + assert self.entity_items == 86 assert test_items == self.entity_items assert "6fb89e35caeb4b1cb275184895202d84" in self.notifications @@ -429,7 +430,7 @@ async def test_adam_plus_jip(self): test_items = await self.device_test(api, "2021-06-20 00:00:01", testdata) assert api.gateway_id == "b5c2386c6f6342669e50fe49dd05b188" - assert self.entity_items == 269 + assert self.entity_items == 279 assert test_items == self.entity_items # Negative test diff --git a/tests/test_anna.py b/tests/test_anna.py index 84fbcf27a..c67c3e66f 100644 --- a/tests/test_anna.py +++ b/tests/test_anna.py @@ -29,7 +29,7 @@ async def test_connect_anna_v4(self): await self.device_test(api, "2020-04-05 00:00:01", testdata) assert api.gateway_id == "0466eae8520144c78afb29628384edeb" - assert self.entity_items == 60 + assert self.entity_items == 62 assert not self.notifications assert not self.cooling_present @@ -101,7 +101,7 @@ async def test_connect_anna_v4_dhw(self): ) await self.device_test(api, "2020-04-05 00:00:01", testdata) - assert self.entity_items == 60 + assert self.entity_items == 62 assert not self.notifications result = await self.tinker_thermostat( @@ -130,7 +130,7 @@ async def test_connect_anna_v4_no_tag(self): ) await self.device_test(api, "2020-04-05 00:00:01", testdata) - assert self.entity_items == 60 + assert self.entity_items == 62 result = await self.tinker_thermostat( api, @@ -158,7 +158,7 @@ async def test_connect_anna_without_boiler_fw441(self): ) await self.device_test(api, "2022-05-16 00:00:01", testdata) - assert self.entity_items == 41 + assert self.entity_items == 42 assert not self.notifications result = await self.tinker_thermostat( @@ -186,7 +186,7 @@ async def test_connect_anna_heatpump_heating(self): await self.device_test(api, "2020-04-12 00:00:01", testdata) assert api.gateway_id == "015ae9ea3f964e668e490fa39da3870b" - assert self.entity_items == 69 + assert self.entity_items == 71 assert not self.notifications assert self.cooling_present assert not self._cooling_enabled @@ -216,7 +216,7 @@ async def test_connect_anna_heatpump_heating(self): await self.device_test( api, "2020-04-13 00:00:01", testdata_updated, initialize=False ) - assert self.entity_items == 66 + assert self.entity_items == 45 await api.close_connection() await self.disconnect(server, client) @@ -241,7 +241,7 @@ async def test_connect_anna_heatpump_cooling(self): ) await self.device_test(api, "2020-04-19 00:00:01", testdata) - assert self.entity_items == 66 + assert self.entity_items == 68 assert self.cooling_present assert not self.notifications @@ -287,7 +287,7 @@ async def test_connect_anna_heatpump_cooling_fake_firmware(self): ) await self.device_test(api, "2020-04-19 00:00:01", testdata) - assert self.entity_items == 66 + assert self.entity_items == 68 assert self.cooling_present assert self._cooling_enabled assert self._cooling_active @@ -313,7 +313,7 @@ async def test_connect_anna_elga_no_cooling(self): await self.device_test(api, "2020-04-12 00:00:01", testdata) assert api.gateway_id == "015ae9ea3f964e668e490fa39da3870b" - assert self.entity_items == 65 + assert self.entity_items == 67 assert not self.notifications assert not self.cooling_present @@ -336,7 +336,7 @@ async def test_connect_anna_elga_2(self): ) await self.device_test(api, "2022-03-13 00:00:01", testdata) - assert self.entity_items == 61 + assert self.entity_items == 63 assert api.gateway_id == "fb49af122f6e4b0f91267e1cf7666d6f" assert self.cooling_present assert not self._cooling_enabled @@ -356,7 +356,7 @@ async def test_connect_anna_elga_2_schedule_off(self): await self.device_test(api, "2022-03-13 00:00:01", testdata) assert not self._cooling_enabled - assert self.entity_items == 65 + assert self.entity_items == 67 result = await self.tinker_thermostat( api, @@ -387,7 +387,7 @@ async def test_connect_anna_elga_2_cooling(self): ) await self.device_test(api, "2022-03-10 00:00:01", testdata) - assert self.entity_items == 65 + assert self.entity_items == 67 assert not self.notifications assert self.cooling_present @@ -440,7 +440,7 @@ async def test_connect_anna_loria_heating_idle(self): ) await self.device_test(api, "2022-05-16 00:00:01", testdata) - assert self.entity_items == 68 + assert self.entity_items == 70 assert self.cooling_present assert not self._cooling_enabled @@ -505,7 +505,7 @@ async def test_connect_anna_loria_cooling_active(self): ) await self.device_test(api, "2022-05-16 00:00:01", testdata) - assert self.entity_items == 68 + assert self.entity_items == 70 assert self.cooling_present assert self._cooling_enabled @@ -528,7 +528,7 @@ async def test_connect_anna_loria_driessens(self): ) await self.device_test(api, "2022-05-16 00:00:01", testdata) - assert self.entity_items == 68 + assert self.entity_items == 70 assert self.cooling_present assert not self._cooling_enabled @@ -551,7 +551,7 @@ async def test_connect_anna_p1(self): ) await self.device_test(api, "2025-11-02 00:00:01", testdata) - assert self.entity_items == 76 + assert self.entity_items == 79 await api.close_connection() await self.disconnect(server, client) diff --git a/tests/test_legacy_anna.py b/tests/test_legacy_anna.py index bf12e143c..521c89bed 100644 --- a/tests/test_legacy_anna.py +++ b/tests/test_legacy_anna.py @@ -30,7 +30,7 @@ async def test_connect_legacy_anna(self): await self.device_test(api, "2020-03-22 00:00:01", testdata) assert api.gateway_id == "0000aaaa0000aaaa0000aaaa0000aa00" - assert self.entity_items == 44 + assert self.entity_items == 46 assert not api.reboot result = await self.tinker_legacy_thermostat(api, schedule_on=False) @@ -65,7 +65,7 @@ async def test_connect_legacy_anna_2(self): await self.device_test(api, "2020-05-03 00:00:01", testdata) assert api.gateway_id == "be81e3f8275b4129852c4d8d550ae2eb" - assert self.entity_items == 44 + assert self.entity_items == 46 result = await self.tinker_legacy_thermostat(api) assert result diff --git a/tests/test_p1.py b/tests/test_p1.py index 1c459d216..80af2b91a 100644 --- a/tests/test_p1.py +++ b/tests/test_p1.py @@ -28,7 +28,7 @@ async def test_connect_p1v4_442_single(self): await self.device_test(api, "2022-05-16 00:00:01", testdata) assert api.gateway_id == "a455b61e52394b2db5081ce025a430f3" - assert self.entity_items == 33 + assert self.entity_items == 34 assert not self.notifications # Now change some data and change directory reading xml from @@ -78,7 +78,7 @@ async def test_connect_p1v4_442_triple(self): await self.device_test(api, "2022-05-16 00:00:01", testdata) assert api.gateway_id == "03e65b16e4b247a29ae0d75a78cb492e" - assert self.entity_items == 42 + assert self.entity_items == 43 assert self.notifications await api.close_connection()