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
Stephan Hadinger
549f13f7a8
Fix Berry `gpio.INPUT` conflict
2022-10-25 11:49:39 +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
Stephan Hadinger
453e7b3a6b
Berry update gpio list with SDIO and more
2022-04-30 13:18:22 +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
2e670be61c
Update to latest GPIO types
2022-03-17 22:58:42 +01:00
Barbudor
0e4561d855
step 6 - some missing L0X to LXX renaming
2022-03-11 23:32:59 +01:00
Barbudor
eb54152c76
step 5 - some renaming
2022-03-11 23:12:57 +01:00
Stephan Hadinger
7a4108ef93
Fix WS2812 multi-strip support
2022-03-06 15:50:24 +01:00
rice103
2bf3ac417b
bug fix, implements filter to make average of data
2022-01-23 23:54:29 +01:00
Stephan Hadinger
26a7fad65b
Berry C mapping moved to a separate ``berry_mapping`` library
2021-12-17 19:41:36 +01:00
Stephan Hadinger
0c144fb748
Berry optimize GPIO constants
2021-11-05 19:25:50 +01:00