I have seen a situation whereby setting the boost temp when calling setRoomMode causes an error from the hub that it is expecting an integer.
I think this is caused by the fact that passing a float value (ie 21.5) to the method maintains a float when passing to the hub.
Line
temp=boost_temp*10
needs to be
temp=int(boost_temp*10)
to ensure this cannot happen
Thx Mark