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.
This commit is contained in:
RaphDaMan 2021-03-20 14:14:07 +01:00
parent 9902a29c31
commit 587ad9a733
33 changed files with 445 additions and 1 deletions

View File

@ -211,6 +211,8 @@
#define D_JSON_IMPORT "Import"
#define D_JSON_EXPORT "Export"
#define D_JSON_TOTAL_ACTIVE "TotalActive"
#define D_JSON_SIGNALSTRENGTH "Signal Strength"
#define D_JSON_CHIPTEMPERATURE "Chip Temperature"
#define D_RSLT_ENERGY "ENERGY"
#define D_RSLT_HASS_STATE "HASS_STATE"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Stroom L1+L2+L3"
#define D_SpL1L2L3 "Spanning L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Geen"
#define D_SENSOR_USER "Gebruiker"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -584,6 +584,10 @@
#define D_StL1L2L3 "Ток L1+L2+L3"
#define D_SpL1L2L3 "Напрежение L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Няма"
#define D_SENSOR_USER "Потребит."
@ -800,6 +804,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Není"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Ströme L1+L2+L3"
#define D_SpL1L2L3 "Spannung L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signalstärke"
#define D_CHIPTEMPERATURE "Chip Temperatur"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "None"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Κανένα"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "None"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Corriente L1+L2+L3"
#define D_SpL1L2L3 "Voltaje L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Ninguno"
#define D_SENSOR_USER "Por Usuario"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Cambiando dirección a"
#define D_OUT_OF_RANGE "Fuera de Rango"
#define D_SENSOR_DETECTED "detectado"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Courant Ph1+Ph2+Ph3"
#define D_SpL1L2L3 "Tension (Ph1+Ph2+Ph3)/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Aucun"
#define D_SENSOR_USER "Utilisateur"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Streame L1+L2+L3"
#define D_SpL1L2L3 "Foltaazje L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Gjin"
#define D_SENSOR_USER "Brûker"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "None"
#define D_SENSOR_USER "משתמש"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Áramerősség L1+L2+L3"
#define D_SpL1L2L3 "Feszültség L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Nincs"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Corrente L1+L2+L3"
#define D_SpL1L2L3 "Tensione L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Nessuno"
#define D_SENSOR_USER "Utente"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Imposta indirizzo a"
#define D_OUT_OF_RANGE "Fuori limite"
#define D_SENSOR_DETECTED "rilevato"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "없음"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Stroom L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Geen"
#define D_SENSOR_USER "Gebruiker"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Prąd suma"
#define D_SpL1L2L3 "Prąd średni"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Brak"
#define D_SENSOR_USER "Użytkownik"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Nenhum"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Mudança de endereço para"
#define D_OUT_OF_RANGE "Fora de Alcance"
#define D_SENSOR_DETECTED "detectou"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Corrente F1+F2+F3"
#define D_SpL1L2L3 "Tensão F1+F2+F3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Nenhum"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Mudança de endereço para"
#define D_OUT_OF_RANGE "Fora de Alcance"
#define D_SENSOR_DETECTED "detectou"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Fără"
#define D_SENSOR_USER "Utilizator"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "-нет-"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "А"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Žiaden"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Ingen"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "None"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Немає"
#define D_SENSOR_USER "Користувач"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "А"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Dòng L1+L2+L3"
#define D_SpL1L2L3 "Điện áp L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "Không dùng"
#define D_SENSOR_USER "Người Dùng"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "A"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "无"
#define D_SENSOR_USER "User"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "安"

View File

@ -585,6 +585,10 @@
#define D_StL1L2L3 "Current L1+L2+L3"
#define D_SpL1L2L3 "Voltage L1+L2+L3/3"
// xsns_88_tfminiplus.ino
#define D_SIGNALSTRENGTH "Signal Strength"
#define D_CHIPTEMPERATURE "Chip Temperature"
// tasmota_template.h - keep them as short as possible to be able to fit them in GUI drop down box
#define D_SENSOR_NONE "無"
#define D_SENSOR_USER "使用者"
@ -801,6 +805,9 @@
#define D_NEW_ADDRESS "Setting address to"
#define D_OUT_OF_RANGE "Out of Range"
#define D_SENSOR_DETECTED "detected"
#define D_SENSOR_TFMINIPLUS_TX "TFmini+ TX"
#define D_SENSOR_TFMINIPLUS_RX "TFmini+ RX"
// Units
#define D_UNIT_AMPERE "安培"

