Commit Graph

7836 Commits

Author SHA1 Message Date
Theo Arends e81d59f658 Fix Shelly Pro 4PM initial button state 2023-01-24 16:34:24 +01:00
Theo Arends ecac466e23 Fix Shelly Pro 4PM power on reset 2023-01-24 12:04:30 +01:00
Barbudor 95dee75b0b
use dB value, not quality (#17777) 2023-01-24 08:55:44 +01:00
David Gwynne 1c39ff6cef
add tuyamcubr_web_sensor to do a simple display of the dp values. (#17776)
the format shows the type+dpid on the left hand side (eg, Bool1,
Value2, Enum3, etc), and the value with %u on the right hand side.
2023-01-24 08:55:28 +01:00
David Gwynne 36fd8358d6
TuyaMCUBr: support on/true/off/false/toggle in the tuyamcubool command. (#17775)
* support on/true/off/false/toggle in the tuyamcubool command.

i wanted a tasmotized wall switch to be able to blindly send "toggle" to
a fan/light and have it do the right thing. the dp value is kept by the
driver, so it can easily read, modify, and write it.

* "on"/"off"/"toggle" etc are parsed when XdrvMailbox is set up

so i don't have to do it, i just have to use the payload.
2023-01-24 08:54:19 +01:00
Barbudor db0532de5f
ds3231 temperature sensor (#17778) 2023-01-24 08:52:43 +01:00
Theo Arends 4297fa3f3e Add Shelly Pro 4 input interrupt support 2023-01-23 12:51:02 +01:00
Theo Arends 88dd5f7f50 Fix Shelly Pro 4PM auto reset 2023-01-22 16:41:25 +01:00
yvesdm3000 3f73d5a49d
Implement Zigbee tuya_time sync. (#17765) 2023-01-22 11:50:52 +01:00
gemu d38a0c799c
Epaper deep sleep support (#17766)
* allow descriptor reload

* restart reason rrsn, database rewrite

* support for deep sleep

* revert

* restart reason
2023-01-22 10:56:06 +01:00
Theo Arends 8b96f68a5b Fix ESP8266 compilation 2023-01-21 15:42:31 +01:00
Theo Arends c85003c67d Prep Shelly Pro 4PM 2023-01-21 14:30:35 +01:00
s-hadinger 0743b7d2b6
Berry add up flag to ``tasmota.wifi()`` and ``tasmota.eth()``, always return MAC (#17759) 2023-01-21 13:41:36 +01:00
Theo Arends aa78ffb733 Prep Shelly Pro 4PM 2023-01-20 14:28:58 +01:00
Benjamin Nestler 498b0e55b8
Add tuya commands CMD_GET_NETWORK_STATUS and CMD_TEST_WIFI (#17745)
* Add tuya commands CMD_GET_NETWORK_STATUS  and CMD_TEST_WIFI

* Assuming that nobody uses the tuya test wifi ssid, the payload is hardcoded.
2023-01-20 13:20:03 +01:00
Jason2866 6b4171fef9
Shelly has label `fs_1` for spiffs (#17753)
* Shelly has label `fs_1` for spiffs
2023-01-20 13:19:38 +01:00
David Gwynne 51866026d5
TuyaMCUBr: Handle "Get local time" requests from the MCU (#17750)
* handle get local time requests from the MCU.

from what i can tell from the tuya serial communication protocol
documentation, we only have to send the time if MCU requests it. this is
unlike how TUYA_SET_TIME is implementing in xdrv_16, where if
USE_TUYA_TIME is enabled it will send unsolicited time updates every
minute as well as in response to a request from the MCU.

i couldn't find an easy to check flag to see if tasmota was synced to a
real clock, so this blindly tells the MCU that our time is valid and
copies it over, the same as xdrv_16.

the tuya doco also describes a "Get system time in GMT" request and
response structure which would be mostly a copy of this code if i knew
if and where tasmota keeps track of UTC/GMT.

lastly, i'm not convinced RtcTime.day_of_week is right. it's friday
here which should be 6 if you start counting sunday as 1, but i read 2

* local time sync is implemented, but not gmtime
2023-01-20 10:07:42 +01:00
TID e2983f2835
Update pl_PL.h (#17747)
Fix traslation
2023-01-20 10:03:05 +01:00
s-hadinger 61be95841f
Berry crypto.EC_P256 ECDSA signature ASN.1 (#17740) 2023-01-18 20:50:01 +01:00
gemu bc1b35d2ff
Update xdsp_05_epaper_29.ino (#17738) 2023-01-18 08:50:22 +01:00
gemu 853909cb35
Epaper update (#17727)
* update epaper descriptors

* epaper rewrite

* add busy invert option

* fix v2 partial refresh

* prepare for large descriptors
2023-01-17 10:19:06 +01:00
Barbudor d904e0aa7f
Tuya - WIFI_STRENGTH + Save check on MCU_CONF (#17724)
* adding response to command 36 Get Wifi Strength

* more logs

* poperly check and warn if Mode 2 provide bad GPIOs

* final test on gpio
2023-01-17 04:46:00 +01:00
s-hadinger 457f706d17
Berry ``crypto.EC_P256`` ECDSA signature (required by Matter protocol) (#17723) 2023-01-16 21:48:28 +01:00
Theo Arends e2c9a71c3b Prep virtual button handler 2023-01-16 18:29:51 +01:00
Theo Arends 044606d8b8 Fix BMP deepsleep regression 2023-01-16 13:32:44 +01:00
Theo Arends 82b6d1ee91 Bump version to v12.3.1.4 2023-01-15 17:45:59 +01:00
Theo Arends 7a97fa4a19 Fix BMP support on two busses
Fix BMP support on two busses (#17643)
2023-01-15 17:14:54 +01:00
Barbudor 2d1d49504b
fix free() too early (#17710) 2023-01-15 16:20:35 +01:00
Theo Arends e0b17af307 Fix first sensor in case GlobalTemp is set wrong
Fix first of two sensors in case GlobalTemp is set wrong (#17694)
2023-01-14 16:11:08 +01:00
Theo Arends f71465a182 Repurpose SO39 for import active bandwidth
Repurpose SO39 for import active bandwidth (#17659)
2023-01-14 15:39:54 +01:00
Theo Arends 6c04cf7076 Update xdrv_122_file_settings_demo.ino 2023-01-13 17:19:46 +01:00
Theo Arends 13c16fd37b Fix xdrv_122_file_settings_demo (#17692) 2023-01-13 17:19:14 +01:00
gemu 3bddbdc5c0
fix sml dumpmode (#17690) 2023-01-13 13:23:25 +01:00
Theo Arends 094f45fe7e Fix compilation without USE_IPV6 2023-01-13 11:47:58 +01:00
Theo Arends 1a9e86a6b3 Fix ESP32 safeboot propagating upload 2023-01-13 11:30:30 +01:00
Reinhard ef3d30c44f
Update xsns_47_max31865.ino (#17661)
MAX31865 - make use of the already defined element 'ErrorCode' to transport the MAX31865 Fault Status Register to the JSON element 'Error'
2023-01-11 11:50:16 +01:00
Theo Arends f9177dfa3a Revert CSE7766 8N1 support - not needed 2023-01-10 09:48:49 +01:00
Ralph Maschotta b0094a0ddf
fix (PR #17643) BMP/BME sensors on two I2C buses: copy/paste typo (#17663) 2023-01-10 08:59:33 +01:00
bovirus 12b2dd2e50
Update italian language (#17662) 2023-01-10 08:58:52 +01:00
Theo Arends 8b70608e58 Add more ESP32 logging 2023-01-09 13:53:07 +01:00
Theo Arends a4fe1b88f9 Add HLW8032 8N1 2023-01-09 11:04:52 +01:00
Theo Arends 24105a74b2 Save some RAM on ESP8266 2023-01-08 17:51:17 +01:00
Theo Arends 9f8c8efac1 Delete .xdrv_65_tuyamcubr.ino.swp 2023-01-08 17:37:23 +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 9073fe01c1 Add ESP32 support for BMPxxx sensors on two I2C busses
Add ESP32 support for BMPxxx sensors on two I2C busses (#17643)
2023-01-08 17:19:08 +01:00
Theo Arends 0781192c87 Extract I2C support
- Fix BMP compilation on ESP8266
2023-01-08 16:04:58 +01:00
Ralph Maschotta d80b763f97
Enable more than two and up to four BMP/BME sensors on two I2C buses for ESP32 (only two addresses (76, 77) per I2C bus are possible). (enhancement of #10827,#1049, #2707) (#17643) 2023-01-08 15:57:34 +01:00
Theo Arends 12d7651758 Fix shutter JSON responses 2023-01-08 14:35:09 +01:00
Theo Arends 95690ab1b9 Add recursive rule MQTT subscribe support (#16943) 2023-01-07 17:31:10 +01:00
Theo Arends dad059737d Change PID temperature update (#17636) 2023-01-07 16:11:30 +01:00