Add support for pipsolar inverter (#20408)

* Add support for pipsolar inverter

* Fix CI-Warnings

* Remove unneeded define

* Pipsolar: Fix dat result

* Add support for the rules engine

---------

Co-authored-by: Peter Rustler <peter@rustlerit.de>
This commit is contained in:
chefpro 2024-01-10 09:21:02 +01:00 committed by GitHub
parent edda5ddc33
commit 0b509f60b4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
33 changed files with 1183 additions and 0 deletions

View File

@ -100,6 +100,7 @@ In addition to @arendst the following code is mainly owned by:
| xdrv_88_esp32_shelly_pro | @arendst | xdrv_88_esp32_shelly_pro | @arendst
| xdrv_89_esp32_dali | @eeak | xdrv_89_esp32_dali | @eeak
| xdrv_90_esp32_dingtian_relay | @barbudor | xdrv_90_esp32_dingtian_relay | @barbudor
| xdrv_92_pipsolar | @chefpro
| | | |
| xdrv_122_file_settings_demo | @arendst | xdrv_122_file_settings_demo | @arendst
| xdrv_127_debug | @arendst | xdrv_127_debug | @arendst

View File

@ -334,6 +334,8 @@ const be_const_member_t lv_gpio_constants[] = {
{ "ZIGBEE_RST", (int32_t) GPIO_ZIGBEE_RST }, { "ZIGBEE_RST", (int32_t) GPIO_ZIGBEE_RST },
{ "ZIGBEE_RX", (int32_t) GPIO_ZIGBEE_RX }, { "ZIGBEE_RX", (int32_t) GPIO_ZIGBEE_RX },
{ "ZIGBEE_TX", (int32_t) GPIO_ZIGBEE_TX }, { "ZIGBEE_TX", (int32_t) GPIO_ZIGBEE_TX },
{ "PIPSOLAR_RX", (int32_t) GPIO_PIPSOLAR_RX },
{ "PIPSOLAR_TX", (int32_t) GPIO_PIPSOLAR_TX },
}; };

View File

@ -809,6 +809,19 @@
// xsns_71_veml7700.ino // xsns_71_veml7700.ino
#define D_JSON_WHITE_CONTENT "WhiteContent" #define D_JSON_WHITE_CONTENT "WhiteContent"
// xdrv_92_pipsolar.ino
#define D_CMND_PIP_PREFIX "PipSolar"
#define D_CMND_PIP_QT "QT"
#define D_CMND_PIP_QET "QET"
#define D_CMND_PIP_QEY "QEY"
#define D_CMND_PIP_QEM "QEM"
#define D_CMND_PIP_QED "QED"
#define D_CMND_PIP_QEH "QEH"
#define D_CMND_PIP_DAT "DAT"
#define D_CMND_PIP_POLLVALUES "PollValues"
#define D_CMND_PIP_BAUDRATE "BaudRate"
#define D_CMND_PIP_SERIALCONFIG "SerialConfig"
/********************************************************************************************/ /********************************************************************************************/
// Log message prefix // Log message prefix

View File