View File

@ -699,6 +699,7 @@
// #define USE_PROJECTOR_CTRL_OPTOMA // Use codes for OPTOMA
//#define USE_AS608 // Add support for AS608 optical and R503 capacitive fingerprint sensor (+3k code)
// #define USE_AS608_MESSAGES // Add verbose error messages (+0k4 code)
//#define USE_TFMINIPLUS // Add suppoer for TFmini Plus (TFmini, TFmini-S) LiDAR modules via UART interface
// -- Power monitoring sensors --------------------
#define USE_ENERGY_MARGIN_DETECTION // Add support for Energy Margin detection (+1k6 code)

View File

@ -182,6 +182,7 @@
// #define USE_PROJECTOR_CTRL_NEC // Use codes for NEC
// #define USE_PROJECTOR_CTRL_OPTOMA // Use codes for OPTOMA
//#define USE_AS608 // Add support for AS608 optical and R503 capacitive fingerprint sensor (+3k4 code)
//#define USE_TFMINIPLUS // Add suppoer for TFmini Plus (TFmini, TFmini-S) LiDAR modules via UART interface
#define USE_ENERGY_SENSOR // Add energy sensors (-14k code)
#define USE_PZEM004T // Add support for PZEM004T Energy monitor (+2k code)

View File

@ -278,6 +278,7 @@
// #define USE_PROJECTOR_CTRL_NEC // Use codes for NEC
// #define USE_PROJECTOR_CTRL_OPTOMA // Use codes for OPTOMA
//#define USE_AS608 // Add support for AS608 optical and R503 capacitive fingerprint sensor (+3k4 code)
//#define USE_TFMINIPLUS // Add suppoer for TFmini Plus (TFmini, TFmini-S) LiDAR modules via UART interface
#define USE_ENERGY_SENSOR // Add energy sensors (-14k code)
#define USE_PZEM004T // Add support for PZEM004T Energy monitor (+2k code)

View File

