Commit Graph

206 Commits

Author SHA1 Message Date
David Gwynne 17d68750d9
WIP Tuya MCU Bridge driver alternative to the TuyaMCU driver (#17626)
* WIP Tuya MCU Bridge driver alternative to the TuyaMCU driver

The main difference is this driver does not try and wire MCU data points
(Dps) into the tasmota power/light/etc controls. Instead each Dp ends up
being relayed directly to MQTT and the rules subsystem. If you want to
change the state of something wired up to the MCU, you send tuyamcu
specific commands to manipulate the Dp.

Each Dp gets a type and id specific topic that is sent to MQTT. eg, Dp
id 1 type bool looks like tele/%topic%/TUYAMCUBOOL1. To change state you
send a TuyaMCUBool1 command (ie, the command index value is used as the
DpId, which is nice and symmetrical) with the new value.

Currently Rules operate on TuyaMCU#TypeDpid things, eg, "rule1 on
TuyaMCU#Bool1 do power %value% endon" toggle the power on the tasmota
device when the state of the thing on the MCU changes too.

The most obviously missing stuff at the moment is:

- better relaying of the wifi/mqtt status to the MCU
- handling wifi reset requests from the MCU
- low power stuff?
- support for sending status updates and device info queries.
- restarting the tuya mcu state machine?
- restarting the rx state machine when no bytes are rxed for a period of
  time
- time sync

* shorten the log prefix to TYB (3 chars).

requested by arendst

* use the local definition for the SET_DP command.

reaching back to the existing tuyamcu code isnt reliable.

pointed out by arendst

* put the todo list in the code so it can be tracked

* check the wifi/mqtt state every second and update the mcu if it changes.

* fix rule processing when Dp state is changed from a cmnd.

rule processing was done as part of publishing the state, but publishing
the state when it was updated by a command only happened if So59 was
set. split rule processing out of publish and call them separately as
needed.

publish is now called from teleperiod, status updates from the MCU,
and from cmnds if so59 is set. rules are called from status updates from
the MCU and from cmnds.

Co-authored-by: David Gwynne <dlg@defeat.lan.animata.net>
2023-01-08 17:35:45 +01:00
Mathias fc8039d960
Adding support for ME007-ULS narrow FoV ultrasonic distance sensor (#17376)
* Squashed commit of the following:

commit 1441459a47cff0a43aa61ce47510585ee03649f3
Merge: a9fcbd342 7e27945e5
Author: Mathias Buder <mathias_buder@bose.com>
Date:   Tue Dec 13 09:00:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit a9fcbd3428445eb914816f608e064568d16b41e9
Merge: 7bb1049f5 d83119897
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 12 10:33:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 7bb1049f51da8d064462b9499ed479a7675b368e
Merge: 83a5afa7a eee86f01a
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 9 09:30:29 2022 +0100

    Merge remote-tracking branch 'github/development' into me007-narrow-fov-ultrasonic-sensor

commit 83a5afa7ad27fcde1e67008e41a9bfd9c680cccd
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 14:47:13 2022 +0100

    [ME007] Added driver version number to MQTT message, small delay between consecutive measurement

commit 9b8667843154f02a23020e655d806ed76ae2e530
Merge: 39180f345 de408921e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 10:12:45 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 39180f3451fce5f06504195faea0124d73dac1ee
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Dec 7 16:41:26 2022 +0100

    [ME007] Added median filter

commit 01b68e0e6ca147ac03b63b8c71d035563e3bf13b
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 23:08:57 2022 +0100

    [ME007] Simplified state maschine within me007_measure()

commit 1c74c6ed3e4097f09792a48420b2016c92e10353
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 22:21:16 2022 +0100

    [ME007] Fixed issues from previous pull-request

commit 25b667120fd8d70fcfed36de44f1b7a17d0686be
Merge: 01e0b1809 e7d40b8d1
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 10:46:25 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

    # Conflicts:
    #	tasmota/include/tasmota_template.h

commit 01e0b18096bfffc67673e25152114694caaf110a
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Dec 4 20:53:39 2022 +0100

    [ME007] Minor changes

commit ec00c9b85d223b78586c464bb92d1c7894357a40
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 2 13:08:06 2022 +0100

    [ME007] Added some measurement error statistics

commit c5cf65f82c42195752a88fd1553c74ab68c39cb2
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 22:38:07 2022 +0100

    [ME007] Fixed MQTT message

commit ae07d8dd77db47e20578f655ec057a63b30e65ce
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 21:56:20 2022 +0100

    [ME007] Minor code refactoring

commit d2b43ca70c716e1b637b9efd3b536506233e5365
Merge: 292f5f6c8 816fd78fb
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:48:38 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 292f5f6c81f1659eb225271cdd025eb77da02c6f
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:47:03 2022 +0100

    [ME007] Added logic to detect sensor at boot and during runtime

commit f17af404fee76bf63b30ed3c9d2175c4e01c03ca
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:32:19 2022 +0100

    [ME007] Added missing define into language files

commit 7a271abeca36139a43ef96bd461d46ba0c662901
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:19:23 2022 +0100

    [ME007] Improved snesor measuremnt function

commit fe42ebd1124e2246e4d7afd63c905c251e084b27
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 00:43:13 2022 +0100

    [ME007] Updated state maschine to trigger and receive sensor measurements

commit d137e6dec5104b4716428849d99c68bbf407ab42
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Nov 30 20:35:31 2022 +0100

    [ME007] Added initial state maschine to trigger and receive sensor measurements

commit fc3da7b36849df162d9d5496a763ab2beb096aff
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Tue Nov 29 21:28:28 2022 +0100

    [ME007] Updated pin name

commit e9fa9fb771cf15dcd9ed8b63b9194154543ef10e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 22:02:34 2022 +0100

    [ME007] Fixed issue that sensor GPIOs not shown in drop-down list

commit a13e42660183eb4ab91007ca0ea6bf1544687556
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:06:34 2022 +0100

    [ME007] Added sensor into supported feature list

commit dec17b59ce2905124386f8c90d81656bf104c844
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:01:58 2022 +0100

    [ME007] Removed log message in Xsns23()

commit 11f479d2ec9d3f4e7552c2f78cdc83914c5b8b94
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 10:47:55 2022 +0100

    [ME007] Added GPIOs to tasmota_template_legacy.h and berry

commit 23aec8e5ff4e9fb8ef7d3b01a707641accc1e01e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Nov 27 20:10:53 2022 +0100

    [ME007] Initial ME007 driver API setup

* [ME007] Reverted change in .gitignore and platform.ini

* [ME007] Removed dependency to stdlib.h

* [ME007] Adjusted unit to cm

* [ME007] Reverted change in tasmota_template_legacy.h

* [ME007] Changed sensor message tag to three characters

* [ME007] Disabled sensor in my_user_config.h

* [ME007] Added driver code size into commente

Co-authored-by: Mathias Buder <mathias_buder@bose.com>
2022-12-14 11:52:26 +01:00
Theo Arends bbde894628 Add serial Modbus transmit enable GPIOs
Add serial Modbus transmit enable GPIOs to all modbus energy drivers and modbus bridge (#17247)
2022-12-03 12:33:42 +01:00
Theo Arends 30f64d3c42 POC HLK-LD2410 2022-11-26 10:52:42 +01:00
Theo Arends a93a94666f Fix LD2410 labels 2022-11-22 12:35:30 +01:00
Theo Arends 21290de9c4 Prep HLK-LD2410 2022-11-21 14:07:25 +01:00
Barbudor b03476ff6f Merge branch 'development' into dingtian_driver 2022-11-07 22:33:35 +01:00
Cossid 0e32763a4e BP1658CJ - Add support for BP1658CJ RGBCW led driver control as used in Orein OS0100411267 Bulb 2022-11-06 09:14:03 -06:00
barbudor f861e8330a dingtian driver take 1 2022-10-29 21:38:22 +02:00
eeak 4e98cbb387 moved D_CMND_xx to i18n.h 2022-10-29 16:09:09 +03:00
eeak 1bf69fd310 dali 2022-10-28 17:08:02 +03:00
Theo Arends 47456a54ee Prep ADE7953 using SPI 2022-10-21 15:06:52 +02:00
Theo Arends 0265cab7dc Prep generic energy modbus interface 2022-10-06 19:22:46 +02:00
Theo Arends 29a9197101
Merge pull request #16714 from Performance20/development
Add QMC5883L driver
2022-10-05 14:17:43 +02:00
Helge 5998fe856a added code recommendations
and reduce functionality to the most necessary
2022-10-04 15:48:27 +02:00
Theo Arends a05f731a42 Fix Shelly Plus 2PM column swap
- Fix Shelly Plus 2PM column swap
- Prep Shelly Plus 2PM ADE7953 reset pin
2022-10-03 17:13:01 +02:00
Helge 125bfafc88 adaption of languages files 2022-10-02 23:47:05 +02:00
Stephan Hadinger b4aca5a3f3 Zigbee friendly names per endpoint 2022-10-02 20:54:49 +02:00
renzhe 4765e95d91 Merge branch 'development' of https://github.com/arendst/Tasmota into development 2022-09-01 14:05:47 +08:00
renzhe c2cfc973d7 translate some chinese 2022-09-01 12:20:58 +08:00
Norbert Richter 2b163ad4ea
Flowrate meter add flow amount/duration 2022-08-30 11:46:19 +02:00
JeroenSt 1cc091e4fa Added ModbusBridge 2022-07-19 14:10:12 +02:00
Theo Arends cc9c6299ca Consolidate I2S GPIOs 2022-07-11 15:49:57 +02:00
gemu2015 7d9c51fb79 audio i2s pins 2022-07-11 09:13:49 +02:00
Theo Arends 53d2c76cec Prep TM1621 support 2022-07-04 10:46:35 +02:00
Tom Lafleur 5392aad166 Updated Languages for MP3 Player 2022-06-23 07:39:10 -07:00
Cossid f76400ba03 Initial implementation of SM2335 LED driver. 2022-06-21 00:32:56 -05:00
oogm 2121ea63cd Add BP5758 light controller support - init sequence working, light responds randomly 2022-05-29 18:06:26 +02:00
Theo Arends 5f53f36563 Add ESP32 partition info to GUI 2022-05-14 17:41:52 +02:00
Theo Arends 0a458d1cd1 Add webcam frame rate translations 2022-05-05 16:26:29 +02:00
Jason2866 9af8b8f834
Rename safemode to safeboot
* rename safemode to safeboot
* fix safeboot env
2022-05-05 11:19:39 +02:00
Theo Arends 35bbb8192c Updated language files 2022-05-04 10:10:04 +02:00
Stephan Hadinger c8148a623f Firmware upload using factory partition 2022-05-02 17:25:31 +02:00
Norbert Richter b1933f7c0e
Rename flowratemeter 2022-04-27 17:44:07 +02:00
Norbert Richter d7d71cd9c8
Add flowmeter (YF-DN50 and similary) 2022-04-27 17:44:06 +02:00
Stephan Hadinger 43c53838ad Add SDCard SDIO support 2022-04-19 19:17:04 +02:00
Theo Arends 79b19ea62c Prep inHg 2022-04-19 14:01:18 +02:00
Theo Arends c7323eea74 Initial support for Sonoff MS01
Initial support for Sonoff MS01 (#15335)
2022-04-10 17:21:38 +02:00
Norbert Richter 07f98c7b25
Add NeoPool relay details 2022-04-07 17:01:38 +02:00
Theo Arends fc8b4dcc71 Add Shelly3EM Neutral Current information 2022-03-26 16:02:50 +01:00
Norbert Richter 0a4c4da730
Rename GUI filtration mode 2022-03-14 09:43:11 +01:00
Norbert Richter efd0972527
Remove NeoPool ambiguous color in device names 2022-03-14 09:43:11 +01:00
Barbudor eb54152c76 step 5 - some renaming 2022-03-11 23:12:57 +01:00
Theo Arends 8e0400eba1 Add async interrupt support
- Add async interrupt support
- Add generic GPIO reset
2022-03-07 11:37:48 +01:00
Theo Arends 079cf0f2f5 Prep ADE7880 - Shelly3EM 2022-03-05 15:09:17 +01:00
jeevasdev c8b8fe2da4 Added support for BL6523 chipset based Energy Monitors 2022-02-15 13:51:43 +11:00
Max 22d549ca3d Update CM11 2022-01-26 15:03:21 +03:00
rice103 e72248899e Supports for MQ analog sensor for air quality
It's support the analog sensor for quality air (also for esp-32)
-added on list of assignable pins in module
-with adcparams can choose wich mqx you have with seconds param ex: adcparam 10 4 (you have the mq-04)
2022-01-23 17:10:35 +01:00
Marcus 2a5214bd08 changed all language file for SDM230 driver 2022-01-15 14:14:32 +01:00
SteWers a4b218b89e [Solax X1] Rework inverter-mode
- redesign inverter-mode implementation
- enhancements to solax protocol version 1.7
- few german translation fixes
2022-01-08 21:46:23 +01:00
SteWers 32cc20219a [Solax X1] RTS support and offline status 2022-01-06 09:52:27 +01:00
Theo Arends 0cdf6c9653 Refactor Shift595 2021-12-05 14:49:49 +01:00
jziolkowski d855cc22a0 Add support for 74x595 shift registers 2021-12-04 17:52:29 +01:00
Theo Arends 5243b17a1a Add 1 second heartbeat GPIO 2021-11-03 11:58:05 +01:00
Norbert Richter f580d46c9b
Add NeoPool cell runtime 2021-10-11 17:03:28 +02:00
Theo Arends a466c5abf3 Add support for HM330X
Add support for HM330X SeedStudio Grove Particule sensor (#13250)
2021-10-08 13:59:11 +02:00
Barbudor 0e777193fc add 'show hidden files' checkbox in fileman 2021-10-03 20:11:14 +02:00
Barbudor df7810a6f8 add support for BL0942 to xnrg_14_bl09xx.ino 2021-10-02 20:00:18 +02:00
Barbudor 65989d2552 bl09xx driver for both bl0939 and bl0940 2021-09-21 18:25:52 +02:00
Theo Arends 454d4601b4 Add support for IKEA VINDRIKTNING
Add support for IKEA VINDRIKTNING particle concentration sensor (#12976)
2021-08-26 11:16:28 +02:00
Theo Arends d4f444a85a Add support for Hydreon RG-15 Solid State Rain sensor
Add support for Hydreon RG-15 Solid State Rain sensor (#12974)
2021-08-25 17:25:11 +02:00
Wouter Breukink 7ad2975063 Added support for Hydreon RG-15 Rain Sensor 2021-08-25 15:01:14 +01:00
Adrian Scillato 948c57e5c0
Update zh_CN.h 2021-08-16 19:10:09 -03:00
Marius Bezuidenhout 024cc0b9b6 Added MCP2515 library and Freedom Won BMS sensor 2021-07-12 12:32:27 +02:00
Barbudor 8523b50d4e FSMan: add file deletion confirmation 2021-06-17 19:02:58 +02:00
s-hadinger 95d5c7e257
Merge pull request #12192 from s-hadinger/gpio_i2s
Added I2S and Interrupt GPIO types
2021-05-26 22:31:05 +02:00
Stephan Hadinger 58360f7c17 Added I2S and Interrupt GPIO types 2021-05-25 20:14:15 +02:00
Stephan Hadinger ce03ec0c9e Renamed `OLED Reset` to `Display Rst` 2021-05-25 19:26:40 +02:00
Norbert Richter 87a4b2314f
Update Sugar Valley Neopool driver
Add NPLight TOGGLE cmnd
Add NPFiltrationMode string parameter
Add filtration speed on result
Add undocumented register function
Fix NPLight get status
Fix hydrolysis status
Fix NPFiltration side effects
Fix pH warning
Fix hydrolysis/redox value
Fix register desc
2021-05-23 10:54:05 +02:00
Michael Voggenreiter de12709ed6 Added electricity meter easymeter Q3C 2021-04-28 07:57:05 +02:00
Stephan Hadinger 4395a19fe6 Add ``Input`` GPIO type with no default action, to be read via Berry 2021-04-21 10:05:10 +02:00
Theo Arends 90422bc307 Oops I did it again 2021-04-16 11:43:26 +02:00
Adrian Scillato 89f07f507e Add New Translation Keys 2021-04-12 13:45:18 -03:00
ha0y 30d016ea3f
Update zh_CN.h 2021-04-12 00:36:35 +08:00
Barbudor 06a75af1af file system editor GUI_FILE_EDIT 2021-04-11 15:22:57 +02:00
Theo Arends eb3fe9c5eb Oops. Fix compile 2021-04-09 17:05:22 +02:00
Theo Arends be72bde8f5 Add ESP32 support for internal Hall Effect sensor
Add ESP32 support for internal Hall Effect sensor connected to both GPIO36 and GPIO39 only
2021-03-27 15:15:15 +01:00
Theo Arends 88e00b1041 Prep GPIO zero-cross pulse 2021-03-23 15:17:32 +01:00
RaphDaMan 04c0b8d1d7 Included presence check, changed to XSNS_86 and hopefully solved language file conflicts. 2021-03-23 08:51:11 +01:00
RaphDaMan 3cf5609ad9 Merge remote-tracking branch 'upstream/development' into development
* upstream/development: (35 commits)
  some fixes
  fix image weblink
  fix compiler error with use_graph
  Add support for another variant of the 6-digit TM1637 display
  Add commands ``DisplayType`` and ``DisplayInvert``
  Update xdrv_05_irremote.ino
  Update xdrv_05_irremote_full.ino
  Update xdrv_05_irremote_full.ino
  Update xdrv_05_irremote.ino
  Update xdrv_20_hue.ino
  Berry fix rules
  Add frequency to CSE7761 driver
  Minor fixes
  Delete .history/tasmota directory
  Delete xdrv_20_hue_20210321092519.ino
  only perform interlock delay once
  No Discovery
  Remove text "Module" from GUI main page
  Refactor DisplayDimmer
  Use Berry as default for Core2 and Odroid-go
  ...
2021-03-22 23:17:03 +01:00
RaphDaMan 587ad9a733 Squashed commit of the following:
commit 6c9c4a83d0076bb9303d65d5435f0d0bf2e81a6b
Author: RaphDaMan <raphael@my107.de>
Date:   Sat Mar 20 13:49:36 2021 +0100

    v0.7 Final and ready to PR.
2021-03-20 14:14:07 +01:00
Ajith Vasudevan 27288ac603 Added support for MAX7219 Seven-Segment Display 2021-03-19 15:56:48 +05:30
Adrian Scillato 839d13adf6
Update zh_CN.h 2021-03-16 14:31:23 -03:00
Theo Arends 4fb55544bb Prep support CSE7761 2021-03-01 18:22:26 +01:00
nonix d38c1c415e Added support for XPT2046 touch screen 2021-02-28 18:27:32 +01:00
gemu2015 5f75f4619c ssd1351 support for 4 wire spi 2021-02-28 16:09:57 +01:00
Jan Bubík c6673d4081 new feature: LCD/DLP Projector Serial Control
- implemented as XDRV53
 - user must configure GPIO pins "DLP Rx" and "DLP Tx" for serial communication
 - emulates an additional RELAY by sending ON/OFF commands to Projector
 - continually polls the Projector's state to update virtual RELAY state
 - blocks RELAY1 in ON state while Projector is running (to protect the lamp)
 - serial codes for NEC and OPTOMA, ready for more manufacturers
 - tested with NEC V300W
2021-02-27 22:28:29 +01:00
André Araújo a321ff5562 Fix Ezo D.O sensor
- Unit of measure was in ppm and should be in mg/L
- Sensor was not detected
- Code fixes on multiple ezo sensors
2021-02-22 10:40:37 +00:00
Theo Arends 7a911b328f Fix TM1637 driver
Fix TM1637 driver now needs ``TM1637 CLK`` and ``TM1637 DIO`` to enable (#11057)
2021-02-21 12:17:39 +01:00
Norbert Richter 435be84ff3
Add SDM72 Modbus energy meter 2021-02-09 16:13:40 +01:00
Theo Arends bfde36e954 Add fragmentation translations 2021-02-04 15:19:59 +01:00
Norbert Richter 29deb769d4
Move text to lang files 2021-01-20 14:47:58 +01:00
Norbert Richter d4c2282170
Add Sugar Valley NeoPool Controller 2021-01-20 13:56:57 +01:00
Theo Arends 2dbd1ef973 Add support for 24/26/32/34 bit RFID Wiegand
Add support for 24/26/32/34 bit RFID Wiegand interface (D0/D1) by Sigurd Leuther (#3647, #10565)
2021-01-16 15:39:33 +01:00
Vic c803670137 BS814A-2 Touch Driver xdrv_52 flavor 2021-01-07 16:39:41 +01:00
Theo Arends 9d0a7e9bc4 Update filesystem GUI 2021-01-06 17:54:03 +01:00
Theo Arends d63c46fe38
Merge branch 'development' into feature/analog-ph-sensor-support 2021-01-06 14:27:41 +01:00
gemu2015 40a440d5f2 change sd card to UFS 2021-01-06 09:53:59 +01:00
Michael Kolb f09108d449 Review comments: Shortened i18n strings 2021-01-05 17:25:08 +01:00
Michael Kolb 0b90dd7314 Took care of all languages 2021-01-05 14:46:56 +01:00