yobushka / esp8266-deerma-humidifier

Cloud-free wifi humidification

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

esp8266-deerma-humidifier-v2

This is a custom firmware for the ESP8285-based Wi-Fi module of the Xiaomi Mi Smart Antibacterial Humidifier, which replaces cloud connectivity with local mqtt controls.

The internal Mi Model ID of the supported device is deerma.humidifier.jsq. The Model on the packaging being ZNJSQ01DEM.

Communication is done via a few MQTT Topics:

  • esp8266-deerma-humidifier/HUMIDIFIER-%CHIP_ID%/status
  • esp8266-deerma-humidifier/HUMIDIFIER-%CHIP_ID%/state
  • esp8266-deerma-humidifier/HUMIDIFIER-%CHIP_ID%/command

/status will either contain online or offline and is also used for the LWT.

/state will contain a JSON state which looks like this:

{
  "state": "on",
  "mode": "setpoint",
  "humiditySetpoint": 45,
  "humidity": 41,
  "temperature": 24,
  "sound": "off",
  "led": "off",
  "waterTank": "full",
  "wifi": {
    "ssid": "Das IoT",
    "ip": "10.0.13.37",
    "rssi": -51
  }
}

and of course you can control the device via the /control topic which expects the same JSON structure as the state provides.
That also means that you can run multiple commands at once. For example if you wanted to turn LED off but Sound on, you'd publish

{
  "sound": "on",
  "led": "off"
}

to the command topic. Keep in mind, that obviously not all state properties are writable.

If you ever want to update the firmware, you can do so without disassembly thanks to ArduinoOTA.

The default password is the hostname, which is mostly there to prevent accidental firmware updates.

About

Cloud-free wifi humidification

License:Apache License 2.0


Languages

Language:C++ 92.0%Language:JavaScript 8.0%