Adapter connects with api and retrieves list of homes, rooms and devices connected to your mill user.
Use make deb-arm
to make package.
After adapter is installed on hub, go to playground -> Mill -> settings -> login
After logging in this message will be sent to FIMP:
Topic
pt:j1/mt:evt/rt:dev/rn:mill/ad:1
Payload
{
"type": "cmd.auth.set_tokens",
"serv": "mill",
"val_t": "str_map",
"val": {
"username": "appUsername",
"password": "appPassword"
}
}
The program then does some magic to retrieve a unique authorization code, access_token, refresh_token, expireTime and refresh_expireTime. When a valid access_token is received you can get information about all homes, rooms and devices, as well as setting temperature on devices. Access_token is valid for 2 hours, and when it expires the adapter automatically refreshes all tokens. The refresh_token is valid for 30 days, meaning that if the adapter is turned off for more than 30 days you will need to log in again.
The program saves all configs such as credentials, expiretimes and devices so that you only need to use cmd.auth.set_tokens
once.
After logging into the Mill app in playgrounds, all devices connected to your Mill user will be included in the Futurehome app. To activate a device you need to place it in a room, and then set the room temperature. Your device will then periodically send temperature reports, and will be controlled automatically by Futurehome's climate controll.
Initially the devices will send temperature reports every 5 minutes. This can be changed at any time by going to playground -> Mill -> settings -> advanced setup -> Poll Time
. You can set Poll Time to any whole number from 1 to inf minutes.
If you have devices on your Mill account that you dont want in the Futurehome app, simply go to device and click delete
. If you change your mind, or delete a device by accident, you can reinclude all devices by going to playground -> Mill -> settings -> advanced setup -> sync
.
thermostat
Type | Interface | Value type | Description |
---|---|---|---|
in | cmd.mode.get_report | null | |
in | cmd.mode.set | string | set thermostat mode |
out | evt.mode.report | string | |
- | |||
in | cmd.setpoint.get_report | string | value is a set-point type |
in | cmd.setpoint.set | str_map | val = {"type":"heat", "temp":"21.5", "unit":"C"} |
out | evt.setpoint.report | str_map | val = {"type":"heat", "temp":"21.5", "unit":"C"} |
sensor_temp
Type | Interface | Value type | Description |
---|---|---|---|
in | cmd.sensor.get_report | null | |
in | evt.sensor.report | float | measured temperature |