The notification reducer should decide when to display notifications rather than having notifications scattered throughout the code.
Also start using translations so that user-visible strings are not scattered in code.
Chrome has an annoying warning when downloading .py files, e.g https://stackoverflow.com/q/34130774/1976323
Workaround is to enable the "Ask where to save each file before downloading" setting.
The city hub requires that certain messages are write with response and
others are write without response, otherwise it will cause BlueZ to
disconnect because it does not follow proper BLE protocol.
On Linux/BlueZ, sometimes the services are not enumerated properly and
the user has to remove the Bluetooth device from BlueZ, then it should
work correctly.