Skip to content

Commit

Permalink
Added support for Wooliis LCD Coulometer/Battery Monitor (#21732)
Browse files Browse the repository at this point in the history
* Added support for Wooliis LCD Coulometer/Battery Monitor

* Adjusted code structures and data types for Wooliis sensor

---------

Co-authored-by: Luca Melette <[email protected]>
  • Loading branch information
lmelette and ps-luca authored Jul 17, 2024
1 parent 69f1ea5 commit 9c8f382
Show file tree
Hide file tree
Showing 34 changed files with 400 additions and 27 deletions.
1 change: 1 addition & 0 deletions CODE_OWNERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ In addition to @arendst the following code is mainly owned by:
| xsns_112_ens210 | Christoph Friese
| xsns_113_hc8 | Daniel Maier
| xsns_114_amsx915 | Bastian Urschel
| xsns_115_wooliis | Luca Melette
| |
| xsns_127_esp32_sensors | @arendst
| |
Expand Down
1 change: 1 addition & 0 deletions tasmota/berry/include/be_gpio_defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@ const be_const_member_t lv_gpio_constants[] = {
{ "WIEGAND_D0", (int32_t) GPIO_WIEGAND_D0 },
{ "WIEGAND_D1", (int32_t) GPIO_WIEGAND_D1 },
{ "WINDMETER_SPEED", (int32_t) GPIO_WINDMETER_SPEED },
{ "WOOLIIS_RX", (int32_t) GPIO_WOOLIIS_RX },
{ "WS2812", (int32_t) GPIO_WS2812 },
{ "XPT2046_CS", (int32_t) GPIO_XPT2046_CS },
{ "ZEROCROSS", (int32_t) GPIO_ZEROCROSS },
Expand Down
5 changes: 5 additions & 0 deletions tasmota/include/tasmota_template.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ enum UserSelectablePins {
GPIO_RN2XX3_TX, GPIO_RN2XX3_RX, GPIO_RN2XX3_RST, // RN2XX3 LoRaWan node Serial interface
GPIO_TCP_TX_EN, // TCP to serial bridge, EN pin
GPIO_ASR650X_TX, GPIO_ASR650X_RX, // ASR650X LoRaWan node Serial interface
GPIO_WOOLIIS_RX, // Wooliis Battery capacity monitor Serial RX
GPIO_SENSOR_END };

// Error as warning to rethink GPIO usage with max 2045
Expand Down Expand Up @@ -489,6 +490,7 @@ const char kSensorNames[] PROGMEM =
D_GPIO_RN2XX3_TX "|" D_GPIO_RN2XX3_RX "|" D_GPIO_RN2XX3_RST "|"
D_SENSOR_TCP_TXD_EN "|"
D_GPIO_ASR650X_TX "|" D_GPIO_ASR650X_RX "|"
D_SENSOR_WOOLIIS_RX "|"
;

const char kSensorNamesFixed[] PROGMEM =
Expand Down Expand Up @@ -1095,6 +1097,9 @@ const uint16_t kGpioNiceList[] PROGMEM = {
AGPIO(GPIO_ASR650X_TX),
AGPIO(GPIO_ASR650X_RX), // ASR650X LoRaWan node Serial interface
#endif
#ifdef USE_WOOLIIS // xsns_115_wooliis.ino
AGPIO(GPIO_WOOLIIS_RX), // Wooliis Battery capacity monitor Serial interface
#endif

/*-------------------------------------------------------------------------------------------*\
* Other sensors
Expand Down
7 changes: 6 additions & 1 deletion tasmota/language/af_AF.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_AF_AF_H_
7 changes: 6 additions & 1 deletion tasmota/language/bg_BG.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "А"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_BG_BG_H_
7 changes: 6 additions & 1 deletion tasmota/language/ca_AD.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_CA_AD_H_
7 changes: 6 additions & 1 deletion tasmota/language/cs_CZ.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_CS_CZ_H_
5 changes: 5 additions & 0 deletions tasmota/language/de_DE.h
Original file line number Diff line number Diff line change
Expand Up @@ -1000,6 +1000,7 @@
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Aufladen"
#define D_CAPACITY "Kapazität"

#endif // _LANGUAGE_DE_DE_H_
7 changes: 6 additions & 1 deletion tasmota/language/el_GR.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_EL_GR_H_
7 changes: 6 additions & 1 deletion tasmota/language/en_GB.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1270,4 +1271,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_EN_GB_H_
7 changes: 6 additions & 1 deletion tasmota/language/es_ES.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Cargando"
#define D_CAPACITY "Capacidad"

#endif // _LANGUAGE_ES_ES_H_
7 changes: 6 additions & 1 deletion tasmota/language/fr_FR.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"


// Units
Expand Down Expand Up @@ -1270,4 +1271,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "En charge"
#define D_CAPACITY "Capacité"

#endif // _LANGUAGE_FR_FR_H_
7 changes: 6 additions & 1 deletion tasmota/language/fy_NL.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_FY_NL_H_
7 changes: 6 additions & 1 deletion tasmota/language/he_HE.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_HE_HE_H_
7 changes: 6 additions & 1 deletion tasmota/language/hu_HU.h
Original file line number Diff line number Diff line change
Expand Up @@ -1002,7 +1002,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1272,4 +1273,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_HU_HU_H_
5 changes: 5 additions & 0 deletions tasmota/language/it_IT.h
Original file line number Diff line number Diff line change
Expand Up @@ -1000,6 +1000,7 @@
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 - RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis RX"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1270,4 +1271,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar - TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar - RX"

// xsns_115_wooliis.ino
#define D_CHARGING "In carica"
#define D_CAPACITY "Capacità"

#endif // _LANGUAGE_IT_IT_H_
7 changes: 6 additions & 1 deletion tasmota/language/ko_KO.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_KO_KO_H_
7 changes: 6 additions & 1 deletion tasmota/language/nl_NL.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_NL_NL_H_
7 changes: 6 additions & 1 deletion tasmota/language/pl_PL.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_PL_PL_D_H_
7 changes: 6 additions & 1 deletion tasmota/language/pt_BR.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_PT_BR_H_
7 changes: 6 additions & 1 deletion tasmota/language/pt_PT.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_PT_PT_H_
7 changes: 6 additions & 1 deletion tasmota/language/ro_RO.h
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
#define D_SENSOR_BIOPDU_PZEM016_RX "BioPDU PZEM016 Rx"
#define D_SENSOR_BIOPDU_BIT "BioPDU Bit"
#define D_SENSOR_LOX_O2_RX "LoxO2 RX"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_GPIO_MAGIC_SWITCH "MagicSwitch"
#define D_SENSOR_WOOLIIS_RX "Wooliis Rx"

// Units
#define D_UNIT_AMPERE "A"
Expand Down Expand Up @@ -1269,4 +1270,8 @@
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"

// xsns_115_wooliis.ino
#define D_CHARGING "Charging"
#define D_CAPACITY "Capacity"

#endif // _LANGUAGE_RO_RO_H_
Loading

0 comments on commit 9c8f382

Please sign in to comment.