MQTT bridge for EWPE Smart powered devices which can be controled via WiFi using EWPE Smart app
This project became possible thanks to great work of reverse engineering the original app protocol in gree-remote project
Setup and run MQTT server (mosquitto is the easiest one)
- Clone or download this repository
git clone https://github.com/stas-demydiuk/ewpe-smart-mqtt
- Install dependencies
npm install
- Make initial configuration by setting enviromental variables
Variable | Description | Default value |
---|---|---|
MQTT_SERVER | MQTT server URI | mqtt://127.0.0.1 |
MQTT_PORT | MQTT Server Port | 1883 |
MQTT_USERNAME | MQTT Server Username | |
MQTT_PASSWORD | MQTT Server Password | |
MQTT_BASE_TOPIC | Base MQTT topic for bridge messages | ewpe-smart |
NETWORK | Network adress (or addresses separated by semicolon) to scan devices | 192.168.1.255 |
DEVICE_POLL_INTERVAL | Interval (ms) to poll device status | 5000 |
LOG_LEVEL | App Log level | info |
- Run the bridge
npm start
docker run -it \
--network="host" \
-e "MQTT_SERVER=mqtt://127.0.0.1" \
-e "MQTT_BASE_TOPIC=ewpe-smart" \
-e "NETWORK=192.168.1.255" \
-e "DEVICE_POLL_INTERVAL=5000" \
--name ewpe-smart-mqtt \
demydiuk/ewpe-smart-mqtt:latest
- Publish to
ewpe-smart/devices/list
to receive list of registered devices - Publish to
ewpe-smart/{deviceId}/get
to receive status of {deviceId} - Publish to
ewpe-smart/{deviceId}/set
to set status of {deviceId}, payload should be json object with key/values pairs to set, i.e:
ewpe-smart/{deviceId}/set {"Pow": 1, "SetTem": 24}
All devices which can be controlled via EWPE Smart app should be supported, including:
- Gree Smart series
- Cooper&Hunter: Supreme, Vip Inverter, ICY II, Arctic, Alpha, Alpha NG, Veritas, Veritas NG series
- EcoAir X series
- ProKlima