diff --git a/BUILDS.md b/BUILDS.md index 7c8618e39..019ac4045 100644 --- a/BUILDS.md +++ b/BUILDS.md @@ -222,6 +222,7 @@ | Feature or Sensor | lite | tasmota | knx | sensors | ir | display | webcam | Remarks |-----------------------|-------|--------|-----|---------|----|---------|--------|-------- | USE_UFILESYS | x | x | x | x | x | x | x | +| USE_HALLEFFECT | x | x | x | x | x | x | x | | USE_MI_ESP32 | - | x | - | x | - | - | - | See SetOption115 | USE_IBEACON_ESP32 | - | - | - | - | - | - | - | | USE_WEBCAM | - | - | - | - | - | - | x | diff --git a/CHANGELOG.md b/CHANGELOG.md index be982f47f..0a1028cd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,10 +10,11 @@ All notable changes to this project will be documented in this file. - Support for TM1638 seven segment display by Ajith Vasudevan (#11031) - Support for MAX7219 seven segment display by Ajith Vasudevan (#11387) - Support for Frequency monitoring and zero-cross detection on CSE7761 (Sonoff Dual R3) -- IRremoteESP8266 library from v2.7.15 to v2.7.16 +- ESP32 support for internal Hall Effect sensor connected to both GPIO36 and GPIO39 only ### Changed - PubSubClient library from EspEasy v2.7.12 to Tasmota v2.8.12 +- IRremoteESP8266 library from v2.7.15 to v2.7.16 ## [9.3.1.1] ### Added diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0efe3c3ef..b0868e87b 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -98,10 +98,12 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota - ESP32 Extent BLE [#11212](https://github.com/arendst/Tasmota/issues/11212) - ESP32 support for WS2812 hardware driver via RMT or I2S - ESP32 support for secondary I2C controller +- ESP32 support for internal Hall Effect sensor connected to both GPIO36 and GPIO39 only ### Changed - TasmotaSerial library from v3.2.0 to v3.3.0 - PubSubClient library from EspEasy v2.7.12 to Tasmota v2.8.12 +- IRremoteESP8266 library from v2.7.15 to v2.7.16 - ESP32 core library from v1.0.5-rc6 to v1.0.5 - TuyaMcu dimmer timeout [#11121](https://github.com/arendst/Tasmota/issues/11121) - Rename epaper 42 commands [#11222](https://github.com/arendst/Tasmota/issues/11222) diff --git a/tasmota/i18n.h b/tasmota/i18n.h index dcdd08445..9b997230f 100644 --- a/tasmota/i18n.h +++ b/tasmota/i18n.h @@ -88,6 +88,7 @@ #define D_JSON_GATEWAY "Gateway" #define D_JSON_GREEN "Green" #define D_JSON_GROUPS "Groups" +#define D_JSON_HALLEFFECT "HallEffect" #define D_JSON_HALTING "Halting" #define D_JSON_HEAPSIZE "Heap" #define D_JSON_HIGH "High" diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index b0775ccbd..989e5636d 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Groep" #define D_HOST "Gasheer" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Gasheername" #define D_HUMIDITY "Humiditeit" #define D_ILLUMINANCE "Verligting" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index cd59b4466..0dfbe2b13 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Шлюз" #define D_GROUP "Група" #define D_HOST "Хост" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Име на хоста" #define D_HUMIDITY "Влажност" #define D_ILLUMINANCE "Осветеност" @@ -807,6 +808,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 06c038bfd..91929e163 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Výchozí brána" #define D_GROUP "Skupina" #define D_HOST "Server" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Název serveru" #define D_HUMIDITY "Vlhkost" #define D_ILLUMINANCE "Osvětlení" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 14f5ecbd5..a6bb7e8a6 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Gruppe" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Feuchtigkeit" #define D_ILLUMINANCE "Beleuchtungsstärke" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Puls" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 7edbde4e4..9b694ad22 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Πύλη" #define D_GROUP "Ομάδα" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Υγρασία" #define D_ILLUMINANCE "Φωτεινότητα" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 52ba3d0db..54c33fec0 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Group" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Humidity" #define D_ILLUMINANCE "Illuminance" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index cb9a3841f..74ec56458 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Grupo" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Humedad" #define D_ILLUMINANCE "Luminancia" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "Cruce por cero" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index a2cf87638..8d5772871 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Passerelle" #define D_GROUP "Groupe" #define D_HOST "Hôte" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Nom d'Hôte" #define D_HUMIDITY "Humidité" #define D_ILLUMINANCE "Éclairement" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/fy_NL.h b/tasmota/language/fy_NL.h index d11523456..594a67785 100644 --- a/tasmota/language/fy_NL.h +++ b/tasmota/language/fy_NL.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Poarte" #define D_GROUP "Groep" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostnamme" #define D_HUMIDITY "Feuchte" #define D_ILLUMINANCE "Beljochting" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index f747a56b2..ce16e050f 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -109,6 +109,7 @@ #define D_GATEWAY "שער" #define D_GROUP "קבוצה" #define D_HOST "מארח" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "שם מארח" #define D_HUMIDITY "לחות" #define D_ILLUMINANCE "רמת חשיפה" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 420bbcefd..905bb4cb4 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Átjáró" #define D_GROUP "Csoport" #define D_HOST "Hoszt" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hosztnév" #define D_HUMIDITY "Páratartalom" #define D_ILLUMINANCE "Megvilágítás" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 1d97bd908..4438dd7ef 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Gruppo" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Nome host" #define D_HUMIDITY "Umidità" #define D_ILLUMINANCE "Illuminazione" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ - TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ - RX" #define D_SENSOR_ZEROCROSS "Impulsi ZC" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index 7aec21d32..74e3caddc 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -109,6 +109,7 @@ #define D_GATEWAY "게이트웨이" #define D_GROUP "그룹" #define D_HOST "호스트" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "호스트이름" #define D_HUMIDITY "습도" #define D_ILLUMINANCE "조도" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 11fe1075a..618990ea2 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Groep" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostnaam" #define D_HUMIDITY "Luchtvochtigheid" #define D_ILLUMINANCE "Verlichtingssterkte" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 08acee488..8db1978fa 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Brama" #define D_GROUP "Grupa" #define D_HOST "Serwer" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Nazwa serwera" #define D_HUMIDITY "Wilgotność" #define D_ILLUMINANCE "Podświetlanie" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 9d6060859..e95c48a9b 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Grupo" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Nome do Host" #define D_HUMIDITY "Umidade" #define D_ILLUMINANCE "Luminância" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 2042c747d..fbc55ab05 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Grupo" #define D_HOST "Anfitrião" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Nome Anfitrião" #define D_HUMIDITY "Humidade" #define D_ILLUMINANCE "Luminâcia" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 1c63fd554..19d1c59e8 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Grup" #define D_HOST "Gazdă" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Hostname" #define D_HUMIDITY "Umiditate" #define D_ILLUMINANCE "Iluminare" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 4698228ae..7549ce1bb 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Шлюз" #define D_GROUP "Группа" #define D_HOST "Хост" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Имя Хоста" #define D_HUMIDITY "Влажность" #define D_ILLUMINANCE "Освещенность" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 589c06301..ab6bf0649 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Predvolená brána" #define D_GROUP "Skupina" #define D_HOST "Server" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Názov servera" #define D_HUMIDITY "Vlhkosť" #define D_ILLUMINANCE "Osvetlenie" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index e2085e239..5ebdfcd4b 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Gateway" #define D_GROUP "Grupp" #define D_HOST "Värd" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Värdnamn" #define D_HUMIDITY "Fuktighet" #define D_ILLUMINANCE "Belysnings" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 2b41e9b9d..2b1660f05 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Geçit" #define D_GROUP "Grup" #define D_HOST "Host" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Host Adresi" #define D_HUMIDITY "Nem" #define D_ILLUMINANCE "Aydınlık" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index b19d5c82d..816ea4381 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Шлюз" #define D_GROUP "Група" #define D_HOST "Хост" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Назва хосту" #define D_HUMIDITY "Вологість" #define D_ILLUMINANCE "Освітленність" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index cf4000263..993dce616 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -109,6 +109,7 @@ #define D_GATEWAY "Cổng kết nối" #define D_GROUP "Nhóm" #define D_HOST "Máy chủ" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "Tên máy chủ" #define D_HUMIDITY "Độ ẩm" #define D_ILLUMINANCE "Độ sáng" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index c317fb724..c7f21781f 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -109,6 +109,7 @@ #define D_GATEWAY "网关" #define D_GROUP "组:" #define D_HOST "主机" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "主机名" #define D_HUMIDITY "湿度" #define D_ILLUMINANCE "照度" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 849ae946d..3af05b2cd 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -109,6 +109,7 @@ #define D_GATEWAY "閘道器" #define D_GROUP "群組:" #define D_HOST "主機" +#define D_HALL_EFFECT "Hall Effect" #define D_HOSTNAME "主機名稱" #define D_HUMIDITY "濕度" #define D_ILLUMINANCE "照度" @@ -808,6 +809,7 @@ #define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX" #define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX" #define D_SENSOR_ZEROCROSS "ZC Pulse" +#define D_SENSOR_HALLEFFECT "HallEffect" // Units diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 822d37860..8c37c1f13 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -899,6 +899,7 @@ // #define ETH_CLKMODE 0 // [EthClockMode] 0 = ETH_CLOCK_GPIO0_IN, 1 = ETH_CLOCK_GPIO0_OUT, 2 = ETH_CLOCK_GPIO16_OUT, 3 = ETH_CLOCK_GPIO17_OUT #define USE_ADC // Add support for ADC on GPIO32 to GPIO39 +#define USE_HALLEFFECT // Add support for internal Hall Effcet sensor connected to GPIO36 and GPIO39 //#define USE_SPI // Add support for hardware SPI //#define USE_MI_ESP32 // Add support for ESP32 as a BLE-bridge (+9k2 mem, +292k flash) diff --git a/tasmota/support_features.ino b/tasmota/support_features.ino index cdc864483..a6a7e5b3d 100644 --- a/tasmota/support_features.ino +++ b/tasmota/support_features.ino @@ -737,7 +737,9 @@ void ResponseAppendFeatures(void) #ifdef USE_BERRY feature8 |= 0x00000008; // xdrv_52_9_berry.ino #endif -// feature8 |= 0x00000010; +#ifdef USE_HALLEFFECT + feature8 |= 0x00000010; // xsns_87_esp32_halleffect.ino +#endif // feature8 |= 0x00000020; // feature8 |= 0x00000040; // feature8 |= 0x00000080; diff --git a/tasmota/tasmota_configurations_ESP32.h b/tasmota/tasmota_configurations_ESP32.h index 9a18f43f5..fea1429e1 100644 --- a/tasmota/tasmota_configurations_ESP32.h +++ b/tasmota/tasmota_configurations_ESP32.h @@ -183,6 +183,7 @@ #define USE_LIGHT_PALETTE // Add support for color palette (+0k9 code) +#define USE_HALLEFFECT // Add support for internal Hall Effcet sensor connected to GPIO36 and GPIO39 #define USE_DS18x20 // Add support for DS18x20 sensors with id sort, single scan and read retry (+1k3 code) #define USE_I2C // I2C using library wire (+10k code, 0k2 mem, 124 iram) diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index f3d95488a..c7d76279f 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -158,6 +158,9 @@ enum UserSelectablePins { GPIO_MAX7219CLK, GPIO_MAX7219DIN, GPIO_MAX7219CS, // MAX7219 interface GPIO_TFMINIPLUS_TX, GPIO_TFMINIPLUS_RX, // TFmini Plus ToF sensor GPIO_ZEROCROSS, +#ifdef ESP32 + GPIO_HALLEFFECT, +#endif GPIO_SENSOR_END }; enum ProgramSelectablePins { @@ -336,6 +339,9 @@ const char kSensorNames[] PROGMEM = D_SENSOR_MAX7219_CLK "|" D_SENSOR_MAX7219_DIN "|" D_SENSOR_MAX7219_CS "|" D_SENSOR_TFMINIPLUS_TX "|" D_SENSOR_TFMINIPLUS_RX "|" D_SENSOR_ZEROCROSS "|" +#ifdef ESP32 + D_SENSOR_HALLEFFECT "|" +#endif ; const char kSensorNamesFixed[] PROGMEM = @@ -807,11 +813,13 @@ const uint16_t kGpioNiceList[] PROGMEM = { AGPIO(GPIO_MAX7219DIN), AGPIO(GPIO_MAX7219CS), #endif // USE_DISPLAY_MAX7219 + /*-------------------------------------------------------------------------------------------*\ * ESP32 specifics \*-------------------------------------------------------------------------------------------*/ #ifdef ESP32 + AGPIO(GPIO_HALLEFFECT) + 2, // Hall effect sensor connected to GPIO36 and 39 #ifdef USE_WEBCAM AGPIO(GPIO_WEBCAM_PWDN), AGPIO(GPIO_WEBCAM_RESET), @@ -829,7 +837,7 @@ const uint16_t kGpioNiceList[] PROGMEM = { #ifdef USE_ETHERNET AGPIO(GPIO_ETH_PHY_POWER), AGPIO(GPIO_ETH_PHY_MDC), - AGPIO(GPIO_ETH_PHY_MDIO), // Ethernet + AGPIO(GPIO_ETH_PHY_MDIO), // Ethernet #endif // USE_ETHERNET /*-------------------------------------------------------------------------------------------*\ diff --git a/tasmota/xdrv_07_domoticz.ino b/tasmota/xdrv_07_domoticz.ino index d3a16ed86..5542288dd 100644 --- a/tasmota/xdrv_07_domoticz.ino +++ b/tasmota/xdrv_07_domoticz.ino @@ -391,7 +391,7 @@ uint8_t DomoticzHumidityState(float h) { return (!h) ? 0 : (h < 40) ? 2 : (h > 70) ? 3 : 1; } -void DomoticzSensor(uint8_t idx, uint32_t value) { +void DomoticzSensor(uint8_t idx, int value) { char data[16]; snprintf_P(data, sizeof(data), PSTR("%d"), value); DomoticzSensor(idx, data); diff --git a/tasmota/xsns_87_esp32_halleffect.ino b/tasmota/xsns_87_esp32_halleffect.ino new file mode 100644 index 000000000..ee4cc1eb2 --- /dev/null +++ b/tasmota/xsns_87_esp32_halleffect.ino @@ -0,0 +1,86 @@ +/* + xsns_87_esp32_halleffect.ino - ESP32 Hall Effect sensor for Tasmota + + Copyright (C) 2021 Theo Arends + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifdef ESP32 +#ifdef USE_HALLEFFECT +/*********************************************************************************************\ + * ESP32 internal Hall Effect sensor connected to both GPIO36 and GPIO39 +\*********************************************************************************************/ + +#define XSNS_87 87 + +struct { + bool present = false; +} HEData; + +void HallEffectInit(void) { + if (PinUsed(GPIO_HALLEFFECT) && PinUsed(GPIO_HALLEFFECT, 1)) { + HEData.present = (((36 == Pin(GPIO_HALLEFFECT)) && (39 == Pin(GPIO_HALLEFFECT, 1))) || + ((39 == Pin(GPIO_HALLEFFECT)) && (36 == Pin(GPIO_HALLEFFECT, 1)))); + } +} + +#ifdef USE_WEBSERVER +// {s} = , {m} = , {e} = +const char HTTP_SNS_HALL_EFFECT[] PROGMEM = "{s}" D_HALL_EFFECT "{m}%d{e}"; +#endif // USE_WEBSERVER + +void HallEffectShow(bool json) { + int value = hallRead(); + if (json) { + ResponseAppend_P(PSTR(",\"" D_JSON_HALLEFFECT "\":%d"), value); +#ifdef USE_DOMOTICZ + if (0 == TasmotaGlobal.tele_period) { + DomoticzSensor(DZ_COUNT, value); + } +#endif // USE_DOMOTICZ +#ifdef USE_WEBSERVER + } else { + WSContentSend_P(HTTP_SNS_HALL_EFFECT, value); +#endif // USE_WEBSERVER + } +} + +/*********************************************************************************************\ + * Interface +\*********************************************************************************************/ + +bool Xsns87(uint8_t function) { + bool result = false; + + if (FUNC_INIT == function) { + HallEffectInit(); + } + else if (HEData.present) { + switch (function) { + case FUNC_JSON_APPEND: + HallEffectShow(1); + break; +#ifdef USE_WEBSERVER + case FUNC_WEB_SENSOR: + HallEffectShow(0); + break; +#endif // USE_WEBSERVER + } + } + return result; +} + +#endif // USE_HALLEFFECT +#endif // ESP32 diff --git a/tools/decode-status.py b/tools/decode-status.py index 249c8f8a9..205419036 100755 --- a/tools/decode-status.py +++ b/tools/decode-status.py @@ -252,7 +252,7 @@ a_features = [[ "USE_TOF10120","USE_SDM72","USE_DISPLAY_TM1637","USE_PROJECTOR_CTRL" ],[ "USE_MPU6886","USE_TFMINIPLUS","USE_CSE7761","USE_BERRY", - "","","","", + "USE_HALLEFFECT","","","", "","","","", "","","","", "","","","", @@ -286,7 +286,7 @@ else: obj = json.load(fp) def StartDecode(): - print ("\n*** decode-status.py v20210323 by Theo Arends and Jacek Ziolkowski ***") + print ("\n*** decode-status.py v20210327 by Theo Arends and Jacek Ziolkowski ***") # print("Decoding\n{}".format(obj))