Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/elvismdev/wemo-insight-auto
:zap: Smart control for Wemo Insight Switch devices
https://github.com/elvismdev/wemo-insight-auto
appliance-monitor diy javascript mining-rig nodejs smarthome smartthings wemo-insight
Last synced: about 2 months ago
JSON representation
:zap: Smart control for Wemo Insight Switch devices
- Host: GitHub
- URL: https://github.com/elvismdev/wemo-insight-auto
- Owner: elvismdev
- License: bsd-3-clause
- Created: 2018-07-24T07:58:17.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-08-25T18:26:14.000Z (over 6 years ago)
- Last Synced: 2024-04-25T12:03:29.584Z (8 months ago)
- Topics: appliance-monitor, diy, javascript, mining-rig, nodejs, smarthome, smartthings, wemo-insight
- Language: JavaScript
- Homepage:
- Size: 36.1 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Wemo Insight Auto
Small Node.js app for autocontrolling Wemo Insight Switch devices. Subscribes an event to get live updates from a group of Wemo devices defined as controllers. Binary state changes on controllers _(enter standby, exit standby)_ switches on/off another group of controlled Wemo devices._E.g. when the microwave turns on, turn off the AC. And, when the microwave turns back off, turn on the AC._
## Install
[`nodejs`](https://nodejs.org) and [`npm`](https://npmjs.com) are required to install and use this service.
```bash
$ npm install -g wemo-insight-auto
```## Usage
```bash
$ wemo-insight-auto -c /path/to/config.json
```## Config
The script takes it's configuration from a JSON object following this format:
```json
{
"devControlled": [
{
"wid": 762
}
],
"devController": [
{
"wid": 766
},
{
"wid": 708
}
]
}
```A [`config.json.sample`](config.json.sample) file is provided in this package as a template. Feel free to copy and save it as `.json` on any location, just make sure to point out the full path to this file when running the script with the `-c | --config` command option (_-c /path/to/config.json_).
__Controlled vs Controller__
The `devControlled` property sets the Wemo devices that are going to be auto-managed by those defined in the `devController` property. Meaning, when a binary state changes on Wemo devices set under the `devController` key, it will trigger a signal to turn on/off the devices set under the `devControlled` key.
| Binary State on `devController` Devices | Action on `devControlled` Devices |
| ------------------- |---------------|
| enter standby mode | turn ON Wemo switch |
| exit standby mode | turn OFF Wemo switch |
| Wemo switch turned OFF | turn ON Wemo switch |__Wemo Device ID__
The `"wid"` key stands for Wemo ID. The value for this key are the last three alphanumeric characters of the Wemo ID, (_e.g. WeMo.Insight.xxx_). This can be found at the back of the Wemo unit, or from the app at the edit device screen.
### Troubleshooting
It might happen the main app script to get stuck on error code `EHOSTUNREACH` after several hours running (maybe due to poor network performace). To get around this the app can also be run in _forever-monitor mode_. The app will restart itself everytime an instance of this error occurs.
```bash
$ wemo-insight-auto-forever -c /path/to/config.json
```