Mirror of arendst/Tasmota@github.com - Open-source firmware for ESP8266/8285/32-based smart home products
Go to file
Adrian Scillato af8e5d89a8
Update settings.h
2018-04-05 09:47:13 -03:00
.github Add files via upload 2018-04-05 06:53:42 -03:00
api v5.1.4 2017-06-01 17:37:30 +02:00
arduino Add esp8266/Arduino 2.4.1 support 2018-03-10 13:05:31 +01:00
lib Update README.md 2018-04-05 01:10:31 -03:00
pio Add platformio floats removal 2018-02-03 16:36:25 +01:00
sonoff Update settings.h 2018-04-05 09:47:13 -03:00
.gitattributes Add linefeed normalisation 2017-03-07 09:36:01 +01:00
.gitignore v5.12.0c - Ignore OS specific files #1983 2018-02-24 17:57:07 +01:00
.travis.yml v5.1.4 2017-06-01 17:37:30 +02:00
LICENSE.txt v5.1.0 2017-05-13 13:02:10 +02:00
README.md Merge pull request #28 from arendst/development 2018-04-05 09:46:03 -03:00
esp8266.flash.1m0.ld Add 1M flash with no spiffs linker script 2017-04-25 18:16:40 +02:00
platformio.ini Change user_config_override usage 2018-04-02 11:24:36 +02:00

README.md

Sonoff-Tasmota ( KNX MOD )

This is a MOD for Sonoff-Tasmota to integrate KNX Protocol to its features. Sonoff-Tasmota_KNX can be found here

Basic KNX IP Functionality is Available. ( Work in progress )

Sonoff-Tasmota_KNX development branch is kept in sync with the Original Sonoff-Tasmota

KNX Explanation

The KNX 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.

Each device has a physical address ( like a MAC ) as 1.1.0 and that address is used for configuration purposes.

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.

Requirements

This MOD requires only the KNX Library ascillato/ESP-KNX-IP_Lite.

Next Version Menu

Further development will change the library to the KNX Library envy/esp-knx-ip. Please, use the async-udp branch. Also, it is needed to change on the esp-knx-ip.h file the following:

#define MAX_CALLBACK_ASSIGNMENTS              20
#define MAX_CALLBACKS                         20
#define ALLOW_MULTIPLE_CALLBACKS_PER_ADDRESS   1
//#define ESP_KNX_DEBUG                       <-- comment this line

The ESP KNX IP library (async-udp branch) also requires the ESPAsyncUDP library. Please, use ESPAsyncUDP library patched with the PR #21

Copy of both libraries with the modifications needed are available at:

Development Road Map

For Sonoff-Tasmota_KNX:

  • Add Web Menu (need improvement)
  • Add Feature to Receive telegrams and modify Relay Status
  • Add Feature to Receive telegrams from multiple Group Addresses to modify just one relay status (useful for scenes)
  • 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)
  • Add Feature to Send telegrams of button pressed
  • Add Feature to receive telegrams to toggle relay status
  • Add Feature to read Temperature, Humidity from Tasmota
  • Add Feature to send Temperature, Humidity by a set interval (tasmota teleperiod)
  • Add Feature to receive command to read temperature, Humidity
  • Add Feature to recognize Tasmota config to show the same amount of relays, buttons, etc
  • Add Feature to Save Config
  • Add Feature to Load Config
  • Complete all the language files with keys
  • Optimize code to reduce Flash and RAM

Modifications to Original Tasmota

  • Adding the file /sonoff/xdrv_10_KNX.ino
  • 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
  • Add entries to the file /sonoff/sonoff.h
  • Add entries to the file /sonoff/settings.h
  • Add entries to sensor files
  • Add entries to language files

Up to now, enabling KNX uses +18k of code and +3k3 of memory.

There is NO CONFLICT with MQTT, Home Assistant, Web, etc. Tests show fast response of all features running at same time.

Contributors to this MOD

  • Adrian Scillato ascillato
  • Sisamiwe sisamiwe - Thanks for the guide on using KNX.
  • Nico Weichbrodt envy - Thanks for the patience and help with the modifications to ESP_KNX_IP.

Sonoff-Tasmota

Alternative firmware for ESP8266 based devices like iTead 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.

GitHub version GitHub download License

If you like Sonoff Tasmota, give it a star, or fork it and contribute! GitHub stars GitHub forks

Development:

Build Status

Current version is 5.12.0j - See sonoff/_releasenotes.ino for change information.

Quick install

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.

Important User Compilation Information

If you want to compile Sonoff-Tasmota yourself keep in mind the following:

  • Only Flash Mode DOUT is supported. Do not use Flash Mode DIO / QIO / QOUT as it might seem to brick your device. See Wiki for background information.
  • 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.
  • 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.

Version Information

  • Sonoff-Tasmota provides all (Sonoff) modules in one file and starts with module Sonoff Basic.
  • 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.

See Wiki for more information.
See Community for forum and more user experience.

The following devices are supported:

License

This program is licensed under GPL-3.0