Giter Club home page Giter Club logo

Comments (12)

relaystar avatar relaystar commented on June 1, 2024

Home assistant: 0.103.5
HACS: 0.20.7
Wiser Heating Component for Home Assistant: 1.7.1
HA Installed via hass.io (docker on debian)

from wiserhomeassistantplatform.

relaystar avatar relaystar commented on June 1, 2024

having thought about this it might be that the 6 hours is a red-herring and the actual trigger for everything else failing was my coming home and triggering the automation to unset the away-mode in wiser.

from wiserhomeassistantplatform.

msp1974 avatar msp1974 commented on June 1, 2024

I have experienced this a couple of times too. However, not convined it is a wiser component issue as it also seems to effect any component that is using a web api (see Alexa integration component also complaining it cannot update). There are a couple of issues logged for specific components on the HomeAssistant github that sound very similar. One for Tado smart thermostats. Wonder if we should open an issue there and see if something is locking the web plugin in HA.

Ill wait u til it happens again and get the log before restart to show multiple components complaining.

from wiserhomeassistantplatform.

asantaga avatar asantaga commented on June 1, 2024

i have no idea what it might be... although I too have recently noticed that Ive needed to reboot HA a few times.... .... It might be related.

lets leave this open and see if we can a) find a common fault and b) any one else seeing this issue?

from wiserhomeassistantplatform.

scooper1 avatar scooper1 commented on June 1, 2024

i just installed this component - great integration

I had similar problems - wiser entries working for first 3 hours then issuing timeouts - which then spread to rest of entries

had to restart pc to fix
looks similar pattern to a double deallocated memory block problem

now cant get a full update after start

I know that pinging the heathub is not very stable - I have now see this on two systems with same heathub

I suspect problem is the timeout which is set to 30 seconds which seems a long time

