Commit Graph
1630 Commits
Author SHA1 Message Date
John Murfett b0c8e4f53f DALI-2 push button bindings to control gear targets (DaliBind) (#25073)
* DALI: bind DALI-2 push button events to control gear targets

Add command DaliBind<1..8> <device>,<instance>,<target>,<mode> to link
push button events (IEC 62386-301) from an input device instance to a
control gear target. Modes are Toggle, On, Off, Up and Down; Up and Down
start a fade on button press and stop it on release. The first matching
binding is executed. DaliBind<x> 0 removes a binding and DaliBind alone
lists them all.

Bindings are stored in the DALI settings file, packed as one uint32 per
slot, so they survive a restart.

* Describe how start-up brightness stored differently per short addres vs dali groups
2026-09-27 15:33:18 +02:00
Theo Arends cadd9a5612 Update change logs 2026-09-27 15:24:00 +02:00
Theo Arends e0ee732bac Bump version v15.6.0.2 2026-09-26 17:24:39 +02:00
Theo Arends cba5a24da6 Change command SetOption46 201..255 init wait 1 to 55 seconds instead of 2010 to 2550 msec (#25035) 2026-09-22 16:09:13 +02:00
Theo Arends fbe502840e Update change logs 2026-09-22 15:04:10 +02:00
John MurfettandClaude Fable 5.1 ae2c7f75ae Dali2 input device events (#25029)
* DALI: decode and publish DALI-2 input device event messages

Input devices such as push buttons (IEC 62386-301), occupancy sensors
(303) and light sensors (304) communicate with 24-bit event messages.
Tasmota logged these frames at log level 4 and discarded them, so it
could not react to any DALI-2 switch or sensor on the bus.

Decode the 24-bit frame according to the five IEC 62386-103 addressing
schemes and publish the result for rules and MQTT, for example

  {"DALI":{"Event":"0x82840B","Scheme":"Instance","Type":1,"Instance":1,
           "Info":11,"Name":"LongPressRepeat"}}

Push button events carry the part 301 event name, occupancy events the
Movement/Occupied/Repeat/Sensor flags and light sensor events the
Illuminance value. 24-bit frames with bit 16 set are commands from
another application controller and are ignored.

Tested with a zencontrol zc-switch rotary on an ESP32-S3-Pico with the
Waveshare Pico-DALI2, driving one channel of a DA4-T DT6 driver via
rules.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* DALI: commission DALI-2 control devices and query their instances

Control devices (IEC 62386-103) such as push buttons and sensors are
addressed with 24-bit frames and have their own short address space,
separate from control gear. Until now they could only be commissioned
by hand with raw DaliSend255 frames.

Add DaliDeviceScan 1|2[,<max_count>] which assigns short addresses using
the 24-bit INITIALISE / RANDOMISE / COMPARE / PROGRAM SHORT ADDRESS
sequence. The existing binary search used by DaliScan is shared through
a device flag so control gear commissioning is unchanged. Mode 2 probes
the bus first so addresses already in use are never reassigned.

Add DaliDevice which lists addressed control devices, reports one
device's version, status and instances (type, enabled, event scheme),
and sets the event scheme of all its instances, for example

  {"DaliDevice":{"Device":1,"Version":"2.0","Status":0,"Instances":[
    {"Instance":0,"Type":1,"Name":"PushButton","Enabled":1,"Scheme":"Instance"}]}}

Input devices default to the Instance event scheme which carries no
short address, so DaliDevice <device>,2 switches them to DeviceInstance
events that identify the sending device.

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-22 10:27:23 +02:00
Theo Arends cde8e62071 Restore default hostname %s functionality using topic name only, regression from v15.4.0.2 (#24731) 2026-09-12 15:15:11 +02:00
Theo Arends a245189808 Fix BLE MI32 unwanted dot/comma replacement (#25009) 2026-09-07 10:46:31 +02:00
Theo Arends 143409151c Update change logs 2026-09-05 14:22:44 +02:00
Theo Arends 40c24e193e Update change logs 2026-09-04 11:16:25 +02:00
Theo Arends f5b34a26be BTHome (re)set button when updated state is received (#25002) 2026-09-04 10:03:50 +02:00
Theo Arends a0656a911e Update change logs 2026-09-03 15:15:01 +02:00
Theo Arends 079718527b Add Berry virtual button support 2026-09-02 15:18:49 +02:00
Theo Arends b4e24df39c BLE MI32 display icons instead of data lines. disable by removing #define USE_SENSOR_ICON 2026-08-31 13:55:16 +02:00
Theo Arends 89ef175a3c Update change logs 2026-08-30 22:19:45 +02:00
Theo Arends 41964bb72d Update change logs 2026-08-30 22:09:59 +02:00
Theo Arends 9aa935c231 Update change logs 2026-08-30 21:41:19 +02:00
Theo Arends 44a6526523 Update change logs 2026-08-28 11:09:31 +02:00
Theo Arends d3cadb4cd7 Bump version v15.6.0.1 2026-08-25 11:38:08 +02:00
Theo Arends 8ce646231a Update change logs 2026-08-25 10:42:40 +02:00
Theo Arends 3c184e43d9 Update change logs 2026-08-24 09:56:04 +02:00
Rene Hexel c988ddfc2f Add Shelly emulation for ESP32 (#24952)
* Add Shelly emulation for ESP32 (EMUL_SHELLY)

Presents Tasmota as a generation 2 Shelly Pro 2PM to controllers
speaking the Shelly Gen2 RPC protocol, such as the Sigenergy
mySigen application.

The emulation follows Belkin WeMo and Hue Bridge: compiled in
with USE_EMULATION_SHELLY (ESP32 only, as it needs the IDF mDNS
component) and selected at runtime with `Emulation 3` or on the
Configure Other web page, where it appears as "Shelly single
device".

When selected, the driver advertises _shelly._tcp over mDNS with
the IPv4 and IPv6 addresses of all active interfaces and serves
/shelly and /rpc. Up to two switch, two input and two metering
channels are mapped onto Tasmota relays, switches and the energy
driver. Channels beyond the relays configured keep their state
in NVS so a controller still sees two working outputs.

Shelly controllers discard mDNS replies that do not carry the
RFC 6762 TTL of 255, which Espressif's mDNS component only sets
on multicast, so the driver raises the TTL on the mDNS sockets
after registration.

* Make Shelly emulation opt-in and renumber driver
2026-08-21 11:50:19 +02:00
Theo Arends 9978459714 Update change logs 2026-08-18 11:47:31 +02:00
Theo Arends 63e278de74 Update change logs 2026-08-17 11:01:49 +02:00
Theo Arends 4999f2bd5e Update change logs 2026-08-13 14:02:12 +02:00
Theo Arends 58907cf579 Update change logs 2026-08-10 14:22:15 +02:00
Theo Arends bb8ce1773e Add limited support for BLE BTHome (#20763) 2026-08-06 14:56:48 +02:00
Theo Arends 49f9be888d Add support for WiZ compatible IoTorero ESP-Now Remote Control additional buttons P5 to P7 2026-08-01 16:36:36 +02:00
Theo Arends 640b6c2d10 Update changelogs 2026-07-31 17:10:00 +02:00
Theo Arends 9c5b81f1d4 Update change logs 2026-07-31 16:12:32 +02:00
Theo Arends 63c2a3b466 Add support for baudrate 74880 replacing 74700 ((#24924) 2026-07-31 15:33:27 +02:00
Theo Arends 3725d6eb47 Fix Can sniffer functionality (#18287) 2026-07-28 10:49:59 +02:00
Theo Arends 2f136a3290 Bump version v15.5.0.2 2026-07-23 21:57:45 +02:00
Theo Arends 23ed46deff Update change logs 2026-07-21 14:04:17 +02:00
Theo Arends 453b8ad138 Update change logs 2026-07-20 17:13:35 +02:00
Theo Arends 989866fe6d Update change logs 2026-07-03 14:29:13 +02:00
Theo Arends d87c17af21 Update change logs 2026-07-02 15:49:43 +02:00
Theo Arends 796242fdac Update change logs 2026-06-27 10:59:33 +02:00
Theo Arends 8dc0e1d3fa Bump version v15.5.0.1 2026-06-22 17:07:22 +02:00
Theo Arends 5ba66d80c3 Add command BSSid[1|2] [0|1|11:22:33:44:55:66] to select fixed WiFi Access Point disabling SetOption56 and SetOption57 (#24394) 2026-06-21 17:43:52 +02:00
Theo Arends a27df15739 Fix SML modbus/TCP on ESP32-p4 with only Ethernet shows "SML: could not connect TCP since wifi is down" (#24845) 2026-06-21 15:35:36 +02:00
Theo Arends 7f874b2a14 Update change logs 2026-06-21 15:00:33 +02:00
Theo Arends 00bab175a8 Update change logs 2026-06-17 12:36:10 +02:00
Theo Arends c4b01cc013 Update change logs 2026-06-13 12:38:08 +02:00
Theo Arends 797b25e35d Update change logs 2026-06-11 14:29:42 +02:00
Theo Arends c15ea2852e Fix RTSP strncpy buffer overflow 2026-06-10 14:35:35 +02:00
Theo Arends cd38f60218 Change Sensirion_Core library from v0.7.2 to arduino-core v0.7.3 2026-06-05 16:42:08 +02:00
Theo Arends 01d044cedc Changed SCD30 library FrogmoreScd30 to Sensirion arduino-i2c-scd30 v1.1.1 2026-06-05 15:31:11 +02:00
Theo Arends 6191473dfd Changed SCD4x library FrogmoreScd40 to Sensirion arduino-i2c-scd4x v1.1.0
- Bump version v15.4.0.3
2026-06-03 17:18:28 +02:00
Theo Arends 696255995a Fix SPS30 not detected on ESP8266 (#24780) 2026-06-01 17:44:51 +02:00