2018-04-05 05:26:39 +01:00
# Sonoff-Tasmota ( KNX MOD )
2018-03-17 18:37:43 +00:00
2018-04-04 23:12:13 +01:00
This is a MOD for [Sonoff-Tasmota ](https://github.com/arendst/Sonoff-Tasmota ) to integrate [KNX Protocol ](https://www.knx.org/knx-en/index.php ) to its features.
Sonoff-Tasmota_KNX can be found [here ](https://github.com/ascillato/Sonoff-Tasmota_KNX )
2018-03-18 02:38:15 +00:00
2018-04-04 23:12:13 +01:00
Basic KNX IP Functionality is Available. ** ( Work in progress )**
2018-03-18 02:38:15 +00:00
2018-04-04 23:12:13 +01:00
_Sonoff-Tasmota_KNX development branch is kept in sync with the Original Sonoff-Tasmota_
## KNX Explanation ##
2018-04-04 23:41:43 +01:00
The [KNX ](https://www.knx.org/knx-en/knx/association/what-is-knx/index.php ) IP Protocol is intended for smart home and smart bulding automation. It is a decentraliced system. Each device can talk directly to each other without the need of a central controller or server. Any panel or server is just for telesupervision and for sending requests.
2018-04-04 23:12:13 +01:00
2018-04-05 10:39:18 +01:00
Each device has a physical address ( like a MAC ) as 1.1.0 and that address is used for configuration purposes.
2018-04-04 23:12:13 +01:00
2018-04-05 10:39:18 +01:00
Each device can be configured with group addresses as 2/2/1 and that address can be used for sending/receiving commands.
So, for example, if 2 devices that are configured with the 2/2/1 for turning on/off their outputs, and other device send _Turn ON_ command to 2/2/1, both devices will turn on their outputs.
2018-04-04 23:12:13 +01:00
2018-04-05 11:16:55 +01:00
## Requirements ##
This MOD requires only the KNX Library [ascillato/ESP-KNX-IP_Lite ](https://github.com/ascillato/ESP-KNX-IP_Lite ).
2018-04-05 10:44:13 +01:00
## Next Version Menu ##
< img src = "https://github.com/ascillato/Sonoff-Tasmota_KNX/blob/development/.github/Config_Menu.jpg" / >
< img src = "https://github.com/ascillato/Sonoff-Tasmota_KNX/blob/development/.github/KNX_menu.jpg" / >
2018-04-05 05:14:51 +01:00
Further development will change the library to the KNX Library [envy/esp-knx-ip ](https://github.com/envy/esp-knx-ip ). Please, use the [async-udp ](https://github.com/envy/esp-knx-ip/tree/async-udp ) branch. Also, it is needed to change on the _esp-knx-ip.h_ file the following:
2018-04-04 23:12:13 +01:00
```
#define MAX_CALLBACK_ASSIGNMENTS 20
#define MAX_CALLBACKS 20
#define ALLOW_MULTIPLE_CALLBACKS_PER_ADDRESS 1
//#define ESP_KNX_DEBUG < -- comment this line
```
2018-04-05 11:16:55 +01:00
The ESP KNX IP library (async-udp branch) also requires the [ESPAsyncUDP ](https://github.com/me-no-dev/ESPAsyncUDP ) library. Please, use ESPAsyncUDP library patched with the [PR #21 ](https://github.com/me-no-dev/ESPAsyncUDP/pull/21 )
2018-03-18 02:38:15 +00:00
2018-04-05 05:14:51 +01:00
Copy of both libraries with the modifications needed are available at:
2018-04-04 23:41:43 +01:00
* https://github.com/ascillato/Sonoff-Tasmota_KNX/tree/development/lib/esp-knx-ip
* https://github.com/ascillato/Sonoff-Tasmota_KNX/tree/development/lib/ESPAsyncUDP
2018-04-04 23:12:13 +01:00
## Development Road Map ##
2018-03-18 02:38:15 +00:00
**For Sonoff-Tasmota_KNX:**
2018-04-04 23:12:13 +01:00
- [x] Add Web Menu (need improvement)
2018-03-18 02:38:15 +00:00
- [x] Add Feature to Receive telegrams and modify Relay Status
- [x] Add Feature to Receive telegrams from multiple Group Addresses to modify just one relay status (useful for scenes)
- [x] Add Feature to Send telegrams of relay status change
- [ ] Add Feature to Send telegrams of one relay status to multiple Group Addresses (useful for scenes)
- [x] Add Feature to Send telegrams of button pressed
- [x] Add Feature to receive telegrams to toggle relay status
2018-04-03 23:31:24 +01:00
- [ ] Add Feature to read Temperature, Humidity from Tasmota
- [x] Add Feature to send Temperature, Humidity by a set interval (tasmota teleperiod)
2018-04-04 23:12:13 +01:00
- [x] Add Feature to receive command to read temperature, Humidity
2018-03-18 22:32:22 +00:00
- [ ] Add Feature to recognize Tasmota config to show the same amount of relays, buttons, etc
2018-03-18 02:38:15 +00:00
- [ ] Add Feature to Save Config
- [ ] Add Feature to Load Config
2018-04-05 05:01:24 +01:00
- [x] Complete all the language files with keys
2018-03-18 02:38:15 +00:00
- [ ] Optimize code to reduce Flash and RAM
2018-03-18 02:49:49 +00:00
## Modifications to [Original Tasmota](https://github.com/arendst/Sonoff-Tasmota) ##
2018-03-22 14:36:36 +00:00
* Adding the file _/sonoff/xdrv_10_KNX.ino_
2018-03-18 02:49:49 +00:00
* Add the entry `#define USE_KNX` on _/sonoff/user_config.h_
* Add entries to the file _/sonoff/webserver.ino_
* Add entries to the file _/sonoff/sonoff.ino_
2018-04-03 04:49:21 +01:00
* Add entries to the file _/sonoff/sonoff.h_
* Add entries to the file _/sonoff/settings.h_
* Add entries to sensor files
2018-03-18 02:49:49 +00:00
* Add entries to language files
2018-04-04 23:12:13 +01:00
Up to now, enabling KNX uses +18k of code and +3k3 of memory.
2018-03-17 18:37:43 +00:00
2018-03-18 02:55:06 +00:00
There is **NO CONFLICT** with MQTT, Home Assistant, Web, etc. Tests show fast response of all features running at same time.
2018-04-04 04:20:31 +01:00
## Contributors to this MOD ##
2018-03-18 22:27:39 +00:00
* Adrian Scillato [ascillato ](https://github.com/ascillato )
* Sisamiwe [sisamiwe ](https://github.com/sisamiwe ) - Thanks for the guide on using KNX.
* Nico Weichbrodt [envy ](https://github.com/envy ) - Thanks for the patience and help with the modifications to ESP_KNX_IP.
-----------------------------------------------------------------------------------------------------------------------------------
2018-04-02 21:56:12 +01:00
## Sonoff-Tasmota
2017-08-08 15:08:08 +01:00
2018-04-04 06:03:09 +01:00
Alternative firmware for _ESP8266 based devices_ like [iTead ](https://www.itead.cc/ ) _**Sonoff**_ , with **web** , **timers** , 'Over The Air' (**OTA**) firmware updates and **sensors support** , allowing control under **serial** , **HTTP** , **KNX** and **MQTT** , so as to be used on **Smart Home Systems** . Written for Arduino IDE and PlatformIO.
2018-04-02 21:41:04 +01:00
[![GitHub version ](https://img.shields.io/github/release/arendst/Sonoff-Tasmota.svg )](https://github.com/arendst/Sonoff-Tasmota/releases/latest)
[![GitHub download ](https://img.shields.io/github/downloads/arendst/Sonoff-Tasmota/total.svg )](https://github.com/arendst/Sonoff-Tasmota/releases/latest)
2018-04-02 22:08:42 +01:00
[![License ](https://img.shields.io/github/license/arendst/Sonoff-Tasmota.svg )](https://github.com/arendst/Sonoff-Tasmota/blob/development/LICENSE.txt)
2018-04-02 21:41:04 +01:00
2018-04-02 22:16:04 +01:00
If you like **Sonoff Tasmota** , give it a star, or fork it and contribute!
2018-04-02 21:41:04 +01:00
[![GitHub stars ](https://img.shields.io/github/stars/arendst/Sonoff-Tasmota.svg?style=social&label=Star )](https://github.com/arendst/Sonoff-Tasmota/stargazers)
[![GitHub forks ](https://img.shields.io/github/forks/arendst/Sonoff-Tasmota.svg?style=social&label=Fork )](https://github.com/arendst/Sonoff-Tasmota/network)
2017-08-08 15:08:08 +01:00
2018-04-02 21:59:25 +01:00
### Development:
2018-04-02 22:11:54 +01:00
[![Build Status ](https://img.shields.io/travis/arendst/Sonoff-Tasmota.svg )](https://travis-ci.org/arendst/Sonoff-Tasmota)
2018-04-02 21:59:25 +01:00
Current version is **5.12.0i** - See [sonoff/_releasenotes.ino ](https://github.com/arendst/Sonoff-Tasmota/blob/development/sonoff/_releasenotes.ino ) for change information.
2018-04-02 21:52:24 +01:00
2018-04-02 10:24:36 +01:00
### Quick install
2017-08-08 15:08:08 +01:00
2018-04-02 10:31:05 +01:00
Download one of the released binaries from https://github.com/arendst/Sonoff-Tasmota/releases and flash it to your hardware as documented in the wiki.
2017-08-08 15:08:08 +01:00
2018-04-02 10:31:05 +01:00
### Important User Compilation Information
2017-08-08 15:08:08 +01:00
2018-04-02 10:31:05 +01:00
If you want to compile Sonoff-Tasmota yourself keep in mind the following:
2017-08-08 15:08:08 +01:00
2018-04-02 10:24:36 +01:00
- Only Flash Mode **DOUT** is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. See [Wiki ](https://github.com/arendst/Sonoff-Tasmota/wiki/Theo's-Tasmota-Tips ) for background information.
2018-04-02 10:34:49 +01:00
- Sonoff-Tasmota uses a 1M linker script WITHOUT spiffs for optimal code space. If you compile using ESP/Arduino library 2.3.0 then download the provided new linker script to your Arduino IDE or Platformio base folder. Later version of ESP/Arduino library already contain the correct linker script. See [Wiki > Prerequisite ](https://github.com/arendst/Sonoff-Tasmota/wiki/Prerequisite ).
- To make compile time changes to Sonoff-Tasmota it can use the ``user_config_override.h`` file. It assures keeping your settings when you download and compile a new version. To use ``user_config.override.h`` you will have to make a copy of the provided ``user_config.override_sample.h`` file and add your setting overrides. To enable the override file you will need to use a compile define as documented in the ``user_config_override_sample.h`` file.
2017-08-08 15:08:08 +01:00
### Version Information
2017-09-08 10:21:54 +01:00
- Sonoff-Tasmota provides all (Sonoff) modules in one file and starts with module Sonoff Basic.
2017-08-08 15:08:08 +01:00
- Once uploaded select module using the configuration webpage or the commands ```Modules``` and ```Module```.
- After reboot select config menu again or use commands ```GPIOs``` and ```GPIO``` to change GPIO with desired sensor.
< img src = "https://github.com/arendst/arendst.github.io/blob/master/media/sonoffbasic.jpg" width = "250" align = "right" / >
See [Wiki ](https://github.com/arendst/Sonoff-Tasmota/wiki ) for more information.< br />
See [Community ](https://groups.google.com/d/forum/sonoffusers ) for forum and more user experience.
The following devices are supported:
2017-11-07 14:57:24 +00:00
- [iTead Sonoff Basic ](https://www.itead.cc/smart-home/sonoff-wifi-wireless-switch-1.html )
- [iTead Sonoff RF ](https://www.itead.cc/smart-home/sonoff-rf.html )
- [iTead Sonoff SV ](https://www.itead.cc/smart-home/sonoff-sv.html )< img src = "https://github.com/arendst/arendst.github.io/blob/master/media/sonoff_th.jpg" width = "250" align = "right" />
- [iTead Sonoff TH10/TH16 with temperature sensor ](https://www.itead.cc/smart-home/sonoff-th.html )
2017-12-01 14:59:53 +00:00
- [iTead Sonoff Dual (R2) ](https://www.itead.cc/smart-home/sonoff-dual.html )
2017-11-07 14:57:24 +00:00
- [iTead Sonoff Pow ](https://www.itead.cc/smart-home/sonoff-pow.html )
- [iTead Sonoff 4CH ](https://www.itead.cc/smart-home/sonoff-4ch.html )
- [iTead Sonoff 4CH Pro ](https://www.itead.cc/smart-home/sonoff-4ch-pro.html )
- [iTead S20 Smart Socket ](https://www.itead.cc/smart-socket.html )
2017-12-28 12:43:51 +00:00
- [Sonoff S22 Smart Socket ](https://github.com/arendst/Sonoff-Tasmota/issues/627 )
2018-02-04 17:09:09 +00:00
- [iTead Sonoff S31 Smart Socket with Energy Monitoring ](https://www.itead.cc/sonoff-s31.html )
2017-11-07 14:57:24 +00:00
- [iTead Slampher ](https://www.itead.cc/slampher.html )
2017-12-01 14:59:53 +00:00
- [iTead Sonoff Touch ](https://www.itead.cc/sonoff-touch.html )
2017-11-07 14:57:24 +00:00
- [iTead Sonoff T1 ](https://www.itead.cc/sonoff-t1.html )
- [iTead Sonoff SC ](https://www.itead.cc/sonoff-sc.html )
- [iTead Sonoff Led ](https://www.itead.cc/sonoff-led.html )< img src = "https://github.com/arendst/arendst.github.io/blob/master/media/sonoff4ch.jpg" height = "250" align = "right" />
- [iTead Sonoff BN-SZ01 Ceiling Led ](https://www.itead.cc/bn-sz01.html )
- [iTead Sonoff B1 ](https://www.itead.cc/sonoff-b1.html )
- [iTead Sonoff RF Bridge 433 ](https://www.itead.cc/sonoff-rf-bridge-433.html )
2017-08-08 15:08:08 +01:00
- [iTead Sonoff Dev ](https://www.itead.cc/sonoff-dev.html )
- [iTead 1 Channel Switch 5V / 12V ](https://www.itead.cc/smart-home/inching-self-locking-wifi-wireless-switch.html )
- [iTead Motor Clockwise/Anticlockwise ](https://www.itead.cc/smart-home/motor-reversing-wifi-wireless-switch.html )
- [Electrodragon IoT Relay Board ](http://www.electrodragon.com/product/wifi-iot-relay-board-based-esp8266/ )
2017-12-28 12:43:51 +00:00
- AI Light or any my9291 compatible RGBW LED bulb
- H801 PWM LED controller
- [MagicHome PWM LED controller ](https://github.com/arendst/Sonoff-Tasmota/wiki/MagicHome-LED-strip-controller )
- AriLux AL-LC01, AL-LC06 and AL-LC11 PWM LED controller
- [Supla device - Espablo-inCan mod. for electrical Installation box ](https://forum.supla.org/viewtopic.php?f=33&t=2188 )
- [Luani HVIO board ](https://luani.de/projekte/esp8266-hvio/ )
2018-02-15 11:29:07 +00:00
- Wemos D1 mini, NodeMcu and Ledunia
2017-09-08 10:07:04 +01:00
### License
2018-03-07 22:35:16 +00:00
This program is licensed under GPL-3.0