Commit Graph

9 Commits

Author SHA1 Message Date
Mark Fickett 58816aa9a2
Lower the minimum temperature to 10C (50F) and make it pick up user-defined values. (#20628) 2024-02-03 12:34:24 +01:00
David Gwynne de0c39582f
don't send commands to the AC while reading data from the AC. (#20352)
on some units it can take around 250ms to reply to a request, by which
time we're shoving another command to the unit. if this happens, the
unit gives up and starts replying to the new command, which can again
take 250ms. in this situation effectively nothing gets through.

avoid this by checking if we're in the parser state machine. this also
gives us timeout handling.

tested on 4 different AC units. one which was unusable before is now
functioning as expected, and the other 3 appear just as functional as
they were before.
2023-12-30 09:14:56 +01:00
Theo Arends d5a4f8441b Fix Berry claiming UART0 if needed (#20324) 2023-12-28 17:25:01 +01:00
Theo Arends 21c7edcb50 Add display of active drivers using command ``status 4`` 2023-12-27 22:03:56 +01:00
Theo Arends fc9065d4c8 Fix miel_hvac
Fix miel_hvac (#18923)
2023-07-03 11:55:21 +02:00
Theo Arends e927e3307e Add DevicesPresent limit check
- Increase supported relays and buttons to 32
2023-02-25 16:44:04 +01:00
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
Theo Arends c1ea8953cb Refactor uint8_t to uint32_t 2022-11-11 10:44:56 +01:00
Theo Arends c08561f67c Bump version to v11.1.0.4
- Restructure tasmota
2022-06-02 14:17:39 +02:00