2020-01-10 10:41:52 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for sonoff which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-01-10 10:41:52 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-01-10 10:41:52 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for wiser which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2020-01-10 10:41:56 INFO (MainThread) [homeassistant.components.rflink] Initiating Rflink connection
2020-01-10 10:41:56 INFO (MainThread) [homeassistant.components.rflink] Connected to Rflink
2020-01-10 10:41:56 DEBUG (MainThread) [rflink.protocol] connected
2020-01-10 10:41:57 ERROR (MainThread) [homeassistant.components.plex] Plex server could not be reached: https://hp8200-sc.local:32400
2020-01-10 10:41:57 ERROR (MainThread) [homeassistant.setup] Setup failed for mqtt: Integration failed to initialize.
2020-01-10 10:41:57 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform mqtt.light: Unable to set up component.
2020-01-10 10:41:58 ERROR (SyncWorker_7) [homeassistant.components.google_maps.device_tracker] The cookie file provided does not provide a valid session. Please create another one and try again.
2020-01-10 10:41:58 ERROR (MainThread) [homeassistant.components.device_tracker] Error setting up platform legacy
2020-01-10 10:42:00 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Exception on post: Cannot connect to host 172.16.10.200:8088 ssl:None [Connect call failed ('172.16.10.200', 8088)]
2020-01-10 10:42:00 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Unable to retrieve HUB id
2020-01-10 10:42:00 WARNING (MainThread) [homeassistant.components.harmony.remote] living room: Unable to connect to HUB.
2020-01-10 10:42:00 WARNING (MainThread) [homeassistant.components.remote] Platform harmony not ready yet. Retrying in 30 seconds.
2020-01-10 10:42:01 WARNING (MainThread) [homeassistant.components.onvif.camera] Couldn't connect to camera 'cam92', but will retry later. Error: Cannot connect to host 172.16.10.236:80 ssl:None [Connect call failed ('172.16.10.236', 80)]
2020-01-10 10:42:01 WARNING (MainThread) [homeassistant.components.camera] Platform onvif not ready yet. Retrying in 30 seconds.
2020-01-10 10:42:04 ERROR (stream_worker) [libav.tcp] Connection to tcp://172.16.10.236:554?timeout=5000000 failed: Host is unreachable
2020-01-10 10:42:05 WARNING (MainThread) [homeassistant.components.frontend] Overwriting integration hacs
2020-01-10 10:42:06 ERROR (SyncWorker_5) [homeassistant.core] Error doing job: Unclosed client session
2020-01-10 10:42:06 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 399, in _async_add_entity
raise HomeAssistantError(msg)
homeassistant.exceptions.HomeAssistantError: Entity id already exists: sensor.hacs. Platform hacs does not generate unique IDs
2020-01-10 10:42:07 WARNING (MainThread) [homeassistant.components.climate] Setup of platform wiser is taking over 10 seconds.
2020-01-10 10:42:07 WARNING (MainThread) [homeassistant.components.sensor] Setup of platform wiser is taking over 10 seconds.
2020-01-10 10:42:08 WARNING (MainThread) [homeassistant.components.switch] Setup of platform wiser is taking over 10 seconds.
2020-01-10 10:42:12 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform wiser
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
chunked=chunked,
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.7/http/client.py", line 1344, in getresponse
response.begin()
File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 400, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.7/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
chunked=chunked,
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.7/http/client.py", line 1344, in getresponse
response.begin()
File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
return fut.result()
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/wiser/climate.py", line 42, in setup_platform
handler.update()
File "/config/custom_components/wiser/init.py", line 100, in update
self.wiserHubInstance = wiserHub.wiserHub(self.ip, self.secret)
File "/usr/local/lib/python3.7/site-packages/wiserHeatingAPI/wiserHub.py", line 37, in init
self.refreshData() # Issue first refresh in init
File "/usr/local/lib/python3.7/site-packages/wiserHeatingAPI/wiserHub.py", line 47, in refreshData
self.hubIP), headers=self.headers).json()
File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
2020-01-10 10:42:15 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 376, in _async_add_entity
suggested_object_id or entity.name or DEVICE_DEFAULT_NAME
File "/config/custom_components/wiser/sensor.py", line 97, in name
self.handler.get_hub_data().getDeviceRoom(self.deviceId)[
File "/usr/local/lib/python3.7/site-packages/wiserHeatingAPI/wiserHub.py", line 172, in getDeviceRoom
return self.device2roomMap[deviceId]
KeyError: 3


2020-01-10 11:11:36 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:11:39 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:12:07 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:12:10 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:12:38 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:12:41 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:13:09 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:13:12 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:13:40 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:13:43 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:14:11 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:14:14 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:14:20 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Exception on post: Cannot connect to host 172.16.10.200:8088 ssl:None [Connect call failed ('172.16.10.200', 8088)]
2020-01-10 11:14:20 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Unable to retrieve HUB id
2020-01-10 11:14:20 WARNING (MainThread) [homeassistant.components.harmony.remote] living room: Unable to connect to HUB.
2020-01-10 11:14:20 WARNING (MainThread) [homeassistant.components.onvif.camera] Couldn't connect to camera 'cam92', but will retry later. Error: Cannot connect to host 172.16.10.236:80 ssl:None [Connect call failed ('172.16.10.236', 80)]
2020-01-10 11:14:20 WARNING (MainThread) [homeassistant.components.remote] Platform harmony not ready yet. Retrying in 180 seconds.
2020-01-10 11:14:20 WARNING (MainThread) [homeassistant.components.camera] Platform onvif not ready yet. Retrying in 180 seconds.
2020-01-10 11:14:42 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:14:45 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:15:13 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:15:16 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:15:44 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:15:47 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:16:14 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:16:18 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:16:18 ERROR (SyncWorker_0) [homeassistant.core] Error doing job: Unclosed client session
2020-01-10 11:16:45 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:16:48 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:17:16 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:17:19 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:17:24 WARNING (MainThread) [homeassistant.components.onvif.camera] Couldn't connect to camera 'cam92', but will retry later. Error: Cannot connect to host 172.16.10.236:80 ssl:None [Connect call failed ('172.16.10.236', 80)]
2020-01-10 11:17:24 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Exception on post: Cannot connect to host 172.16.10.200:8088 ssl:None [Connect call failed ('172.16.10.200', 8088)]
2020-01-10 11:17:24 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Unable to retrieve HUB id
2020-01-10 11:17:24 WARNING (MainThread) [homeassistant.components.harmony.remote] living room: Unable to connect to HUB.
2020-01-10 11:17:24 WARNING (MainThread) [homeassistant.components.camera] Platform onvif not ready yet. Retrying in 180 seconds.
2020-01-10 11:17:24 WARNING (MainThread) [homeassistant.components.remote] Platform harmony not ready yet. Retrying in 180 seconds.
2020-01-10 11:17:47 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:17:50 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:18:17 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:18:21 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:18:48 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:18:52 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30
2020-01-10 11:19:19 WARNING (MainThread) [homeassistant.components.sensor] Updating wiser sensor took longer than the scheduled update interval 0:00:30
2020-01-10 11:19:23 WARNING (MainThread) [homeassistant.components.switch] Updating wiser switch took longer than the scheduled update interval 0:00:30

from wiserhomeassistantplatform.

asantaga avatar asantaga commented on June 1, 2024

thanks for helping to debug.. I'll work on this over the weekend..
What I'll do is create a branch which has a much shorter timeout.. that might fix it...

from wiserhomeassistantplatform.

asantaga avatar asantaga commented on June 1, 2024

Im doing documentation today (boring) so I had a quick look

in the wiser heating api (https://github.com/asantaga/wiserheatingapi/blob/master/wiserHeatingAPI/wiserHub.py) which this module uses we COULD set a timeout on the rest call..

Can you try modifying line 46/47 from

self.wiserHubData = requests.get(WISERHUBURL.format(
            self.hubIP), headers=self.headers).json()

to

self.wiserHubData = requests.get(WISERHUBURL.format(
            self.hubIP), headers=self.headers, timeout=5).json()

this will raise a timeout if the request takes longer than 5seconds (plenty)..

The code within HA will trap the exception and currently indicates you need to reset HA.. but I dont think its necessary..

If either of you are at home can you try modifying the above in the wiserapi package and see how this goes?

from wiserhomeassistantplatform.

scooper1 avatar scooper1 commented on June 1, 2024

i will but it maybe late tonight
at mo all working except for temperatures

additional debug
2020-01-10 12:01:08 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.wiser_itrv_front_room fails
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/response.py", line 425, in _error_catcher
yield
File "/usr/local/lib/python3.7/site-packages/urllib3/response.py", line 755, in read_chunked
chunk = self._handle_chunk(amt)
File "/usr/local/lib/python3.7/site-packages/urllib3/response.py", line 708, in _handle_chunk
returned_chunk = self._fp._safe_read(self.chunk_left)
File "/usr/local/lib/python3.7/http/client.py", line 622, in _safe_read
raise IncompleteRead(b''.join(s), amt)
http.client.IncompleteRead: IncompleteRead(866 bytes read, 158 more expected)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 750, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "/usr/local/lib/python3.7/site-packages/urllib3/response.py", line 560, in stream
for line in self.read_chunked(amt, decode_content=decode_content):
File "/usr/local/lib/python3.7/site-packages/urllib3/response.py", line 781, in read_chunked
self._original_response.close()
File "/usr/local/lib/python3.7/contextlib.py", line 130, in exit
self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.7/site-packages/urllib3/response.py", line 443, in _error_catcher
raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(866 bytes read, 158 more expected)', IncompleteRead(866 bytes read, 158 more expected))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 281, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 461, in async_device_update
await self.hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/wiser/sensor.py", line 63, in update
self.handler.update()
File "/config/custom_components/wiser/init.py", line 108, in update
self.wiserHubInstance.refreshData()
File "/usr/local/lib/python3.7/site-packages/wiserHeatingAPI/wiserHub.py", line 47, in refreshData
self.hubIP), headers=self.headers).json()
File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 686, in send
r.content
File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 828, in content
self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 753, in generate
raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(866 bytes read, 158 more expected)', IncompleteRead(866 bytes read, 158 more expected))
2020-01-10 12:01:10 ERROR (SyncWorker_0) [homeassistant.core] Error doing job: Unclosed client session
2020-01-10 12:01:10 ERROR (SyncWorker_0) [homeassistant.core] Error doing job: Unclosed client session

from wiserhomeassistantplatform.

msp1974 avatar msp1974 commented on June 1, 2024

I am seeing similar errors and as said, also in alexa integration and when I call an external python script that uses the request.get command which is why I think this is not a wiser hub api issue but either a request python issue or a HA issue. Likely there is some sort of lock happening on the linux side as the API is not really using HA but just python request.get.

I had a quick google to find anyone else reporting similar issues but ran out of time. Will continue to have a look tonight/ over weekend.

from wiserhomeassistantplatform.

scooper1 avatar scooper1 commented on June 1, 2024

i did the change
seems to be working correctly will check again later
thanks

I put the component on to debug level logging
I have the update set to 60 seconds but seams to be doing at 30 seconds

I notice there are multiple copies of same debug statement in one second period once triggered by update this may be correct behaviour