@ -215,6 +215,7 @@ enum UserSelectablePins {
GPIO_HC8_RXD, // HC8 Serial interface GPIO_HC8_RXD, // HC8 Serial interface
GPIO_I2S_DAC, // Audio DAC support for ESP32 and ESP32S2 GPIO_I2S_DAC, // Audio DAC support for ESP32 and ESP32S2
GPIO_MAGIC_SWITCH, // MagicSwitch as in Sonoff BasicR4 GPIO_MAGIC_SWITCH, // MagicSwitch as in Sonoff BasicR4
GPIO_PIPSOLAR_TX, GPIO_PIPSOLAR_RX, // pipsolar inverter
GPIO_SENSOR_END }; GPIO_SENSOR_END };
// Error as warning to rethink GPIO usage with max 2045 // Error as warning to rethink GPIO usage with max 2045
@ -477,6 +478,7 @@ const char kSensorNames[] PROGMEM =
D_SENSOR_HC8_RX "|" D_SENSOR_HC8_RX "|"
D_SENSOR_I2S_DAC "|" D_SENSOR_I2S_DAC "|"
D_GPIO_MAGIC_SWITCH "|" D_GPIO_MAGIC_SWITCH "|"
D_SENSOR_PIPSOLAR_TX "|" D_SENSOR_PIPSOLAR_RX "|"
; ;
const char kSensorNamesFixed[] PROGMEM = const char kSensorNamesFixed[] PROGMEM =
@ -1150,6 +1152,11 @@ const uint16_t kGpioNiceList[] PROGMEM = {
AGPIO(GPIO_MAGIC_SWITCH) + MAX_MAGIC_SWITCH_MODES, AGPIO(GPIO_MAGIC_SWITCH) + MAX_MAGIC_SWITCH_MODES,
#endif #endif
#ifdef USE_PIPSOLAR // xdrv_92_pipsolar.ino
AGPIO(GPIO_PIPSOLAR_TX), // pipsolar inverter Serial interface
AGPIO(GPIO_PIPSOLAR_RX), // pipsolar inverter Serial interface
#endif
/*-------------------------------------------------------------------------------------------*\ /*-------------------------------------------------------------------------------------------*\
* ESP32 specifics * ESP32 specifics
\*-------------------------------------------------------------------------------------------*/ \*-------------------------------------------------------------------------------------------*/

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "Gemiddelde Stralingsdosis" #define D_AVG_RAD_DOSE "Gemiddelde Stralingsdosis"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_AF_AF_H_ #endif // _LANGUAGE_AF_AF_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "средна доза радиация" #define D_AVG_RAD_DOSE "средна доза радиация"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_BG_BG_H_ #endif // _LANGUAGE_BG_BG_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "dosi mitjana de radiació" #define D_AVG_RAD_DOSE "dosi mitjana de radiació"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_CA_AD_H_ #endif // _LANGUAGE_CA_AD_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "průměrná dávka záření" #define D_AVG_RAD_DOSE "průměrná dávka záření"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_CS_CZ_H_ #endif // _LANGUAGE_CS_CZ_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "durchschnittliche Strahlendosis" #define D_AVG_RAD_DOSE "durchschnittliche Strahlendosis"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_DE_DE_H_ #endif // _LANGUAGE_DE_DE_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "μέση δόση ακτινοβολίας" #define D_AVG_RAD_DOSE "μέση δόση ακτινοβολίας"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_EL_GR_H_ #endif // _LANGUAGE_EL_GR_H_

View File

@ -1224,4 +1224,8 @@
#define D_AVG_RAD_DOSE "Radiation" #define D_AVG_RAD_DOSE "Radiation"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_EN_GB_H_ #endif // _LANGUAGE_EN_GB_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "dosis media de radiación" #define D_AVG_RAD_DOSE "dosis media de radiación"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_ES_ES_H_ #endif // _LANGUAGE_ES_ES_H_

View File

@ -1224,4 +1224,8 @@
#define D_AVG_RAD_DOSE "dose moyenne de rayonnement" #define D_AVG_RAD_DOSE "dose moyenne de rayonnement"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_FR_FR_H_ #endif // _LANGUAGE_FR_FR_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "gemiddelde stralingsdosis" #define D_AVG_RAD_DOSE "gemiddelde stralingsdosis"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_FY_NL_H_ #endif // _LANGUAGE_FY_NL_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "מינון קרינה ממוצע" #define D_AVG_RAD_DOSE "מינון קרינה ממוצע"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_HE_HE_H_ #endif // _LANGUAGE_HE_HE_H_

View File

@ -1226,4 +1226,8 @@
#define D_AVG_RAD_DOSE "átlagos sugárdózis" #define D_AVG_RAD_DOSE "átlagos sugárdózis"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_HU_HU_H_ #endif // _LANGUAGE_HU_HU_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "Radiazioni" #define D_AVG_RAD_DOSE "Radiazioni"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_IT_IT_H_ #endif // _LANGUAGE_IT_IT_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "average radiation dose" #define D_AVG_RAD_DOSE "average radiation dose"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_KO_KO_H_ #endif // _LANGUAGE_KO_KO_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "gemiddelde stralingsdosis" #define D_AVG_RAD_DOSE "gemiddelde stralingsdosis"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_NL_NL_H_ #endif // _LANGUAGE_NL_NL_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "Średnia Dawka Promieniowania" #define D_AVG_RAD_DOSE "Średnia Dawka Promieniowania"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_PL_PL_D_H_ #endif // _LANGUAGE_PL_PL_D_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "dose média de radiação" #define D_AVG_RAD_DOSE "dose média de radiação"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_PT_BR_H_ #endif // _LANGUAGE_PT_BR_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "dose média de radiação" #define D_AVG_RAD_DOSE "dose média de radiação"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_PT_PT_H_ #endif // _LANGUAGE_PT_PT_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "doza medie de radiație" #define D_AVG_RAD_DOSE "doza medie de radiație"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_RO_RO_H_ #endif // _LANGUAGE_RO_RO_H_

View File

@ -1224,4 +1224,8 @@
#define D_AVG_RAD_DOSE "средняя доза облучения" #define D_AVG_RAD_DOSE "средняя доза облучения"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_RU_RU_H_ #endif // _LANGUAGE_RU_RU_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "priemerná dávka žiarenia" #define D_AVG_RAD_DOSE "priemerná dávka žiarenia"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_SK_SK_H_ #endif // _LANGUAGE_SK_SK_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "genomsnittlig stråldos" #define D_AVG_RAD_DOSE "genomsnittlig stråldos"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_SV_SE_H_ #endif // _LANGUAGE_SV_SE_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "ortalama radyasyon dozu" #define D_AVG_RAD_DOSE "ortalama radyasyon dozu"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_TR_TR_H_ #endif // _LANGUAGE_TR_TR_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "середня доза радіації" #define D_AVG_RAD_DOSE "середня доза радіації"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_UK_UA_H_ #endif // _LANGUAGE_UK_UA_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "liều bức xạ trung bình" #define D_AVG_RAD_DOSE "liều bức xạ trung bình"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_VI_VN_H_ #endif // _LANGUAGE_VI_VN_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "平均辐射剂量" #define D_AVG_RAD_DOSE "平均辐射剂量"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_ZH_CN_H_ #endif // _LANGUAGE_ZH_CN_H_

View File

@ -1223,4 +1223,8 @@
#define D_AVG_RAD_DOSE "平均輻射劑量" #define D_AVG_RAD_DOSE "平均輻射劑量"
#define D_UNIT_US_H "µSv/h" #define D_UNIT_US_H "µSv/h"
// ixrv92_pipsolar.ino
#define D_SENSOR_PIPSOLAR_TX "Pipsolar TX"
#define D_SENSOR_PIPSOLAR_RX "Pipsolar RX"
#endif // _LANGUAGE_ZH_TW_H_ #endif // _LANGUAGE_ZH_TW_H_

File diff suppressed because it is too large Load Diff

View File

@ -341,5 +341,7 @@ HDMI_CEC = GPIO_HDMI_CEC
HC8_RXD = GPIO_HC8_RXD HC8_RXD = GPIO_HC8_RXD
I2S_DAC = GPIO_I2S_DAC I2S_DAC = GPIO_I2S_DAC
MAGIC_SWITCH = GPIO_MAGIC_SWITCH MAGIC_SWITCH = GPIO_MAGIC_SWITCH
PIPSOLAR_TX = GPIO_PIPSOLAR_TX
PIPSOLAR_RX = GPIO_PIPSOLAR_RX
SENSOR_END = GPIO_SENSOR_END SENSOR_END = GPIO_SENSOR_END