@ -155,6 +155,7 @@ enum UserSelectablePins {
GPIO_XPT2046_CS, // XPT2046 SPI Chip Select
GPIO_CSE7761_TX, GPIO_CSE7761_RX, // CSE7761 Serial interface (Dual R3)
GPIO_VL53L0X_XSHUT1, // VL53L0X_XSHUT (the max number of sensors is VL53L0X_MAX_SENSORS)- Used when connecting multiple VL53L0X
GPIO_TFMINIPLUS_TX, GPIO_TFMINIPLUS_RX, // TFmini Plus ToF sensor
GPIO_SENSOR_END };
enum ProgramSelectablePins {
@ -330,6 +331,7 @@ const char kSensorNames[] PROGMEM =
D_SENSOR_XPT2046_CS "|"
D_SENSOR_CSE7761_TX "|" D_SENSOR_CSE7761_RX "|"
D_SENSOR_VL53L0X_XSHUT "|"
D_SENSOR_TFMINIPLUS_TX "|" D_SENSOR_TFMINIPLUS_RX "|"
;
const char kSensorNamesFixed[] PROGMEM =
@ -561,6 +563,10 @@ const uint16_t kGpioNiceList[] PROGMEM = {
AGPIO(GPIO_HX711_SCK), // HX711 Load Cell clock
AGPIO(GPIO_HX711_DAT), // HX711 Load Cell data
#endif
#ifdef USE_TFMINIPLUS
AGPIO(GPIO_TFMINIPLUS_TX), // TFmini Plus TX pin
AGPIO(GPIO_TFMINIPLUS_RX), // TFmini Plus RX pin
#endif
/*-------------------------------------------------------------------------------------------*\
* Energy sensors

View File

@ -0,0 +1,251 @@
/*
xsns_88_tfminiplus.ino - TFmini Plus interface for Tasmota
Created by Raphael Breiting on 12.11.2020.
Copyright (C) 2021 Raphael Breiting and 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 <http://www.gnu.org/licenses/>.
*/
// Conditional compilation of driver
#ifdef USE_TFMINIPLUS
/*****************************************************************************\
* TFmini, TFmini Plus, TFmini Plus (Indoor Version), TFmini-S - LiDAR Module
* Manufacturer: Benewake (Beijing) Co. Ltd.
*
* Code for Time-Of-Flight (TOF) family single-point short-range LiDAR sensor
* modules with UART interface.
*
* Connection Description for GH1.25-4P (Molex51021-0400) connector:
* No Color Corresponding PIN Function Comment
* 1 RED PIN-1 +5V Power Supply
* 2 WHITE PIN-2 RxD/SDA Receiving/Data
* 3 GREEN PIN-3 TxD/SCL Transmitting/Clock
* 4 BLACK PIN-4 GND Ground
*
* Before connecting module to Tasmota, please prepare module with
* the following sequence through terminal program (e.g. Termite):
* 1. Connect sensor to USB-to-UART (TTL 3.3V)
* 2. Set terminal to 115200bps and 8N1
* 3. Set frame rate to 0 (zero):
* send -->: 5A0603000000
* receive <-- (OK): 5A0603000000
* 4. Set baud rate to 9600bps
* send -->: 5A0806802500000D
* receive <-- (OK): 5A0806802500000D
* 5. Set terminal to 9600bps and 8N1
* 6. Save settings
* send -->: 5A04116F
* receive <-- (OK): 5A05110070
* receive <-- (FAIL): 5A05110071
* 7. When point 6 returned OK, than ready to connect to Tasmota! :)
* When point 6 returned FAIL, start with item 1 and
* - check connection of RX and TX pin are not exchanged
* - check power supply
* - 5V +-0,5V
* - 110mA average
* - 140mA max peak
*
* References:
* - http://en.benewake.com/product
* - https://de.aliexpress.com/item/32852024277.html?spm=a2g0s.9042311.0.0.27424c4d5Edizk
* - https://de.aliexpress.com/item/4001076614996.html?spm=a2g0s.9042311.0.0.27424c4d5Edizk
\*****************************************************************************/
#include <TasmotaSerial.h>
// Define driver ID
#define XSNS_88 88
// Use special no wait serial driver, should be always on
#ifndef ESP32
#define SPECIAL_SS
#endif
// Default baudrate
#define BAUDRATE 9600
// Serial buffer length for incoming data
#define TFMP_MAX_DATA_LEN 9
char Tfmp_buffer[TFMP_MAX_DATA_LEN + 1];
struct xsns_88_tfminiplus
{
bool ready = false;
uint16_t distance = 0;
uint16_t sigstrength = 0;
uint16_t chiptemp = 0;
} tfminiplus_sensor;
// Software and hardware serial pointers
#ifdef ESP8266
TasmotaSerial *TfmpSerial = nullptr;
#endif // ESP8266
#ifdef ESP32
HardwareSerial *TfmpSerial = nullptr;
#endif // ESP32
void TfmpInit(void)
{
if (!tfminiplus_sensor.ready)
{
if (PinUsed(GPIO_TFMINIPLUS_RX) && PinUsed(GPIO_TFMINIPLUS_TX))
{
TfmpSerial = new TasmotaSerial(Pin(GPIO_TFMINIPLUS_RX), Pin(GPIO_TFMINIPLUS_TX));
if (TfmpSerial->begin(BAUDRATE))
{
if (TfmpSerial->hardwareSerial())
{
ClaimSerial();
}
tfminiplus_sensor.ready = true;
TfmpSerial->flush();
}
}
}
}
void TfmpTrigger(void)
{
if (TfmpSerial && tfminiplus_sensor.ready)
{
TfmpSerial->write(0x5A);
TfmpSerial->write(0x04);
TfmpSerial->write(0x04);
TfmpSerial->write(0x62);
}
}
void TfmpProcessData(void)
{
uint16_t crc = 0;
// distance to object (default in cm)
tfminiplus_sensor.distance = (Tfmp_buffer[3] << 8) + Tfmp_buffer[2];
// signal strength (between 100 and 65535 fine, otherwise 0 due to out of range of non-reflective surface)
tfminiplus_sensor.sigstrength = (Tfmp_buffer[5] << 8) + Tfmp_buffer[4];
// chip temperature
tfminiplus_sensor.chiptemp = (((Tfmp_buffer[7] << 8) + Tfmp_buffer[6]) >> 3) - 256;
// check crc sum
for (int i = 0; i < TFMP_MAX_DATA_LEN - 1; ++i)
{
crc += (uint16_t)Tfmp_buffer[i];
}
if (!(char)(crc & 0xff) != Tfmp_buffer[TFMP_MAX_DATA_LEN])
{
DEBUG_SENSOR_LOG(PSTR("TFmini Plus: crc error"));
}
DEBUG_SENSOR_LOG(PSTR("TFmini Plus: Distance: %d"), tfminiplus_sensor.distance);
DEBUG_SENSOR_LOG(PSTR("TFmini Plus: Signal: %d"), tfminiplus_sensor.sigstrength);
DEBUG_SENSOR_LOG(PSTR("TFmini Plus: Chip Temp: %d"), tfminiplus_sensor.chiptemp);
TfmpSerial->flush();
}
void TfmpProcessSerialData (void)
{
uint8_t data;
bool dataReady;
if (TfmpSerial && tfminiplus_sensor.ready)
{
while (TfmpSerial->available() > 0)
{
data = TfmpSerial->read();
dataReady = addData((char)data);
if (dataReady)
{
TfmpProcessData();
}
}
}
}
bool addData(char nextChar)
{
// Buffer position
static uint8_t currentIndex = 0;
// Store data into buffer at position
Tfmp_buffer[currentIndex] = nextChar;
currentIndex++;
// Check for too many data
if (currentIndex >= TFMP_MAX_DATA_LEN)
{
// Terminate buffer and reset position
Tfmp_buffer[TFMP_MAX_DATA_LEN] = '\0';
currentIndex = 0;
return true;
}
return false;
}
#ifdef USE_WEBSERVER
// {s} = <tr><th>, {m} = </th><td>, {e} = </td></tr>
const char HTTP_SNS_DISTANCE_CM[] PROGMEM = "{s} " D_DISTANCE "{m}%d" D_UNIT_CENTIMETER "{e}";
const char HTTP_SNS_SIGNALSTRENGTH[] PROGMEM = "{s} " D_SIGNALSTRENGTH "{m}%d{e}";
const char HTTP_SNS_CHIPTEMPERATURE[] PROGMEM = "{s} " D_CHIPTEMPERATURE "{m}%d" D_UNIT_DEGREE D_UNIT_CELSIUS "{e}";
#endif // USE_WEBSERVER
void TfmpShow(bool json)
{
if (json) {
ResponseAppend_P(PSTR(",\"TFmini Plus\":{\"" D_JSON_DISTANCE "\":\"%d\",\"" D_JSON_SIGNALSTRENGTH "\":\"%d\",\"" D_JSON_CHIPTEMPERATURE "\":%d}"),
tfminiplus_sensor.distance, tfminiplus_sensor.sigstrength, tfminiplus_sensor.chiptemp);
#ifdef USE_DOMOTICZ
if (0 == TasmotaGlobal.tele_period) {
DomoticzFloatSensor(DZ_COUNT, tfminiplus_sensor.distance);
}
#endif // USE_DOMOTICZ
#ifdef USE_WEBSERVER
} else {
WSContentSend_P("{s}TFmini Plus");
WSContentSend_P(HTTP_SNS_DISTANCE_CM, tfminiplus_sensor.distance);
WSContentSend_P(HTTP_SNS_SIGNALSTRENGTH, tfminiplus_sensor.sigstrength);
WSContentSend_P(HTTP_SNS_CHIPTEMPERATURE, tfminiplus_sensor.chiptemp);
#endif // USE_WEBSERVER
}
}
/*********************************************************************************************\
* Interface
\*********************************************************************************************/
bool Xsns88(byte callback_id)
{
bool result = false;
switch (callback_id) {
case FUNC_INIT:
TfmpInit();
break;
case FUNC_EVERY_SECOND:
TfmpTrigger();
TfmpProcessSerialData();
result = true;
break;
case FUNC_JSON_APPEND:
TfmpShow(1);
break;
#ifdef USE_WEBSERVER
case FUNC_WEB_SENSOR:
TfmpShow(0);
break;
#endif // USE_WEBSERVER
case FUNC_SAVE_BEFORE_RESTART:
break;
case FUNC_COMMAND:
break;
}
return result;
}
#endif // USE_TFMINIPLUS

View File

@ -249,7 +249,7 @@ a_features = [[
"USE_BS814A2","USE_SEESAW_SOIL","USE_WIEGAND","USE_NEOPOOL",
"USE_TOF10120","USE_SDM72","USE_DISPLAY_TM1637","USE_PROJECTOR_CTRL"
],[
"","","","",
"USE_TFMINIPLUS","","","",
"","","","",
"","","","",
"","","","",