@string-bean/drayton-wiser-client
v0.6.0
Published
Client for Drayton Wiser heating systems
Downloads
15
Readme
drayton-wiser-client
This is heavily based on the wiserheatingapi Python package and the work by Julian Knight.
Running the example app
- Obtain the secret key for your system:
- Press the setup button on your HeatHub.
- Connect your phone or PC to the temporary setup Wi-Fi hotspot called
WiserHeatXXX
. - Fetch the secret using a REST client (or just open in a browser) from: http://192.168.8.1/secret/
- Press the setup button on your HeatHub to exit setup mode.
- List the status of your rooms using the demo app:
npm run demo -- -s $SECRET_KEY list
Using the client
To create a client pass in the secret and address of the HeatHub, then start calling operations:
import WiserClient from 'WiserClient';
const client = WiserClient.clientWithDiscovery('secret');
const statuses = await client.roomStatuses();
statuses.forEach((room) => {
if (room.valid) {
console.log(`${room.name}: ${room.temperature}ºc`);
} else {
console.log(`${room.name}: (invalid)`);
}
});
Examples of each operation can be found in the example app.
Supported Operations
- System status:
client.systemStatus()
. - List room statuses:
client.roomStatuses()
. - Single room status:
client.roomStatus(roomId)
. - Manually set room target:
client.overrideRoomSetPoint(roomId, setPoint)
. - Turn off a room:
client.disableRoom(roomId)
. - Cancel room overrides:
client.cancelRoomOverride(roomId)
. - Enable away mode:
client.enableAwayMode()
. - Disable away mode:
client.disableAwayMode()
. - Boost all rooms:
client.boostAllRooms()
. - Cancel all room overrides:
client.cancelAllOverrides()
. - Fetch the status of everything:
client.fullStatus()
.