mirror of https://github.com/arendst/Tasmota.git
Merge pull request #13443 from dad401/development
Add support for SDM230 ModBus
This commit is contained in:
commit
7a2d490e68
|
@ -2,6 +2,7 @@
|
|||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased] - Development
|
||||
- added support for Eastron SDM230 ModBus
|
||||
|
||||
## [2022.01.2]
|
||||
### Added
|
||||
|
|
|
@ -132,6 +132,7 @@
|
|||
#define D_JSON_PH "pH"
|
||||
#define D_JSON_PHASE_ANGLE "PhaseAngle"
|
||||
#define D_JSON_POWERFACTOR "Factor"
|
||||
#define D_JSON_POWERMAX "MaxPower"
|
||||
#define D_JSON_POWERUSAGE "Power"
|
||||
#define D_JSON_ACTIVE_POWERUSAGE "ActivePower"
|
||||
#define D_JSON_APPARENT_POWERUSAGE "ApparentPower"
|
||||
|
@ -220,6 +221,7 @@
|
|||
#define D_JSON_IMPORT "Import"
|
||||
#define D_JSON_EXPORT "Export"
|
||||
#define D_JSON_TOTAL_ACTIVE "TotalActive"
|
||||
#define D_JSON_RESETTABLE_TOTAL_ACTIVE "ResetTotalActive"
|
||||
#define D_JSON_SIGNALSTRENGTH "SignalStrength"
|
||||
#define D_JSON_CHIPTEMPERATURE "ChipTemperature"
|
||||
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Uitvoer krag"
|
||||
#define D_IMPORT_POWER "Invoer krag"
|
||||
#define D_PHASE_ANGLE "Fasehoek"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Totaal aktief"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Totaal aktief (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Spanning"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Изходна мощност"
|
||||
#define D_IMPORT_POWER "Входна мощност"
|
||||
#define D_PHASE_ANGLE "Фазов ъгъл"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "°"
|
||||
#define D_TOTAL_ACTIVE "Общо активна мощност"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Общо активна мощност (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "Напрежение на PV1"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Außerhalb Bereich"
|
||||
#define D_SENSOR_DETECTED "erkannt"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Exportiere Leistung"
|
||||
#define D_IMPORT_POWER "Importiere Leistung"
|
||||
#define D_PHASE_ANGLE "Phasenwinkel"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Grad"
|
||||
#define D_TOTAL_ACTIVE "Total Wirk"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Wirk (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Spannung"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Fuera de Rango"
|
||||
#define D_SENSOR_DETECTED "detectado"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Pot. Exportada"
|
||||
#define D_IMPORT_POWER "Pot. Importada"
|
||||
#define D_PHASE_ANGLE "Ángulo de Fase"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArH"
|
||||
#define D_UNIT_ANGLE "Grados"
|
||||
#define D_TOTAL_ACTIVE "P. Total Activa"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "P. Total Activa (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltaje"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 RX"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 TX"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 RX"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 TX"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 RX"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 TX"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 RX"
|
||||
#define D_SENSOR_WE517_TX "WE517 TX"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Hors limites"
|
||||
#define D_SENSOR_DETECTED "détecté"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Puissance fournie"
|
||||
#define D_IMPORT_POWER "Puissance consommée"
|
||||
#define D_PHASE_ANGLE "Angle de phase"
|
||||
|
@ -911,6 +913,8 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "°"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "Tension PV1"
|
||||
#define D_PV1_CURRENT "Courant PV1"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Eksportearje krêft"
|
||||
#define D_IMPORT_POWER "Ymportearje krêft"
|
||||
#define D_PHASE_ANGLE "Faze hoeke"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Hielendal wier"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Hielendal wier (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 foltaazje"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Fázisszög"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "fok"
|
||||
#define D_TOTAL_ACTIVE "Összes aktív"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Összes aktív (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 feszültség"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 - RX"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 - TX"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 - RX"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 - TX"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 - RX"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 - TX"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 - RX"
|
||||
#define D_SENSOR_WE517_TX "WE517 - TX"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Fuori intervallo"
|
||||
#define D_SENSOR_DETECTED "rilevato"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Potenza esportata"
|
||||
#define D_IMPORT_POWER "Potenza importata"
|
||||
#define D_PHASE_ANGLE "Angolo fase"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "°"
|
||||
#define D_TOTAL_ACTIVE "Potenza attiva totale"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Potenza attiva totale (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 - Voltaggio"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Buiten beriek"
|
||||
#define D_SENSOR_DETECTED "herkend"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export vermogen"
|
||||
#define D_IMPORT_POWER "Import vermogen"
|
||||
#define D_PHASE_ANGLE "Fase hoek"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Totaal werkelijk"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Totaal werkelijk (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 spanning"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Poza zakresem"
|
||||
#define D_SENSOR_DETECTED "wykryto"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Moc Eksportowana"
|
||||
#define D_IMPORT_POWER "Moc Inportowana"
|
||||
#define D_PHASE_ANGLE "Przesunięcie faz"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Stopni"
|
||||
#define D_TOTAL_ACTIVE "Całkowita czynna"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Całkowita czynna (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "Napięcie PV1"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Fora de Alcance"
|
||||
#define D_SENSOR_DETECTED "detectou"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Exportar energia"
|
||||
#define D_IMPORT_POWER "Importar energia"
|
||||
#define D_PHASE_ANGLE "Ângulo de Fase"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Ativo"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Activo (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltagem"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Fora de Alcance"
|
||||
#define D_SENSOR_DETECTED "detectou"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Ângulo de fase"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "Voltagem PV1"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Unghi de fază"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Activ"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Activ (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltaj"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Угол фазы"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "кВАрЧ"
|
||||
#define D_UNIT_ANGLE "Град"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Fasvinkel"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total aktiv"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total aktiv (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Phase Angle"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Кут фази"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "кВАр/г"
|
||||
#define D_UNIT_ANGLE "Град"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Напруга"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "Góc pha"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "Điện áp PV1"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "相位角"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "千乏时"
|
||||
#define D_UNIT_ANGLE "度"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -663,6 +663,8 @@
|
|||
#define D_SENSOR_SDM72_RX "SDM72 Rx"
|
||||
#define D_SENSOR_SDM120_TX "SDMx20 Tx"
|
||||
#define D_SENSOR_SDM120_RX "SDMx20 Rx"
|
||||
#define D_SENSOR_SDM230_TX "SDM230 Tx"
|
||||
#define D_SENSOR_SDM230_RX "SDM230 Rx"
|
||||
#define D_SENSOR_SDM630_TX "SDM630 Tx"
|
||||
#define D_SENSOR_SDM630_RX "SDM630 Rx"
|
||||
#define D_SENSOR_WE517_TX "WE517 Tx"
|
||||
|
@ -899,7 +901,7 @@
|
|||
#define D_OUT_OF_RANGE "Out of Range"
|
||||
#define D_SENSOR_DETECTED "detected"
|
||||
|
||||
//SDM220, SDM120, SDM72, LE01MR
|
||||
//SDM220, SDM120, SDM72, LE01MR, SDM230
|
||||
#define D_EXPORT_POWER "Export Power"
|
||||
#define D_IMPORT_POWER "Import Power"
|
||||
#define D_PHASE_ANGLE "相量(Phase Angle)"
|
||||
|
@ -911,6 +913,7 @@
|
|||
#define D_UNIT_KWARH "kVArh"
|
||||
#define D_UNIT_ANGLE "Deg"
|
||||
#define D_TOTAL_ACTIVE "Total Active"
|
||||
#define D_RESETTABLE_TOTAL_ACTIVE "Total Active (RST)"
|
||||
|
||||
//SOLAXX1
|
||||
#define D_PV1_VOLTAGE "PV1 Voltage"
|
||||
|
|
|
@ -781,6 +781,9 @@
|
|||
// #define SDM72_IMPEXP // Show additonal import/export active energy and power in MQTT and Web (+0k5 code)
|
||||
//#define USE_SDM120 // Add support for Eastron SDM120-Modbus energy monitor (+1k1 code)
|
||||
#define SDM120_SPEED 2400 // SDM120-Modbus RS485 serial speed (default: 2400 baud)
|
||||
//#define USE_SDM230 // Add support for Eastron SDM230-Modbus energy monitor (+1k6 code)
|
||||
#define SDM230_SPEED 9600 // SDM230-Modbus RS485 serial speed (default: 9600 baud)
|
||||
// #define SDM230_MORE_REGS // read more registers (see xnrg_21_sdm230.ino, may cause timing issues (at your own risk, +0k4 code))
|
||||
//#define USE_SDM630 // Add support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#define SDM630_SPEED 9600 // SDM630-Modbus RS485 serial speed (default: 9600 baud)
|
||||
// #define SDM630_IMPORT // Show import active energy in MQTT and Web (+0k3 code)
|
||||
|
|
|
@ -199,6 +199,7 @@
|
|||
#define USE_MCP39F501 // Add support for MCP39F501 Energy monitor as used in Shelly 2 (+3k1 code)
|
||||
#define USE_SDM72 // Add support for Eastron SDM72-Modbus energy monitor (+0k3 code)
|
||||
#define USE_SDM120 // Add support for Eastron SDM120-Modbus energy monitor (+1k1 code)
|
||||
//#define USE_SDM230 // Add support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#define USE_SDM630 // Add support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#define USE_DDS2382 // Add support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#define USE_DDSU666 // Add support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
@ -303,6 +304,7 @@
|
|||
#undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
|
||||
#undef USE_SDM72 // Disable support for Eastron SDM72-Modbus energy meter
|
||||
#undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
|
||||
#undef USE_SDM230 // Disable support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
@ -411,6 +413,7 @@
|
|||
#undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
|
||||
#undef USE_SDM72 // Disable support for Eastron SDM72-Modbus energy meter
|
||||
#undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
|
||||
#undef USE_SDM230 // Disable support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
@ -586,6 +589,7 @@
|
|||
#undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
|
||||
#undef USE_SDM72 // Disable support for Eastron SDM72-Modbus energy meter
|
||||
#undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
|
||||
#undef USE_SDM230 // Disable support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
@ -727,6 +731,7 @@
|
|||
//#undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
|
||||
#undef USE_SDM72 // Disable support for Eastron SDM72-Modbus energy meter
|
||||
#undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
|
||||
#undef USE_SDM230 // Disable support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
@ -870,6 +875,7 @@
|
|||
#undef USE_MCP39F501 // Disable MCP39F501 Energy monitor as used in Shelly 2
|
||||
#undef USE_SDM72 // Disable support for Eastron SDM72-Modbus energy meter
|
||||
#undef USE_SDM120 // Disable support for Eastron SDM120-Modbus energy meter
|
||||
#undef USE_SDM230 // Disable support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#undef USE_SDM630 // Disable support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDS2382 // Disable support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#undef USE_DDSU666 // Disable support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
|
|
@ -517,6 +517,7 @@
|
|||
#define USE_MCP39F501 // Add support for MCP39F501 Energy monitor as used in Shelly 2 (+3k1 code)
|
||||
#define USE_SDM72 // Add support for Eastron SDM72-Modbus energy monitor (+0k3 code)
|
||||
#define USE_SDM120 // Add support for Eastron SDM120-Modbus energy monitor (+1k1 code)
|
||||
#define USE_SDM230 // Add support for Eastron SDM230-Modbus energy monitor (+?? code)
|
||||
#define USE_SDM630 // Add support for Eastron SDM630-Modbus energy monitor (+0k6 code)
|
||||
#define USE_DDS2382 // Add support for Hiking DDS2382 Modbus energy monitor (+0k6 code)
|
||||
#define USE_DDSU666 // Add support for Chint DDSU666 Modbus energy monitor (+0k6 code)
|
||||
|
|
|
@ -179,6 +179,7 @@ enum UserSelectablePins {
|
|||
GPIO_SHIFT595_SRCLK, GPIO_SHIFT595_RCLK, GPIO_SHIFT595_OE, GPIO_SHIFT595_SER, // 74x595 Shift register
|
||||
GPIO_SOLAXX1_RTS, // Solax Inverter Serial interface
|
||||
GPIO_OPTION_E, // Emulated module
|
||||
GPIO_SDM230_TX, GPIO_SDM230_RX, // SDM230 Serial interface
|
||||
GPIO_SENSOR_END };
|
||||
|
||||
enum ProgramSelectablePins {
|
||||
|
@ -397,6 +398,7 @@ const char kSensorNames[] PROGMEM =
|
|||
D_GPIO_SHIFT595_SRCLK "|" D_GPIO_SHIFT595_RCLK "|" D_GPIO_SHIFT595_OE "|" D_GPIO_SHIFT595_SER "|"
|
||||
D_SENSOR_SOLAXX1_RTS "|"
|
||||
D_SENSOR_OPTION " E|"
|
||||
D_SENSOR_SDM230_TX "|" D_SENSOR_SDM230_RX
|
||||
;
|
||||
|
||||
const char kSensorNamesFixed[] PROGMEM =
|
||||
|
@ -760,6 +762,10 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
|||
AGPIO(GPIO_SDM72_RX), // SDM72 Serial interface
|
||||
#endif
|
||||
AGPIO(GPIO_ZEROCROSS),
|
||||
#ifdef USE_SDM230
|
||||
AGPIO(GPIO_SDM230_TX), // SDM230 Serial interface
|
||||
AGPIO(GPIO_SDM230_RX), // SDM230 Serial interface
|
||||
#endif
|
||||
#endif // USE_ENERGY_SENSOR
|
||||
|
||||
/*-------------------------------------------------------------------------------------------*\
|
||||
|
|
|
@ -0,0 +1,282 @@
|
|||
/*
|
||||
xnrg_08_sdm230.ino - Eastron SDM230-Modbus energy meter support for Tasmota
|
||||
|
||||
Copyright (C) 2021 Gennaro Tortone 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/>.
|
||||
*/
|
||||
|
||||
#ifdef USE_ENERGY_SENSOR
|
||||
#ifdef USE_SDM230
|
||||
/*********************************************************************************************\
|
||||
* Eastron SDM230 Modbus energy meter
|
||||
*
|
||||
* Based on: existing tasmota drivers for SDM120 and SDM630,
|
||||
* https://github.com/reaper7/SDM_Energy_Meter and https://github.com/nmakel/sdm_modbus
|
||||
|
||||
* manuals can be found here:
|
||||
* German: https://bg-etech.de/download/manual/SDM230-Modbus.pdf
|
||||
* English: https://www.eastroneurope.com/images/uploads/products/manuals/SDM230_Sereis_Manual.pdf
|
||||
* Protocol Spec: https://www.eastroneurope.com/images/uploads/products/protocol/Correct_SDM230_Protocol.pdf
|
||||
\*********************************************************************************************/
|
||||
|
||||
#define XNRG_21 21
|
||||
|
||||
// can be user defined in my_user_config.h
|
||||
#ifndef SDM230_SPEED
|
||||
#define SDM230_SPEED 9600 // default SDM230 Modbus baudrate
|
||||
#endif
|
||||
// can be user defined in my_user_config.h
|
||||
#ifndef SDM230_ADDR
|
||||
#define SDM230_ADDR 1 // default SDM120 Modbus address
|
||||
#endif
|
||||
|
||||
#include <TasmotaModbus.h>
|
||||
TasmotaModbus *Sdm230Modbus;
|
||||
|
||||
// read all default registers for generic energy driver
|
||||
const uint16_t sdm230_start_addresses[] {
|
||||
0x0000, // SDM230_VOLTAGE [V]
|
||||
0x0006, // SDM230_CURRENT [A]
|
||||
0x000C, // SDM230_POWER (Active) [W]
|
||||
0x0012, // SDM230_POWER (Apparent) G [VA]
|
||||
0x0018, // SDM230_POWER (Reactive) [VAr]
|
||||
0x001E, // SDM230_POWER_FACTOR
|
||||
0x0046, // SDM230_FREQUENCY [Hz]
|
||||
0X0048, // SDM230_IMPORT_ACTIVE [kWh]
|
||||
0X004A, // SDM230_EXPORT_ACTIVE [kWh]
|
||||
// 0X0156, // SDM230_TOTAL_ENERGY_ACTIVE [kWh] // = SDM230_IMPORT_ACTIVE = Energy.total
|
||||
|
||||
// read more registers offered by SDM230 (may cause timing issues)
|
||||
#ifdef SDM230_MORE_REGS
|
||||
0x0024, // SDM230_PHASE ANGLE [Degree]
|
||||
0X0056, // SDM230_MAXIMUM_TOTAL_DEMAND_POWER_ACTIVE [W]
|
||||
0X0180, // SDM230_RESETTABLE_TOTAL_ENERGY_ACTIVE [kWh]
|
||||
#endif // SDM230_MORE_REGS
|
||||
|
||||
// for documentation / further use or implementation
|
||||
// 0X0158, // SDM230_TOTAL_ENERGY_REACTIVE [kVArh]
|
||||
// 0X0182, // SDM230_RESETTABLE_TOTAL_ENERGY_REACTIVE [kVArh]
|
||||
// 0X004C, // SDM230_IMPORT_REACTIVE [kVArh]
|
||||
// 0X004E, // SDM230_EXPORT_REACTIVE [kVArh]
|
||||
// 0X0054, // SDM230_TOTAL_DEMAND_POWER_ACTIVE [W]
|
||||
// 0X0058, // SDM230_IMPORT_DEMAND_POWER_ACTIVE [W]
|
||||
// 0X005A, // SDM230_MAXIMUM_IMPORT_DEMAND_POWER_ACTIVE [W]
|
||||
// 0X005C, // SDM230_EXPORT_DEMAND_POWER_ACTIVE [W]
|
||||
// 0X005E, // SDM230_MAXIMUM_EXPORT_DEMAND_POWER_ACTIVE [W]
|
||||
// 0X0102, // SDM230_TOTAL_DEMAND_CURRENT [A]
|
||||
// 0X0108, // SDM230_MAXIMUM_TOTAL_DEMAND_CURRENT [A]
|
||||
};
|
||||
|
||||
struct SDM230 {
|
||||
#ifdef SDM230_MORE_REGS
|
||||
float phase_angle = 0;
|
||||
float maximum_total_demand_power_active = 0;
|
||||
float resettable_total_energy = 0;
|
||||
#endif // SDM230_MORE_REGS
|
||||
uint8_t read_state = 0;
|
||||
uint8_t send_retry = 0;
|
||||
} Sdm230;
|
||||
|
||||
/*********************************************************************************************/
|
||||
|
||||
void SDM230Every250ms(void)
|
||||
{
|
||||
bool data_ready = Sdm230Modbus->ReceiveReady();
|
||||
|
||||
if (data_ready) {
|
||||
uint8_t buffer[14]; // At least 5 + (2 * 2) = 9
|
||||
|
||||
uint32_t error = Sdm230Modbus->ReceiveBuffer(buffer, 2);
|
||||
AddLogBuffer(LOG_LEVEL_DEBUG_MORE, buffer, Sdm230Modbus->ReceiveCount());
|
||||
|
||||
if (error) {
|
||||
AddLog(LOG_LEVEL_DEBUG, PSTR("SDM: SDM230 error %d"), error);
|
||||
} else {
|
||||
Energy.data_valid[0] = 0;
|
||||
|
||||
// 0 1 2 3 4 5 6 7 8
|
||||
// SA FC BC Fh Fl Sh Sl Cl Ch
|
||||
// 01 04 04 43 66 33 34 1B 38 = 230.2 Volt
|
||||
float value;
|
||||
((uint8_t*)&value)[3] = buffer[3]; // Get float values
|
||||
((uint8_t*)&value)[2] = buffer[4];
|
||||
((uint8_t*)&value)[1] = buffer[5];
|
||||
((uint8_t*)&value)[0] = buffer[6];
|
||||
|
||||
switch(Sdm230.read_state) {
|
||||
case 0:
|
||||
Energy.voltage[0] = value; // 230.2 V
|
||||
break;
|
||||
|
||||
case 1:
|
||||
Energy.current[0] = value; // 1.260 A
|
||||
break;
|
||||
|
||||
case 2:
|
||||
Energy.active_power[0] = value; // -196.3 W
|
||||
break;
|
||||
|
||||
case 3:
|
||||
Energy.apparent_power[0] = value; // 223.4 VA
|
||||
break;
|
||||
|
||||
case 4:
|
||||
Energy.reactive_power[0] = value; // 92.2
|
||||
break;
|
||||
|
||||
case 5:
|
||||
Energy.power_factor[0] = value; // -0.91
|
||||
break;
|
||||
|
||||
case 6:
|
||||
Energy.frequency[0] = value; // 50.0 Hz
|
||||
break;
|
||||
|
||||
case 7:
|
||||
Energy.import_active[0] = value; // 6.216 kWh => used in EnergyUpdateTotal()
|
||||
break;
|
||||
|
||||
case 8:
|
||||
Energy.export_active[0] = value; // 478.492 kWh
|
||||
break;
|
||||
|
||||
#ifdef SDM230_MORE_REGS
|
||||
case 9:
|
||||
Sdm230.phase_angle = value; // 0.00 Deg
|
||||
break;
|
||||
|
||||
case 10:
|
||||
Sdm230.maximum_total_demand_power_active = value;
|
||||
break;
|
||||
|
||||
case 11:
|
||||
Sdm230.resettable_total_energy = value;
|
||||
break;
|
||||
#endif // SDM230_MORE_REGS
|
||||
}
|
||||
|
||||
Sdm230.read_state++;
|
||||
if (sizeof(sdm230_start_addresses)/2 == Sdm230.read_state) {
|
||||
Sdm230.read_state = 0;
|
||||
EnergyUpdateTotal(); // update every cycle after all registers have been read
|
||||
}
|
||||
|
||||
}
|
||||
} // end data ready
|
||||
|
||||
if (0 == Sdm230.send_retry || data_ready) {
|
||||
Sdm230.send_retry = 5;
|
||||
Sdm230Modbus->Send(SDM230_ADDR, 0x04, sdm230_start_addresses[Sdm230.read_state], 2);
|
||||
} else {
|
||||
Sdm230.send_retry--;
|
||||
}
|
||||
}
|
||||
|
||||
void Sdm230SnsInit(void)
|
||||
{
|
||||
Sdm230Modbus = new TasmotaModbus(Pin(GPIO_SDM230_RX), Pin(GPIO_SDM230_TX));
|
||||
uint8_t result = Sdm230Modbus->Begin(SDM230_SPEED);
|
||||
if (result) {
|
||||
if (2 == result) { ClaimSerial(); }
|
||||
Energy.phase_count = 1;
|
||||
Energy.frequency_common = true; // Use common frequency
|
||||
} else {
|
||||
TasmotaGlobal.energy_driver = ENERGY_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
void Sdm230DrvInit(void)
|
||||
{
|
||||
if (PinUsed(GPIO_SDM230_RX) && PinUsed(GPIO_SDM230_TX)) {
|
||||
TasmotaGlobal.energy_driver = XNRG_21;
|
||||
}
|
||||
}
|
||||
|
||||
void Sdm230Reset(void)
|
||||
{
|
||||
#ifdef SDM230_MORE_REGS
|
||||
Sdm230.phase_angle = 0;
|
||||
Sdm230.maximum_total_demand_power_active = 0;
|
||||
Sdm230.resettable_total_energy = 0;
|
||||
#endif // SDM230_MORE_REGS
|
||||
}
|
||||
|
||||
#ifdef SDM230_MORE_REGS
|
||||
#ifdef USE_WEBSERVER
|
||||
const char HTTP_ENERGY_SDM230[] PROGMEM =
|
||||
"{s}" D_PHASE_ANGLE "{m}%s " D_UNIT_ANGLE "{e}"
|
||||
"{s}" D_MAX_POWER "{m}%s " D_UNIT_WATT "{e}"
|
||||
"{s}" D_RESETTABLE_TOTAL_ACTIVE "{m}%s " D_UNIT_KILOWATTHOUR "{e}";
|
||||
#endif // USE_WEBSERVER
|
||||
#endif // SDM230_MORE_REGS
|
||||
|
||||
#ifdef SDM230_MORE_REGS
|
||||
void Sdm230Show(bool json)
|
||||
{
|
||||
char phase_angle_chr[FLOATSZ];
|
||||
dtostrfd(Sdm230.phase_angle, 2, phase_angle_chr);
|
||||
char maximum_demand_chr[FLOATSZ];
|
||||
dtostrfd(Sdm230.maximum_total_demand_power_active, Settings->flag2.wattage_resolution, maximum_demand_chr);
|
||||
char resettable_energy_chr[FLOATSZ];
|
||||
dtostrfd(Sdm230.resettable_total_energy, Settings->flag2.energy_resolution, resettable_energy_chr);
|
||||
|
||||
if (json) {
|
||||
ResponseAppend_P(PSTR(",\"" D_JSON_PHASE_ANGLE "\":%s,\"" D_JSON_POWERMAX "\":%s,\"" D_JSON_RESETTABLE_TOTAL_ACTIVE "\":%s"),
|
||||
phase_angle_chr, maximum_demand_chr, resettable_energy_chr);
|
||||
#ifdef USE_WEBSERVER
|
||||
} else {
|
||||
WSContentSend_PD(HTTP_ENERGY_SDM230, phase_angle_chr, maximum_demand_chr, resettable_energy_chr);
|
||||
#endif // USE_WEBSERVER
|
||||
}
|
||||
}
|
||||
#endif // SDM230_MORE_REGS
|
||||
|
||||
/*********************************************************************************************\
|
||||
* Interface
|
||||
\*********************************************************************************************/
|
||||
|
||||
bool Xnrg21(uint8_t function)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
switch (function) {
|
||||
case FUNC_EVERY_250_MSECOND:
|
||||
SDM230Every250ms();
|
||||
break;
|
||||
#ifdef SDM230_MORE_REGS
|
||||
case FUNC_JSON_APPEND:
|
||||
Sdm230Show(1);
|
||||
break;
|
||||
#ifdef USE_WEBSERVER
|
||||
case FUNC_WEB_SENSOR:
|
||||
Sdm230Show(0);
|
||||
break;
|
||||
#endif // USE_WEBSERVER
|
||||
#endif // SDM230_MORE_REGS
|
||||
case FUNC_ENERGY_RESET:
|
||||
Sdm230Reset();
|
||||
break;
|
||||
case FUNC_INIT:
|
||||
Sdm230SnsInit();
|
||||
break;
|
||||
case FUNC_PRE_INIT:
|
||||
Sdm230DrvInit();
|
||||
break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif // USE_SDM230
|
||||
#endif // USE_ENERGY_SENSOR
|
Loading…
Reference in New Issue