Fork of the espurna firmware for `mhsw` switches
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
9.4 KiB

8 years ago
7 years ago
8 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
7 years ago
  1. # ESPurna Firmware
  2. ESPurna ("spark" in Catalan) is a custom firmware for ESP8266 based smart switches.
  3. It was originally developed with the **[IteadStudio Sonoff](https://www.itead.cc/sonoff-wifi-wireless-switch.html)** in mind but now it supports a growing number of ESP8266-based boards.
  4. It uses the Arduino Core for ESP8266 framework and a number of 3rd party libraries.
  5. > **Current Release Version is 1.10.1**, read the [changelog](https://bitbucket.org/xoseperez/espurna/src/master/CHANGELOG.md).
  6. > **NOTICE**: Default flash layout changed in 1.8.3, as an unpredicted consequence devices will not be able to persist/retrieve configuration if flashed with 1.8.3 via **OTA** from **PlatformIO**. Please check issue #187.
  7. > **NOTICE**: since version 1.9.0 the default **MQTT topics for commands have changed**. They all now end with "/set". This means you will have to change your controller software (Node-RED or alike) to send messages to -for instance- "/home/living/light/relay/0/set". The device will publish its state in "/home/living/light/relay/0" like before.
  8. ## Features
  9. * *KRACK* vulnerability free (when built against Arduino Core 2.4.0 RC2)
  10. * Support for **multiple ESP8266-based boards** ([check list](https://bitbucket.org/xoseperez/espurna/wiki/Hardware))
  11. * Power saving options
  12. * Wifi **AP Mode** or **STA mode**
  13. * Up to 5 different networks can be defined
  14. * Supports static IP
  15. * Scans for strongest network if more than one defined
  16. * Defaults to AP mode (also available after double clicking the main button)
  17. * Network visibility
  18. * Supports mDNS (service reporting and metadata)
  19. * Supports NetBIOS and LLMNR (when built against Arduino Core 2.4.0 RC2)
  20. * Switch management
  21. * Support for **push buttons** and **toggle switches**
  22. * Configurable **status on boot** (always ON, always OFF, same as before or toggle)
  23. * Support for **pulse mode** (normally ON or normally OFF) with configurable time
  24. * Support for **relay synchronization** (all equal, only one ON, one and only on ON)
  25. * Support for **delayed ON/OFF**
  26. * **MQTT** enabled
  27. * **SSL/TLS support** (not on regular builds, see #64)
  28. * Switch on/off and toggle relays
  29. * Report button event notifications
  30. * Enable/disable pulse mode
  31. * Change LED notification mode
  32. * Remote reset the board
  33. * **Alexa** integration using the [FauxmoESP Library](https://bitbucket.org/xoseperez/fauxmoesp)
  34. * [**Google Assistant**](http://tinkerman.cat/using-google-assistant-control-your-esp8266-devices/) integration using IFTTT and Webhooks (Google Home, Allo)
  35. * [**Domoticz**](https://domoticz.com/) integration via MQTT
  36. * [**Home Assistant**](https://home-assistant.io/) integration via MQTT
  37. * Support for switches (on/off)
  38. * Support for lights (color, brightness, on/off state)
  39. * Supports MQTT auto-discover feature (both switches and lights)
  40. * [**InfluxDB**](https://www.influxdata.com/) integration via HTTP API
  41. * Support for different **sensors**
  42. * DHT11 / DHT22 / DHT21 / AM2301 (supports celsius & fahrenheit reporting)
  43. * DS18B20 (supports celsius & fahrenheit reporting)
  44. * HLW8012 using the [HLW8012 Library](https://bitbucket.org/xoseperez/hlw8012) (Sonoff POW)
  45. * Non-invasive current sensor using the [EmonLiteESP Library](https://bitbucket.org/xoseperez/emonliteesp) (requires some hacking)
  46. * Raw analog sensor
  47. * Support for LED lights
  48. * MY92XX-based light bulbs and PWM LED strips (dimmers) up to 5 channels (RGB, cold white and warm white, for instance)
  49. * RGB and HSV color codes supported
  50. * Manage channels individually
  51. * Temperature color supported (in mired and kelvin) via MQTT / REST API
  52. * Flicker-free PWM management
  53. * Fast asynchronous **HTTP Server**
  54. * Configurable port
  55. * Basic authentication
  56. * Web-based configuration
  57. * Relay switching and sensor data from the web interface
  58. * Handle color, brightness, and white/warm channels for lights
  59. * Websockets-based communication between the device and the browser
  60. * Backup and restore settings option
  61. * Upgrade firmware from the web interface
  62. * Works great behind a [secured reverse proxy](http://tinkerman.cat/secure-remote-access-to-your-iot-devices/)
  63. * **REST API** (enable/disable from web interface)
  64. * GET and PUT relay status
  65. * Change light color (for supported hardware)
  66. * GET sensor data (power, current, voltage, temperature and humidity) depending on the available hardware
  67. * Works great behind a secured reverse proxy
  68. * **RPC API** (enable/disable from web interface)
  69. * Remote reset the board
  70. * **Over-The-Air** (OTA) updates even for 1Mb boards
  71. * Manually from PlatformIO or Arduino IDE
  72. * Automatic updates through the [NoFUSS Library](https://bitbucket.org/xoseperez/nofuss)
  73. * Update from web interface using pre-built images
  74. * **Command line configuration**
  75. * Change configuration
  76. * Run special commands
  77. * **Telnet support**
  78. * Enable/disable via the web UI
  79. * Show debug info and allows to run terminal commands
  80. * **Unstable system check**
  81. * Detects unstable system (crashes on boot continuously) and defaults to a stable system
  82. * Only WiFi AP, OTA and Telnet available if system is flagged as unstable
  83. * Button interface
  84. * Click to toggle relays
  85. * Double click to enter AP mode (only main button)
  86. * Long click (>1 second) to reboot device (only main button)
  87. * Extra long click (>10 seconds) to go back to factory settings (only main button)
  88. ## Documentation
  89. For more information please refer to the [ESPurna Wiki](https://bitbucket.org/xoseperez/espurna/wiki/Home).
  90. ## Supported hardware
  91. Here is the list of supported hardware. For more information please refer to the [ESPurna Wiki Hardware page](https://bitbucket.org/xoseperez/espurna/wiki/Hardware).
  92. ||||
  93. |---|---|---|
  94. |![Tinkerman Espurna H](images/devices/tinkerman-espurna-h.jpg)|![IteadStudio Sonoff RF Bridge](images/devices/itead-sonoff-rfbridge.jpg)||
  95. |**Tinkerman ESPurna H**|**IteadStudio Sonoff RF Bridge**||
  96. |![IteadStudio Sonoff Basic](images/devices/itead-sonoff-basic.jpg)|![IteadStudio Sonoff RF](images/devices/itead-sonoff-rf.jpg)|![Electrodragon WiFi IOT](images/devices/electrodragon-wifi-iot.jpg)|
  97. |**IteadStudio Sonoff Basic**|**IteadStudio Sonoff RF**|**Electrodragon WiFi IOT**|
  98. |![IteadStudio Sonoff Dual](images/devices/itead-sonoff-dual.jpg)|![IteadStudio Sonoff POW](images/devices/itead-sonoff-pow.jpg)|![IteadStudio Sonoff TH10/TH16](images/devices/itead-sonoff-th.jpg)|
  99. |**IteadStudio Sonoff Dual**|**IteadStudio Sonoff POW**|**IteadStudio Sonoff TH10/TH16**|
  100. |![IteadStudio Sonoff 4CH](images/devices/itead-sonoff-4ch.jpg)|![IteadStudio Sonoff 4CH Pro](images/devices/itead-sonoff-4ch-pro.jpg)|![OpenEnergyMonitor WiFi MQTT Relay / Thermostat](images/devices/openenergymonitor-mqtt-relay.jpg)|
  101. |**IteadStudio Sonoff 4CH**|**IteadStudio Sonoff 4CH Pro**|**OpenEnergyMonitor WiFi MQTT Relay / Thermostat**|
  102. |![IteadStudio S20](images/devices/itead-s20.jpg)|![WorkChoice EcoPlug](images/devices/workchoice-ecoplug.jpg)|![Power meters based on V9261F and ECH1560](images/devices/generic-v9261f.jpg)|
  103. |**IteadStudio S20**|**WorkChoice EcoPlug**|**Power meters based on V9261F and ECH1560**|
  104. |![IteadStudio Sonoff Touch](images/devices/itead-sonoff-touch.jpg)|![IteadStudio Sonoff T1](images/devices/itead-sonoff-t1.jpg)||
  105. |**IteadStudio Sonoff Touch**|**IteadStudio Sonoff T1**||
  106. |![IteadStudio Slampher](images/devices/itead-slampher.jpg)|![AI-Thinker Wifi Light / Noduino OpenLight](images/devices/aithinker-ai-light.jpg)|![Itead Sonoff B1](images/devices/itead-sonoff-b1.jpg)|
  107. |**IteadStudio Slampher**|**AI-Thinker Wifi Light / Noduino OpenLight**|**IteadStudio Sonoff B1**|
  108. |![MagicHome LED Controller (1.0 and 2.0)](images/devices/magichome-led-controller.jpg)|![Huacanxing H801](images/devices/huacanxing-h801.jpg)|![Itead BN-SZ01](images/devices/itead-bn-sz01.jpg)|
  109. |**MagicHome LED Controller (1.0 and 2.0)**|**Huacanxing H801**|**Itead BN-SZ01**|
  110. |![IteadStudio Sonoff SV](images/devices/itead-sonoff-sv.jpg)|![IteadStudio 1CH Inching](images/devices/itead-1ch-inching.jpg)|![IteadStudio Motor Clockwise/Anticlockwise](images/devices/itead-motor.jpg)|
  111. |**IteadStudio Sonoff SV**|**IteadStudio 1CH Inching**|**IteadStudio Motor Clockwise/Anticlockwise**|
  112. |![Wemos D1 Mini Relay Shield](images/devices/wemos-d1-mini-relayshield.jpg)|![Jan Goedeke Wifi Relay (NO/NC)](images/devices/jangoe-wifi-relay.png)|![Jorge García Wifi + Relays Board Kit](images/devices/jorgegarcia-wifi-relays.jpg)|
  113. |**Wemos D1 Mini Relay Shield**|**Jan Goedeke Wifi Relay (NO/NC)**|**Jorge García Wifi + Relays Board Kit**|
  114. |![EXS Wifi Relay v3.1](images/devices/exs-wifi-relay-v31.jpg)|||
  115. |**EXS Wifi Relay v3.1**|||
  116. **Other supported boards:** Itead Sonoff LED, Huacanxing H802, WiOn 50055, ManCaveMade ESP-Live, InterMitTech QuinLED 2.6, Arilux AL-LC06, Arilux E27 light bulb, Xenon SM-PW702U, Authometion LYT8266, YJZK 2-gang switch.
  117. ## License
  118. Copyright (C) 2016-2017 by Xose Pérez (@xoseperez)
  119. This program is free software: you can redistribute it and/or modify
  120. it under the terms of the GNU General Public License as published by
  121. the Free Software Foundation, either version 3 of the License, or
  122. (at your option) any later version.
  123. This program is distributed in the hope that it will be useful,
  124. but WITHOUT ANY WARRANTY; without even the implied warranty of
  125. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  126. GNU General Public License for more details.
  127. You should have received a copy of the GNU General Public License
  128. along with this program. If not, see <http://www.gnu.org/licenses/>.