2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:13 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:18 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Exception on post: Cannot connect to host 172.16.10.200:8088 ssl:None [Connect call failed ('172.16.10.200', 8088)]
2020-01-11 00:52:18 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Unable to retrieve HUB id
2020-01-11 00:52:18 WARNING (MainThread) [homeassistant.components.harmony.remote] living room: Unable to connect to HUB.
2020-01-11 00:52:18 WARNING (MainThread) [homeassistant.components.remote] Platform harmony not ready yet. Retrying in 60 seconds.
2020-01-11 00:52:20 WARNING (MainThread) [homeassistant.components.onvif.camera] Couldn't connect to camera 'cam92', but will retry later. Error: Cannot connect to host 172.16.10.236:80 ssl:None [Connect call failed ('172.16.10.236', 80)]
2020-01-11 00:52:20 WARNING (MainThread) [homeassistant.components.camera] Platform onvif not ready yet. Retrying in 60 seconds.
2020-01-11 00:52:43 INFO (SyncWorker_13) [wiserHeatingAPI.wiserHub] Updating Wiser Hub Data
2020-01-11 00:52:46 DEBUG (SyncWorker_13) [wiserHeatingAPI.wiserHub] Wiser Hub Data received {'System': {'PairingStatus': 'Paired', 'TimeZoneOffset': 0, 'AutomaticDaylightSaving': True, 'SystemMode': 'Heat', 'FotaEnabled': True, 'ValveProtectionEnabled': False, 'EcoModeEnabled': True, 'AwayModeAffectsHotWater': False, 'AwayModeSetPointLimit': 160, 'BoilerSettings': {'ControlType': 'HeatSourceType_RelayControlled', 'FuelType': 'Gas', 'CycleRate': 'CPH_6', 'OnOffHysteresis': 5}, 'ZigbeeSettings': {'SuppressApsAcks': True}, 'CoolingModeDefaultSetpoint': 210, 'CoolingAwayModeSetpointLimit': 240, 'ComfortModeEnabled': True, 'PreheatTimeLimit': 10800, 'DegradedModeSetpointThreshold': 180, 'UnixTime': 1578703920, 'ActiveSystemVersion': '2.40.0-f484faf37b', 'BrandName': 'WiserHeat', 'CloudConnectionStatus': 'Connected', 'ZigbeeModuleVersion': 'R311 B021019', 'ZigbeeEui': '14B457FFFE767F49', 'LocalDateAndTime': {'Year': 2020, 'Month': 'January', 'Date': 11, 'Day': 'Saturday', 'Time': 52}, 'HeatingButtonOverrideState': 'Off', 'UserOverridesActive': True, 'HotWaterButtonOverrideState': 'Off', 'OpenThermConnectionStatus': 'Disconnected'}, 'Cloud': {'Environment': 'Prod', 'DetailedPublishing': False, 'EnableDiagnosticTelemetry': False, 'WiserApiHost': 'api-nl.wiserair.com', 'BootStrapApiHost': 'bootstrap.gl.struxurewarecloud.com'}, 'HeatingChannel': [{'id': 1, 'Name': 'Channel-1', 'RoomIds': [1, 2, 4, 5, 6, 7, 8, 9], 'PercentageDemand': 100, 'DemandOnOffOutput': 'On', 'HeatingRelayState': 'On', 'IsSmartValvePreventingDemand': False}], 'HotWater': [{'id': 2, 'OverrideType': 'None', 'ScheduleId': 1000, 'Mode': 'Manual', 'WaterHeatingState': 'Off', 'ScheduledWaterHeatingState': 'Off', 'HotWaterRelayState': 'Off', 'HotWaterDescription': 'FromManualMode'}], 'Room': [{'id': 1, 'ManualSetPoint': 220, 'ScheduleId': 1, 'ComfortModeScore': 432, 'HeatingRate': 972, 'SmartValveIds': [2], 'Name': 'Mum bedroom', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 206, 'CurrentSetPoint': 190, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 190, 'ScheduledSetPoint': 190, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 2, 'ScheduleId': 2, 'ComfortModeScore': 4064, 'HeatingRate': 1571, 'SmartValveIds': [8], 'Name': 'Mums bath room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 205, 'CurrentSetPoint': 150, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 150, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 4, 'ScheduleId': 4, 'HeatingRate': 1200, 'SmartValveIds': [4], 'Name': 'Old kitchen', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 204, 'CurrentSetPoint': 150, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 150, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 5, 'ScheduleId': 5, 'HeatingRate': 1200, 'SmartValveIds': [5], 'Name': 'Hall', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 206, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 6, 'ManualSetPoint': 150, 'OverrideType': 'Manual', 'OverrideTimeoutUnixTime': 1578705300, 'OverrideSetpoint': 260, 'ScheduleId': 6, 'ComfortModeScore': 304, 'HeatingRate': 1200, 'SmartValveIds': [6], 'Name': 'Back room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 242, 'CurrentSetPoint': 260, 'PercentageDemand': 100, 'ControlOutputState': 'On', 'WindowState': 'Closed', 'SetpointOrigin': 'FromBoost', 'DisplayedSetPoint': 260, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 240, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 96}, {'id': 7, 'ScheduleId': 7, 'ComfortModeScore': 10298, 'HeatingRate': 2066, 'SmartValveIds': [7], 'Name': 'Front room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 208, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 210, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 8, 'ManualSetPoint': 100, 'ScheduleId': 8, 'HeatingRate': 1200, 'SmartValveIds': [9], 'Name': 'Top floor', 'Mode': 'Manual', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 128, 'CurrentSetPoint': 100, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromManualMode', 'DisplayedSetPoint': 100, 'ScheduledSetPoint': 150, 'RoundedAlexaTemperature': 130, 'EffectiveMode': 'Manual', 'PercentageDemandForItrv': 0}, {'id': 9, 'ScheduleId': 9, 'ComfortModeScore': 1318, 'HeatingRate': 1597, 'SmartValveIds': [10], 'Name': 'Top bath room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 170, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 170, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}], 'Device': [{'id': 0, 'NodeId': 0, 'ProductType': 'Controller', 'ProductIdentifier': 'Controller', 'ActiveFirmwareVersion': '2.40.0', 'ModelIdentifier': 'WT724R1S0902', 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'ReceptionOfController': {'Rssi': -63}}, {'id': 3, 'NodeId': 11778, 'ProductType': 'RoomStat', 'ProductIdentifier': 'RoomStat', 'ActiveFirmwareVersion': '04E1000900036001', 'ModelIdentifier': 'Thermostat', 'HardwareVersion': '1', 'SerialNumber': '086BD7FFFEF573A9', 'ProductModel': 'Thermostat', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -51, 'Lqi': 196}, 'ReceptionOfDevice': {'Rssi': -53, 'Lqi': 188}}, {'id': 2, 'NodeId': 38699, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C8702', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 30, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -80, 'Lqi': 80}, 'ReceptionOfDevice': {'Rssi': -81, 'Lqi': 76}, 'PendingZigbeeMessageMask': 0}, {'id': 4, 'NodeId': 7613, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7FC0F5', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -75, 'Lqi': 100}, 'PendingZigbeeMessageMask': 0}, {'id': 5, 'NodeId': 59042, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7FC0EE', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -73, 'Lqi': 108}, 'ReceptionOfDevice': {'Rssi': -73, 'Lqi': 108}, 'PendingZigbeeMessageMask': 0}, {'id': 6, 'NodeId': 1914, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C8E06', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -76, 'Lqi': 96}, 'PendingZigbeeMessageMask': 0}, {'id': 7, 'NodeId': 35011, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': '14B457FFFE769487', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -71, 'Lqi': 116}, 'ReceptionOfDevice': {'Rssi': -73, 'Lqi': 108}, 'PendingZigbeeMessageMask': 0}, {'id': 8, 'NodeId': 11320, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': '086BD7FFFEF38BC3', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -50, 'Lqi': 200}, 'ReceptionOfDevice': {'Rssi': -55, 'Lqi': 180}, 'PendingZigbeeMessageMask': 0}, {'id': 9, 'NodeId': 5751, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C7A11', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Good', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -62, 'Lqi': 152}, 'ReceptionOfDevice': {'Rssi': -66, 'Lqi': 136}, 'PendingZigbeeMessageMask': 0}, {'id': 10, 'NodeId': 39298, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C767F', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -54, 'Lqi': 184}, 'ReceptionOfDevice': {'Rssi': -57, 'Lqi': 172}, 'PendingZigbeeMessageMask': 0}], 'Zigbee': {'JPANCount': 8, 'NetworkChannel': 25, 'NoSignalReset': 3}, 'UpgradeInfo': [{'id': 1, 'FirmwareFilename': '0201000000036001FOTA.BIN'}, {'id': 2, 'FirmwareFilename': '0401000000010005FOTA.BIN'}, {'id': 3, 'FirmwareFilename': '0401010100010005FOTA.BIN'}, {'id': 4, 'FirmwareFilename': '0441000000010005FOTA.BIN'}, {'id': 5, 'FirmwareFilename': '0441010100010005FOTA.BIN'}, {'id': 6, 'FirmwareFilename': '04E1000900036001FOTA.BIN'}, {'id': 7, 'FirmwareFilename': '05E1000900000023FOTA.BIN'}, {'id': 8, 'FirmwareFilename': '0A00000000032000FOTA.BIN'}], 'SmartValve': [{'id': 2, 'MountingOrientation': 'Vertical', 'SetPoint': 190, 'MeasuredTemperature': 206, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 4, 'MountingOrientation': 'Vertical', 'SetPoint': 150, 'MeasuredTemperature': 204, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 5, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 206, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 6, 'MountingOrientation': 'Vertical', 'SetPoint': 260, 'MeasuredTemperature': 242, 'PercentageDemand': 100, 'WindowState': 'Closed'}, {'id': 7, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 208, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 8, 'MountingOrientation': 'Vertical', 'SetPoint': 150, 'MeasuredTemperature': 205, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 9, 'MountingOrientation': 'Vertical', 'SetPoint': 100, 'MeasuredTemperature': 128, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 10, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 170, 'PercentageDemand': 0, 'WindowState': 'Closed'}], 'RoomStat': [{'id': 3, 'MeasuredTemperature': 214, 'MeasuredHumidity': 42}], 'DeviceCapabilityMatrix': {'Roomstat': True, 'ITRV': True, 'SmartPlug': True, 'UFH': False, 'UFHFloorTempSensor': False, 'UFHDewSensor': False, 'HACT': False, 'LACT': False}, 'Schedule': [{'id': 1, 'Monday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Tuesday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Wednesday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Thursday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Friday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Saturday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Sunday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Type': 'Heating'}, {'id': 2, 'Monday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 4, 'Monday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 5, 'Monday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Tuesday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Wednesday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Thursday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Friday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Saturday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}]}, 'Sunday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}]}, 'Type': 'Heating'}, {'id': 6, 'Monday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 7, 'Monday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Tuesday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Wednesday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Thursday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Friday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Saturday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Sunday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Type': 'Heating'}, {'id': 8, 'Monday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 9, 'Monday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Tuesday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Wednesday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Thursday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Friday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Saturday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Sunday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Type': 'Heating'}, {'id': 1000, 'Monday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Tuesday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Wednesday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Thursday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Friday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Saturday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Sunday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Type': 'HotWater'}]}
2020-01-11 00:52:46 DEBUG (SyncWorker_13) [wiserHeatingAPI.wiserHub] valve2roomMap{2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:52:46 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:15 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:22 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Exception on post: Cannot connect to host 172.16.10.200:8088 ssl:None [Connect call failed ('172.16.10.200', 8088)]
2020-01-11 00:53:22 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Unable to retrieve HUB id
2020-01-11 00:53:22 WARNING (MainThread) [homeassistant.components.harmony.remote] living room: Unable to connect to HUB.
2020-01-11 00:53:22 WARNING (MainThread) [homeassistant.components.remote] Platform harmony not ready yet. Retrying in 90 seconds.
2020-01-11 00:53:24 WARNING (MainThread) [homeassistant.components.onvif.camera] Couldn't connect to camera 'cam92', but will retry later. Error: Cannot connect to host 172.16.10.236:80 ssl:None [Connect call failed ('172.16.10.236', 80)]
2020-01-11 00:53:24 WARNING (MainThread) [homeassistant.components.camera] Platform onvif not ready yet. Retrying in 90 seconds.
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:45 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:53:47 INFO (SyncWorker_18) [wiserHeatingAPI.wiserHub] Updating Wiser Hub Data
2020-01-11 00:53:50 DEBUG (SyncWorker_18) [wiserHeatingAPI.wiserHub] Wiser Hub Data received {'System': {'PairingStatus': 'Paired', 'TimeZoneOffset': 0, 'AutomaticDaylightSaving': True, 'SystemMode': 'Heat', 'FotaEnabled': True, 'ValveProtectionEnabled': False, 'EcoModeEnabled': True, 'AwayModeAffectsHotWater': False, 'AwayModeSetPointLimit': 160, 'BoilerSettings': {'ControlType': 'HeatSourceType_RelayControlled', 'FuelType': 'Gas', 'CycleRate': 'CPH_6', 'OnOffHysteresis': 5}, 'ZigbeeSettings': {'SuppressApsAcks': True}, 'CoolingModeDefaultSetpoint': 210, 'CoolingAwayModeSetpointLimit': 240, 'ComfortModeEnabled': True, 'PreheatTimeLimit': 10800, 'DegradedModeSetpointThreshold': 180, 'UnixTime': 1578703980, 'ActiveSystemVersion': '2.40.0-f484faf37b', 'BrandName': 'WiserHeat', 'CloudConnectionStatus': 'Connected', 'ZigbeeModuleVersion': 'R311 B021019', 'ZigbeeEui': '14B457FFFE767F49', 'LocalDateAndTime': {'Year': 2020, 'Month': 'January', 'Date': 11, 'Day': 'Saturday', 'Time': 53}, 'HeatingButtonOverrideState': 'Off', 'UserOverridesActive': True, 'HotWaterButtonOverrideState': 'Off', 'OpenThermConnectionStatus': 'Disconnected'}, 'Cloud': {'Environment': 'Prod', 'DetailedPublishing': False, 'EnableDiagnosticTelemetry': False, 'WiserApiHost': 'api-nl.wiserair.com', 'BootStrapApiHost': 'bootstrap.gl.struxurewarecloud.com'}, 'HeatingChannel': [{'id': 1, 'Name': 'Channel-1', 'RoomIds': [1, 2, 4, 5, 6, 7, 8, 9], 'PercentageDemand': 90, 'DemandOnOffOutput': 'On', 'HeatingRelayState': 'On', 'IsSmartValvePreventingDemand': False}], 'HotWater': [{'id': 2, 'OverrideType': 'None', 'ScheduleId': 1000, 'Mode': 'Manual', 'WaterHeatingState': 'Off', 'ScheduledWaterHeatingState': 'Off', 'HotWaterRelayState': 'Off', 'HotWaterDescription': 'FromManualMode'}], 'Room': [{'id': 1, 'ManualSetPoint': 220, 'ScheduleId': 1, 'ComfortModeScore': 432, 'HeatingRate': 972, 'SmartValveIds': [2], 'Name': 'Mum bedroom', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 206, 'CurrentSetPoint': 190, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 190, 'ScheduledSetPoint': 190, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 2, 'ScheduleId': 2, 'ComfortModeScore': 4064, 'HeatingRate': 1571, 'SmartValveIds': [8], 'Name': 'Mums bath room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 205, 'CurrentSetPoint': 150, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 150, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 4, 'ScheduleId': 4, 'HeatingRate': 1200, 'SmartValveIds': [4], 'Name': 'Old kitchen', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 204, 'CurrentSetPoint': 150, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 150, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 5, 'ScheduleId': 5, 'HeatingRate': 1200, 'SmartValveIds': [5], 'Name': 'Hall', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 206, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 6, 'ManualSetPoint': 150, 'OverrideType': 'Manual', 'OverrideTimeoutUnixTime': 1578705300, 'OverrideSetpoint': 260, 'ScheduleId': 6, 'ComfortModeScore': 304, 'HeatingRate': 1200, 'SmartValveIds': [6], 'Name': 'Back room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 243, 'CurrentSetPoint': 260, 'PercentageDemand': 90, 'ControlOutputState': 'On', 'WindowState': 'Closed', 'SetpointOrigin': 'FromBoost', 'DisplayedSetPoint': 260, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 245, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 92}, {'id': 7, 'ScheduleId': 7, 'ComfortModeScore': 10298, 'HeatingRate': 2066, 'SmartValveIds': [7], 'Name': 'Front room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 208, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 210, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 8, 'ManualSetPoint': 100, 'ScheduleId': 8, 'HeatingRate': 1200, 'SmartValveIds': [9], 'Name': 'Top floor', 'Mode': 'Manual', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 129, 'CurrentSetPoint': 100, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromManualMode', 'DisplayedSetPoint': 100, 'ScheduledSetPoint': 150, 'RoundedAlexaTemperature': 130, 'EffectiveMode': 'Manual', 'PercentageDemandForItrv': 0}, {'id': 9, 'ScheduleId': 9, 'ComfortModeScore': 1318, 'HeatingRate': 1597, 'SmartValveIds': [10], 'Name': 'Top bath room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 170, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 170, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}], 'Device': [{'id': 0, 'NodeId': 0, 'ProductType': 'Controller', 'ProductIdentifier': 'Controller', 'ActiveFirmwareVersion': '2.40.0', 'ModelIdentifier': 'WT724R1S0902', 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'ReceptionOfController': {'Rssi': -65}}, {'id': 3, 'NodeId': 11778, 'ProductType': 'RoomStat', 'ProductIdentifier': 'RoomStat', 'ActiveFirmwareVersion': '04E1000900036001', 'ModelIdentifier': 'Thermostat', 'HardwareVersion': '1', 'SerialNumber': '086BD7FFFEF573A9', 'ProductModel': 'Thermostat', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -51, 'Lqi': 196}, 'ReceptionOfDevice': {'Rssi': -53, 'Lqi': 188}}, {'id': 2, 'NodeId': 38699, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C8702', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 30, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -80, 'Lqi': 80}, 'ReceptionOfDevice': {'Rssi': -81, 'Lqi': 76}, 'PendingZigbeeMessageMask': 0}, {'id': 4, 'NodeId': 7613, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7FC0F5', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -74, 'Lqi': 104}, 'PendingZigbeeMessageMask': 0}, {'id': 5, 'NodeId': 59042, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7FC0EE', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -74, 'Lqi': 104}, 'PendingZigbeeMessageMask': 0}, {'id': 6, 'NodeId': 1914, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C8E06', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -76, 'Lqi': 96}, 'PendingZigbeeMessageMask': 0}, {'id': 7, 'NodeId': 35011, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': '14B457FFFE769487', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -72, 'Lqi': 112}, 'ReceptionOfDevice': {'Rssi': -73, 'Lqi': 108}, 'PendingZigbeeMessageMask': 0}, {'id': 8, 'NodeId': 11320, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': '086BD7FFFEF38BC3', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -51, 'Lqi': 196}, 'ReceptionOfDevice': {'Rssi': -55, 'Lqi': 180}, 'PendingZigbeeMessageMask': 0}, {'id': 9, 'NodeId': 5751, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C7A11', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Good', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -62, 'Lqi': 152}, 'ReceptionOfDevice': {'Rssi': -66, 'Lqi': 136}, 'PendingZigbeeMessageMask': 0}, {'id': 10, 'NodeId': 39298, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C767F', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -54, 'Lqi': 184}, 'ReceptionOfDevice': {'Rssi': -57, 'Lqi': 172}, 'PendingZigbeeMessageMask': 0}], 'Zigbee': {'JPANCount': 8, 'NetworkChannel': 25, 'NoSignalReset': 3}, 'UpgradeInfo': [{'id': 1, 'FirmwareFilename': '0201000000036001FOTA.BIN'}, {'id': 2, 'FirmwareFilename': '0401000000010005FOTA.BIN'}, {'id': 3, 'FirmwareFilename': '0401010100010005FOTA.BIN'}, {'id': 4, 'FirmwareFilename': '0441000000010005FOTA.BIN'}, {'id': 5, 'FirmwareFilename': '0441010100010005FOTA.BIN'}, {'id': 6, 'FirmwareFilename': '04E1000900036001FOTA.BIN'}, {'id': 7, 'FirmwareFilename': '05E1000900000023FOTA.BIN'}, {'id': 8, 'FirmwareFilename': '0A00000000032000FOTA.BIN'}], 'SmartValve': [{'id': 2, 'MountingOrientation': 'Vertical', 'SetPoint': 190, 'MeasuredTemperature': 206, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 4, 'MountingOrientation': 'Vertical', 'SetPoint': 150, 'MeasuredTemperature': 204, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 5, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 206, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 6, 'MountingOrientation': 'Vertical', 'SetPoint': 260, 'MeasuredTemperature': 243, 'PercentageDemand': 100, 'WindowState': 'Closed'}, {'id': 7, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 208, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 8, 'MountingOrientation': 'Vertical', 'SetPoint': 150, 'MeasuredTemperature': 205, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 9, 'MountingOrientation': 'Vertical', 'SetPoint': 100, 'MeasuredTemperature': 129, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 10, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 170, 'PercentageDemand': 0, 'WindowState': 'Closed'}], 'RoomStat': [{'id': 3, 'MeasuredTemperature': 214, 'MeasuredHumidity': 42}], 'DeviceCapabilityMatrix': {'Roomstat': True, 'ITRV': True, 'SmartPlug': True, 'UFH': False, 'UFHFloorTempSensor': False, 'UFHDewSensor': False, 'HACT': False, 'LACT': False}, 'Schedule': [{'id': 1, 'Monday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Tuesday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Wednesday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Thursday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Friday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Saturday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Sunday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Type': 'Heating'}, {'id': 2, 'Monday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 4, 'Monday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 5, 'Monday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Tuesday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Wednesday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Thursday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Friday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Saturday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}]}, 'Sunday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}]}, 'Type': 'Heating'}, {'id': 6, 'Monday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 7, 'Monday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Tuesday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Wednesday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Thursday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Friday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Saturday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Sunday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Type': 'Heating'}, {'id': 8, 'Monday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 9, 'Monday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Tuesday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Wednesday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Thursday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Friday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Saturday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Sunday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Type': 'Heating'}, {'id': 1000, 'Monday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Tuesday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Wednesday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Thursday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Friday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Saturday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Sunday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Type': 'HotWater'}]}
2020-01-11 00:53:50 DEBUG (SyncWorker_18) [wiserHeatingAPI.wiserHub] valve2roomMap{2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:16 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:44 ERROR (SyncWorker_13) [homeassistant.core] Error doing job: Unclosed client session
2020-01-11 00:54:44 ERROR (SyncWorker_13) [homeassistant.core] Error doing job: Unclosed client session
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:47 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:54:56 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Exception on post: Cannot connect to host 172.16.10.200:8088 ssl:None [Connect call failed ('172.16.10.200', 8088)]
2020-01-11 00:54:56 ERROR (MainThread) [aioharmony.hubconnector] 172.16.10.200: Unable to retrieve HUB id
2020-01-11 00:54:56 WARNING (MainThread) [homeassistant.components.harmony.remote] living room: Unable to connect to HUB.
2020-01-11 00:54:56 WARNING (MainThread) [homeassistant.components.remote] Platform harmony not ready yet. Retrying in 120 seconds.
2020-01-11 00:54:58 WARNING (MainThread) [homeassistant.components.onvif.camera] Couldn't connect to camera 'cam92', but will retry later. Error: Cannot connect to host 172.16.10.236:80 ssl:None [Connect call failed ('172.16.10.236', 80)]
2020-01-11 00:54:58 WARNING (MainThread) [homeassistant.components.camera] Platform onvif not ready yet. Retrying in 120 seconds.
2020-01-11 00:55:18 INFO (SyncWorker_4) [wiserHeatingAPI.wiserHub] Updating Wiser Hub Data
2020-01-11 00:55:18 DEBUG (SyncWorker_4) [wiserHeatingAPI.wiserHub] Wiser Hub Data received {'System': {'PairingStatus': 'Paired', 'TimeZoneOffset': 0, 'AutomaticDaylightSaving': True, 'SystemMode': 'Heat', 'FotaEnabled': True, 'ValveProtectionEnabled': False, 'EcoModeEnabled': True, 'AwayModeAffectsHotWater': False, 'AwayModeSetPointLimit': 160, 'BoilerSettings': {'ControlType': 'HeatSourceType_RelayControlled', 'FuelType': 'Gas', 'CycleRate': 'CPH_6', 'OnOffHysteresis': 5}, 'ZigbeeSettings': {'SuppressApsAcks': True}, 'CoolingModeDefaultSetpoint': 210, 'CoolingAwayModeSetpointLimit': 240, 'ComfortModeEnabled': True, 'PreheatTimeLimit': 10800, 'DegradedModeSetpointThreshold': 180, 'UnixTime': 1578704100, 'ActiveSystemVersion': '2.40.0-f484faf37b', 'BrandName': 'WiserHeat', 'CloudConnectionStatus': 'Connected', 'ZigbeeModuleVersion': 'R311 B021019', 'ZigbeeEui': '14B457FFFE767F49', 'LocalDateAndTime': {'Year': 2020, 'Month': 'January', 'Date': 11, 'Day': 'Saturday', 'Time': 55}, 'HeatingButtonOverrideState': 'Off', 'UserOverridesActive': True, 'HotWaterButtonOverrideState': 'Off', 'OpenThermConnectionStatus': 'Disconnected'}, 'Cloud': {'Environment': 'Prod', 'DetailedPublishing': False, 'EnableDiagnosticTelemetry': False, 'WiserApiHost': 'api-nl.wiserair.com', 'BootStrapApiHost': 'bootstrap.gl.struxurewarecloud.com'}, 'HeatingChannel': [{'id': 1, 'Name': 'Channel-1', 'RoomIds': [1, 2, 4, 5, 6, 7, 8, 9], 'PercentageDemand': 83, 'DemandOnOffOutput': 'On', 'HeatingRelayState': 'On', 'IsSmartValvePreventingDemand': False}], 'HotWater': [{'id': 2, 'OverrideType': 'None', 'ScheduleId': 1000, 'Mode': 'Manual', 'WaterHeatingState': 'Off', 'ScheduledWaterHeatingState': 'Off', 'HotWaterRelayState': 'Off', 'HotWaterDescription': 'FromManualMode'}], 'Room': [{'id': 1, 'ManualSetPoint': 220, 'ScheduleId': 1, 'ComfortModeScore': 432, 'HeatingRate': 972, 'SmartValveIds': [2], 'Name': 'Mum bedroom', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 206, 'CurrentSetPoint': 190, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 190, 'ScheduledSetPoint': 190, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 2, 'ScheduleId': 2, 'ComfortModeScore': 4064, 'HeatingRate': 1571, 'SmartValveIds': [8], 'Name': 'Mums bath room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 205, 'CurrentSetPoint': 150, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 150, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 4, 'ScheduleId': 4, 'HeatingRate': 1200, 'SmartValveIds': [4], 'Name': 'Old kitchen', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 204, 'CurrentSetPoint': 150, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 150, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 5, 'ScheduleId': 5, 'HeatingRate': 1200, 'SmartValveIds': [5], 'Name': 'Hall', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 206, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'RoundedAlexaTemperature': 205, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 6, 'ManualSetPoint': 150, 'OverrideType': 'Manual', 'OverrideTimeoutUnixTime': 1578705300, 'OverrideSetpoint': 260, 'ScheduleId': 6, 'ComfortModeScore': 304, 'HeatingRate': 1200, 'SmartValveIds': [6], 'Name': 'Back room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 245, 'CurrentSetPoint': 260, 'PercentageDemand': 83, 'ControlOutputState': 'On', 'WindowState': 'Closed', 'SetpointOrigin': 'FromBoost', 'DisplayedSetPoint': 260, 'ScheduledSetPoint': 150, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 245, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 83}, {'id': 7, 'ScheduleId': 7, 'ComfortModeScore': 10298, 'HeatingRate': 2066, 'SmartValveIds': [7], 'Name': 'Front room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 208, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 210, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}, {'id': 8, 'ManualSetPoint': 100, 'ScheduleId': 8, 'HeatingRate': 1200, 'SmartValveIds': [9], 'Name': 'Top floor', 'Mode': 'Manual', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 129, 'CurrentSetPoint': 100, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromManualMode', 'DisplayedSetPoint': 100, 'ScheduledSetPoint': 150, 'RoundedAlexaTemperature': 130, 'EffectiveMode': 'Manual', 'PercentageDemandForItrv': 0}, {'id': 9, 'ScheduleId': 9, 'ComfortModeScore': 1318, 'HeatingRate': 1597, 'SmartValveIds': [10], 'Name': 'Top bath room', 'Mode': 'Auto', 'DemandType': 'Modulating', 'WindowDetectionActive': False, 'ControlSequenceOfOperation': 'HeatingOnly', 'HeatingType': 'HydronicRadiator', 'CalculatedTemperature': 170, 'CurrentSetPoint': 120, 'PercentageDemand': 0, 'ControlOutputState': 'Off', 'WindowState': 'Closed', 'SetpointOrigin': 'FromSchedule', 'DisplayedSetPoint': 120, 'ScheduledSetPoint': 120, 'AwayModeSuppressed': False, 'RoundedAlexaTemperature': 170, 'EffectiveMode': 'Auto', 'PercentageDemandForItrv': 0}], 'Device': [{'id': 0, 'NodeId': 0, 'ProductType': 'Controller', 'ProductIdentifier': 'Controller', 'ActiveFirmwareVersion': '2.40.0', 'ModelIdentifier': 'WT724R1S0902', 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'ReceptionOfController': {'Rssi': -64}}, {'id': 3, 'NodeId': 11778, 'ProductType': 'RoomStat', 'ProductIdentifier': 'RoomStat', 'ActiveFirmwareVersion': '04E1000900036001', 'ModelIdentifier': 'Thermostat', 'HardwareVersion': '1', 'SerialNumber': '086BD7FFFEF573A9', 'ProductModel': 'Thermostat', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -51, 'Lqi': 196}, 'ReceptionOfDevice': {'Rssi': -53, 'Lqi': 188}}, {'id': 2, 'NodeId': 38699, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C8702', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 30, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -80, 'Lqi': 80}, 'ReceptionOfDevice': {'Rssi': -81, 'Lqi': 76}, 'PendingZigbeeMessageMask': 0}, {'id': 4, 'NodeId': 7613, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7FC0F5', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -76, 'Lqi': 96}, 'PendingZigbeeMessageMask': 0}, {'id': 5, 'NodeId': 59042, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7FC0EE', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -73, 'Lqi': 108}, 'ReceptionOfDevice': {'Rssi': -73, 'Lqi': 108}, 'PendingZigbeeMessageMask': 0}, {'id': 6, 'NodeId': 1914, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C8E06', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -75, 'Lqi': 100}, 'ReceptionOfDevice': {'Rssi': -75, 'Lqi': 100}, 'PendingZigbeeMessageMask': 0}, {'id': 7, 'NodeId': 35011, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': '14B457FFFE769487', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Medium', 'BatteryVoltage': 31, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -74, 'Lqi': 104}, 'ReceptionOfDevice': {'Rssi': -75, 'Lqi': 100}, 'PendingZigbeeMessageMask': 0}, {'id': 8, 'NodeId': 11320, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': '086BD7FFFEF38BC3', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -50, 'Lqi': 200}, 'ReceptionOfDevice': {'Rssi': -55, 'Lqi': 180}, 'PendingZigbeeMessageMask': 0}, {'id': 9, 'NodeId': 5751, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C7A11', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'Good', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -62, 'Lqi': 152}, 'ReceptionOfDevice': {'Rssi': -66, 'Lqi': 136}, 'PendingZigbeeMessageMask': 0}, {'id': 10, 'NodeId': 39298, 'ProductType': 'iTRV', 'ProductIdentifier': 'iTRV', 'ActiveFirmwareVersion': '0201000000036001', 'ModelIdentifier': 'iTRV', 'HardwareVersion': '0', 'SerialNumber': 'CCCCCCFFFE7C767F', 'ProductModel': 'iTRV', 'OtaImageQueryCount': 0, 'LastOtaImageQueryCount': 0, 'ParentNodeId': 0, 'DeviceLockEnabled': False, 'DisplayedSignalStrength': 'VeryGood', 'BatteryVoltage': 32, 'BatteryLevel': 'Normal', 'ReceptionOfController': {'Rssi': -54, 'Lqi': 184}, 'ReceptionOfDevice': {'Rssi': -57, 'Lqi': 172}, 'PendingZigbeeMessageMask': 0}], 'Zigbee': {'JPANCount': 8, 'NetworkChannel': 25, 'NoSignalReset': 3}, 'UpgradeInfo': [{'id': 1, 'FirmwareFilename': '0201000000036001FOTA.BIN'}, {'id': 2, 'FirmwareFilename': '0401000000010005FOTA.BIN'}, {'id': 3, 'FirmwareFilename': '0401010100010005FOTA.BIN'}, {'id': 4, 'FirmwareFilename': '0441000000010005FOTA.BIN'}, {'id': 5, 'FirmwareFilename': '0441010100010005FOTA.BIN'}, {'id': 6, 'FirmwareFilename': '04E1000900036001FOTA.BIN'}, {'id': 7, 'FirmwareFilename': '05E1000900000023FOTA.BIN'}, {'id': 8, 'FirmwareFilename': '0A00000000032000FOTA.BIN'}], 'SmartValve': [{'id': 2, 'MountingOrientation': 'Vertical', 'SetPoint': 190, 'MeasuredTemperature': 206, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 4, 'MountingOrientation': 'Vertical', 'SetPoint': 150, 'MeasuredTemperature': 204, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 5, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 206, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 6, 'MountingOrientation': 'Vertical', 'SetPoint': 260, 'MeasuredTemperature': 245, 'PercentageDemand': 91, 'WindowState': 'Closed'}, {'id': 7, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 208, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 8, 'MountingOrientation': 'Vertical', 'SetPoint': 150, 'MeasuredTemperature': 205, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 9, 'MountingOrientation': 'Vertical', 'SetPoint': 100, 'MeasuredTemperature': 129, 'PercentageDemand': 0, 'WindowState': 'Closed'}, {'id': 10, 'MountingOrientation': 'Vertical', 'SetPoint': 120, 'MeasuredTemperature': 170, 'PercentageDemand': 0, 'WindowState': 'Closed'}], 'RoomStat': [{'id': 3, 'MeasuredTemperature': 214, 'MeasuredHumidity': 42}], 'DeviceCapabilityMatrix': {'Roomstat': True, 'ITRV': True, 'SmartPlug': True, 'UFH': False, 'UFHFloorTempSensor': False, 'UFHDewSensor': False, 'HACT': False, 'LACT': False}, 'Schedule': [{'id': 1, 'Monday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Tuesday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Wednesday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Thursday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Friday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Saturday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Sunday': {'SetPoints': [{'Time': 810, 'DegreesC': 230}, {'Time': 900, 'DegreesC': 150}, {'Time': 2015, 'DegreesC': 230}, {'Time': 2130, 'DegreesC': 190}]}, 'Type': 'Heating'}, {'id': 2, 'Monday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 735, 'DegreesC': 240}, {'Time': 830, 'DegreesC': 150}, {'Time': 1915, 'DegreesC': 220}, {'Time': 2130, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 4, 'Monday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 5, 'Monday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Tuesday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Wednesday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Thursday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Friday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}, {'Time': 915, 'DegreesC': 205}, {'Time': 1015, 'DegreesC': 190}]}, 'Saturday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}]}, 'Sunday': {'SetPoints': [{'Time': 30, 'DegreesC': 120}, {'Time': 730, 'DegreesC': 190}]}, 'Type': 'Heating'}, {'id': 6, 'Monday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 900, 'DegreesC': 200}, {'Time': 1000, 'DegreesC': 180}, {'Time': 1800, 'DegreesC': 240}, {'Time': 2359, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 7, 'Monday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Tuesday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Wednesday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Thursday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Friday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 945, 'DegreesC': 190}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Saturday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Sunday': {'SetPoints': [{'Time': 800, 'DegreesC': 230}, {'Time': 1640, 'DegreesC': 250}, {'Time': 2050, 'DegreesC': 210}, {'Time': 2359, 'DegreesC': 120}]}, 'Type': 'Heating'}, {'id': 8, 'Monday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Tuesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Wednesday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Thursday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Friday': {'SetPoints': [{'Time': 630, 'DegreesC': 190}, {'Time': 830, 'DegreesC': 150}, {'Time': 1630, 'DegreesC': 200}, {'Time': 2230, 'DegreesC': 150}]}, 'Saturday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Sunday': {'SetPoints': [{'Time': 700, 'DegreesC': 190}, {'Time': 1000, 'DegreesC': 170}, {'Time': 1600, 'DegreesC': 200}, {'Time': 2300, 'DegreesC': 150}]}, 'Type': 'Heating'}, {'id': 9, 'Monday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Tuesday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Wednesday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Thursday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Friday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Saturday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Sunday': {'SetPoints': [{'Time': 830, 'DegreesC': 190}, {'Time': 930, 'DegreesC': 170}, {'Time': 2230, 'DegreesC': 120}]}, 'Type': 'Heating'}, {'id': 1000, 'Monday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Tuesday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Wednesday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Thursday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Friday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Saturday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Sunday': {'SetPoints': [{'Time': 830, 'DegreesC': -200}]}, 'Type': 'HotWater'}]}
2020-01-11 00:55:18 DEBUG (SyncWorker_4) [wiserHeatingAPI.wiserHub] valve2roomMap{2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:18 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}
2020-01-11 00:55:49 DEBUG (MainThread) [wiserHeatingAPI.wiserHub] getDeviceRoom called, valve2roomMap is {2: {'roomId': 1, 'roomName': 'Mum bedroom'}, 8: {'roomId': 2, 'roomName': 'Mums bath room'}, 4: {'roomId': 4, 'roomName': 'Old kitchen'}, 5: {'roomId': 5, 'roomName': 'Hall'}, 6: {'roomId': 6, 'roomName': 'Back room'}, 7: {'roomId': 7, 'roomName': 'Front room'}, 9: {'roomId': 8, 'roomName': 'Top floor'}, 10: {'roomId': 9, 'roomName': 'Top bath room'}}

from wiserhomeassistantplatform.

msp1974 avatar msp1974 commented on June 1, 2024

Angelo,

Have sent you a PR on the wiserHubAPI to fix this.

KR
Mark

from wiserhomeassistantplatform.

asantaga avatar asantaga commented on June 1, 2024

thanks @msp1974 , I think this is now fixed, updating HA component so that it pulls in the latest wiserhubapi

from wiserhomeassistantplatform.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.