homebridge-kobold-Homaassis.../README.md

128 lines
4.0 KiB
Markdown
Raw Permalink Normal View History

2020-12-12 15:42:06 +01:00
# homebridge-kobold
This is a plugin for [homebridge](https://github.com/nfarina/homebridge) to control your [Vorwerk Kobold](https://kobold.vorwerk.de/saugroboter/) VR300 vacuum robot. You can download it via [npm](https://www.npmjs.com/package/homebridge-kobold).
2017-04-30 14:17:21 +02:00
2020-12-13 22:51:05 +01:00
It is based on a fork of naofireblade's [homebridge-neato](https://github.com/naofireblade/homebridge-neato), merged with the oAuth authentication mechanism from nicoh88's [homebridge-vorwerk](https://github.com/nicoh88/homebridge-vorwerk).
2020-12-13 22:49:48 +01:00
The interaction with the Server is handled by the underlying [node-kobold-control](https://github.com/himbeles/node-kobold-control) module.
2017-04-18 02:51:59 +02:00
2017-06-07 10:48:11 +02:00
## Features
2017-04-18 02:51:59 +02:00
2019-09-24 20:32:09 +02:00
- House Cleaning
2019-09-22 22:16:58 +02:00
- Eco mode
- Extra care navigation
- Nogo lines
- Zone cleaning <sup>[1](#change-room)</sup>
2019-09-23 09:12:25 +02:00
- Spot cleaning
- Individual spot size <sup>[2](#eve)</sup>
- Clean twice <sup>[2](#eve)</sup>
2018-11-14 18:22:27 +01:00
- Return to dock
2019-09-22 22:16:58 +02:00
- Find the robot
2019-09-24 20:32:09 +02:00
- Schedule (de)activation
2019-09-22 22:16:58 +02:00
- Robot information
2019-09-24 20:32:09 +02:00
- Battery level
- Charging state
- Dock occupancy
- Model and firmware version
- Automatic or periodic refresh of robot state
2019-09-22 22:16:58 +02:00
- Multiple robots
2017-05-04 19:24:33 +02:00
2021-02-07 11:15:08 +01:00
- German or English Language Setting
2019-10-18 10:02:55 +02:00
> <b name="change-room">2</b> You can send the robot from one room to another as well. He will return to the base, wait there some seconds and then starts cleaning the next room.
2019-10-12 11:29:10 +02:00
2020-03-14 00:32:48 +01:00
> <b name="eve">3</b> You need a third party app like eve to access these features.
2017-06-07 10:48:11 +02:00
## Installation
2017-04-30 14:17:21 +02:00
1. Install homebridge using: `npm install -g homebridge`
2020-12-12 15:42:06 +01:00
2. Install this plugin using: `npm install -g homebridge-kobold`
3. Update your configuration file. See the sample below.
2017-06-07 10:48:46 +02:00
## Configuration
2017-06-07 10:51:14 +02:00
Add the following information to your config file. Change the values for email and password.
### Simple
```json
"platforms": [
{
2020-12-13 18:33:13 +01:00
"platform": "KoboldVacuumRobot",
2021-02-07 11:15:08 +01:00
"token": "YourToken",
"language": "de"
}
]
```
You can get a token using the following two curl commands:
```bash
# This will trigger the email sending
curl -X "POST" "https://mykobold.eu.auth0.com/passwordless/start" \
-H 'Content-Type: application/json' \
2020-12-13 10:23:59 +01:00
-d '{
"send": "code",
"email": "ENTER_YOUR_EMAIL_HERE",
"client_id": "KY4YbVAvtgB7lp8vIbWQ7zLk3hssZlhR",
"connection": "email"
}'
```
==== wait for the email to be received ====
```bash
# this will generate a token using the numbers you received via email
# replace the value of otp 123456 with the value you received from the email
curl -X "POST" "https://mykobold.eu.auth0.com/oauth/token" \
-H 'Content-Type: application/json' \
2020-12-13 10:23:59 +01:00
-d '{
"prompt": "login",
"grant_type": "http://auth0.com/oauth/grant-type/passwordless/otp",
"scope": "openid email profile read:current_user",
"locale": "en",
"otp": "123456",
"source": "vorwerk_auth0",
"platform": "ios",
"audience": "https://mykobold.eu.auth0.com/userinfo",
"username": "ENTER_YOUR_EMAIL_HERE",
"client_id": "KY4YbVAvtgB7lp8vIbWQ7zLk3hssZlhR",
"realm": "email",
"country_code": "DE"
}'
```
From the output, you want to copy the `id_token` value.
2021-02-07 11:15:08 +01:00
The `language` can be `de` for German, or `en` for English.
2017-06-07 10:48:46 +02:00
### Advanced
2017-06-07 10:47:01 +02:00
2019-10-18 10:02:55 +02:00
Below are explanations for advanced parameters to adjust the plugin to your needs. All parameters are *optional*.
2019-10-18 10:02:55 +02:00
**refresh**
Timer for periodic refresh of robot state. The default is `auto`. The options are:
`auto` Updates the robot state when a cleaning was started via homekit so that you can activate automations based on a successful cleaning.
`120` Or any other time in seconds (minimum `60`) is required if you want to receive robot state updates after starting the cleaning from outside of homekit (e.g. neato app or schedule).
`0` Disables background updates completely.
2019-10-18 10:02:55 +02:00
**hidden**
List of plugin features that you don't want to use in homekit (e.g. `dock`, `dockstate`, `eco`, `nogolines`, `extracare`, `schedule`, `find`, `spot`).
```json
"platforms": [
2017-04-18 02:51:59 +02:00
{
"platform": "KoboldVacuumRobot",
"token": "YourToken",
"refresh": "120",
2021-02-07 11:15:08 +01:00
"hidden": ["dock", "dockstate", "eco", "nogolines", "extracare", "schedule", "find", "spot"],
"language": "de"
2017-04-18 02:51:59 +02:00
}
]
```
2017-06-07 10:48:11 +02:00
## Tested robots
- Vorwerk Kobold VR300