Package: wiserHeatAPIv2
Drayton Wiser Hub API v2 v0.0.42This repository contains a simple API which queries the Drayton Wiser Heating sysystem used in the UK.The API functionality provides the following functionality to control the wiser heating system for 1,2 and 3 channel heat hubs
The API also supports Smart Plugs and initial basic functionality for Shutter and LightsInstallation1. Find your HeatHub Secret keyReferencehttps://it.knightnet.org.uk/kb/nr-qa/drayton-wiser-heating-control/#controlling-the-systemPress the setup button on your HeatHub, the light will start flashing
Look for the Wi-Fi network (SSID) called‘WiserHeatXXXXXX’where XXXXXX is last 6 digits of the MAC addressConnect to the network from a Windows/Linux/Mac/Android/iPhone machineExecute the secret url :-)Open a browser to urlhttp://192.168.8.1/secretThis will return a string which is your system secret, store this somewhere. If you are running the test script simply put this value , with the ip address of the hub, in your wiserkeys.paramsPress the setup button on the HeatHub again and it will go back to normal operationsCopy the secret and save it somewhere.3. Find Your HEATHUB IPUsing your router, or something else, identify the IP address of your HeatHub, it usually identifies itself as the same ID as theWiserHeatXXXXXXAlternatively see the test_api_discovery.py file for how to use the api to discover your hub4. Add values in you params.py to run testsCreate a file called params.py and place two lines, one with the wiser IP or hostname and the other with the secret key.
e.g.HOST=192.168.0.22
KEY=ABCDCDCDCCCDCDC5. Run the sampleTo help understand the api simply look at the test sample codetests/test_api_properties.py,tests/test_api_methods.pyortests/test_api_discovery.pyand the fully commented code.6. DocumentationDocumentation available ininfo.mdin the docs directory and within comments in the codeChangelog0.0.1Initial v2 release0.0.2Updated setup.cfg0.0.3Restructured codeAdded Wiser moments integration (minimal at present)0.0.4Changed info logging to debug0.0.7Fixed multiple bugs0.0.8Fixed multiple bugsAdded new features to work with HA integration0.0.9Fixed moments bug not referencing rest controllerRenamed smartplug away mode actionRenamed smartplug power propertiesCleaned up unnecessary code0.0.10Added documentation on usage and examplessee info.mdDiscovery now returns class objectFix bug in away_mode_target_temperature setter0.0.11Added number_of_smartvalves and smartvalve_ids properties0.0.12Fix bug in boost_all_rooms that used incorrect temp delta0.0.13Add support for Heating Actuator devicesAdd basic support for ShuttersAdd basic support for Lights0.0.14Add room_id to all devicesAdd heating_actuator_ids, number_of_heating_actuators, device_lock properties to Heating Actuator devicesAdd additional overrides to _WiserElectricalDevice classAdd signal_rssi_min and signal_rssi_max to network property0.0.15Fix json error when hub returns control characters in string0.0.16Added a cli interface to output json data from the hub for debugging0.0.17Fixed path pointed to local dev machine instead of install dir for test scriptsFixed documentation link on PypiAmended evaluation order for json sub branches in cliAdded retries and backoff factor to improve hub connections on poor networks0.0.20Fixed issue where setting mode to off when boosted did not cancel boostBump ruamel.yaml to 0.17.20 to fix incompatibilitty issue with Python 3.10 * Issue#2Added version command to cli to output API versionAdded new properties to lightsAdded new properties to shuttersAdded new class for shutter lift rangeAdded new method to write json output to file (output_raw_hub_data)Removed lift_open_time and lift_close_time and replace with _WiserLiftMovementRange class0.0.23Added commands to control lightsAdded commands to control shuttersRestructured schedules to manage heating, onoff and level types and their variationReverted ruamel.yaml dependancy to 0.16.12 to resolve install issues on certain versions of Alpine linux0.0.24Added initial support for UFH controllerFix to allow reported current temp below 5C0.0.25Fix for schedule id returning None in light.py and shutter.pyRearchitected capabilities classFix for command issue for current_lift in shutter.pyRename output_range to minimum and maximum from min/max in light.pyAdded product_identifier and product_model properties to devicesAdded manual_level, override_level and scheduled_percentage properties to light.pyAdded comfort_mode_score, control_direction, demand_type, displayed_setpoint and heating type properties to room.pyAdded version property to apiAdded available modes to lights and shutters collectionRearchitected how api holds and manages schedulesAdded schedule_id property to smartplugs and hot water0.0.26Add onoff lights to light types0.0.27Fix issue using wrong id for lights and shutter device command.Added identify method for Smart PlugAdded new assign, create, delete functions to schedulesAdded new allow_add_devices method to system object to allow new device pairingAdded new add and delete methods on room object to create/delete roomAdded detected_networks property to system.network objectAdded connect_to_network method to allow changing wifi connection on hubRemoved unused get_by_room_name on device s collection0.0.28Fix issue assigning existing schedules to Level devices - Issue #120.0.29Fix another issue when creating or assigning Level schedulesAdd device_type_id property to devices to accomodate different ids for lights and shutters for certain commandsAmend schedule_type to be Level for all level schedulesAdd system.opentherm property class - Issue #15Amend system.opentherm_connection status to be system.opentherm.connection_statusFix error if device does not report RSSI0.0.31Restructured helpers into seperate filesRename schedule.schedule_level_type to schedule.level_typeRename schedule.schedule_level_type_id to schedule.level_typeRestructure opentherm helper and add propertiesAdd device_type_ids to schedules0.0.32Added special times supportAmended TRV battery percentage logicReordered when schedule object gets createdFixed error in controller signal strength0.0.33Fixed issue where battery voltage over 3v shows 0% levelReplaced device_ids/room_ids on schedules with assignments, assignment_ids, assignment_namesAdded ws_schedule_data and set_schedule_from_ws_data to support webservice for Wiser Schedule Card in HA0.0.34Fixed issue where create_schedule was passing wrong schedule type to hub0.0.35Fixed issue whereby Level schedule can have no schedule data.  Return day data with empty slotsFixed issue whereby Level schedule with no schedule data does not return schedule.next objectEnsure default empty schedule when creating Level schedule0.0.36Fix issue with special times format for level schedules (EU hubs only)0.0.37Fix issue with schedule name property setter0.0.38Add raw_hub_data property to return all read data from hub0.0.39Fix for OnOff schedules not correctly handling midnight times/settings0.0.40Add next schedule datetime property0.0.41Prevent recreation of http session on each hub update0.0.42Add connection close headerAdd connection pools functionRemove UTF8 from content-type string