mirror of
https://github.com/KinDR007/VictronMPPT-ESPHOME.git
synced 2024-10-21 07:09:27 +00:00
Apply clang-format
This commit is contained in:
parent
007c4c2487
commit
1c1faf9db3
137
.clang-format
Normal file
137
.clang-format
Normal file
@ -0,0 +1,137 @@
|
||||
Language: Cpp
|
||||
AccessModifierOffset: -1
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignConsecutiveAssignments: false
|
||||
AlignConsecutiveDeclarations: false
|
||||
AlignEscapedNewlines: DontAlign
|
||||
AlignOperands: true
|
||||
AlignTrailingComments: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: true
|
||||
AllowShortBlocksOnASingleLine: false
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: All
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: MultiLine
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BraceWrapping:
|
||||
AfterClass: false
|
||||
AfterControlStatement: false
|
||||
AfterEnum: false
|
||||
AfterFunction: false
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
AfterExternBlock: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeBraces: Attach
|
||||
BreakBeforeInheritanceComma: false
|
||||
BreakInheritanceList: BeforeColon
|
||||
BreakBeforeTernaryOperators: true
|
||||
BreakConstructorInitializersBeforeComma: false
|
||||
BreakConstructorInitializers: BeforeColon
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakStringLiterals: true
|
||||
ColumnLimit: 120
|
||||
CommentPragmas: "^ IWYU pragma:"
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
ContinuationIndentWidth: 4
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: true
|
||||
DisableFormat: false
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
FixNamespaceComments: true
|
||||
ForEachMacros:
|
||||
- foreach
|
||||
- Q_FOREACH
|
||||
- BOOST_FOREACH
|
||||
IncludeBlocks: Preserve
|
||||
IncludeCategories:
|
||||
- Regex: '^<ext/.*\.h>'
|
||||
Priority: 2
|
||||
- Regex: '^<.*\.h>'
|
||||
Priority: 1
|
||||
- Regex: "^<.*"
|
||||
Priority: 2
|
||||
- Regex: ".*"
|
||||
Priority: 3
|
||||
IncludeIsMainRegex: "([-_](test|unittest))?$"
|
||||
IndentCaseLabels: true
|
||||
IndentPPDirectives: None
|
||||
IndentWidth: 2
|
||||
IndentWrappedFunctionNames: false
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
MacroBlockBegin: ""
|
||||
MacroBlockEnd: ""
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
PenaltyBreakAssignment: 2
|
||||
PenaltyBreakBeforeFirstCallParameter: 1
|
||||
PenaltyBreakComment: 300
|
||||
PenaltyBreakFirstLessLess: 120
|
||||
PenaltyBreakString: 1000
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 1000000
|
||||
PenaltyReturnTypeOnItsOwnLine: 2000
|
||||
PointerAlignment: Right
|
||||
RawStringFormats:
|
||||
- Language: Cpp
|
||||
Delimiters:
|
||||
- cc
|
||||
- CC
|
||||
- cpp
|
||||
- Cpp
|
||||
- CPP
|
||||
- "c++"
|
||||
- "C++"
|
||||
CanonicalDelimiter: ""
|
||||
BasedOnStyle: google
|
||||
- Language: TextProto
|
||||
Delimiters:
|
||||
- pb
|
||||
- PB
|
||||
- proto
|
||||
- PROTO
|
||||
EnclosingFunctions:
|
||||
- EqualsProto
|
||||
- EquivToProto
|
||||
- PARSE_PARTIAL_TEXT_PROTO
|
||||
- PARSE_TEST_PROTO
|
||||
- PARSE_TEXT_PROTO
|
||||
- ParseTextOrDie
|
||||
- ParseTextProtoOrDie
|
||||
CanonicalDelimiter: ""
|
||||
BasedOnStyle: google
|
||||
ReflowComments: true
|
||||
SortIncludes: false
|
||||
SortUsingDeclarations: false
|
||||
SpaceAfterCStyleCast: true
|
||||
SpaceAfterTemplateKeyword: false
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeParens: ControlStatements
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 2
|
||||
SpacesInAngles: false
|
||||
SpacesInContainerLiterals: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: Auto
|
||||
TabWidth: 2
|
||||
UseTab: Never
|
@ -73,141 +73,259 @@ void VictronComponent::loop() {
|
||||
}
|
||||
}
|
||||
|
||||
static const __FlashStringHelper* charger_status_text(int value) {
|
||||
static const __FlashStringHelper *charger_status_text(int value) {
|
||||
switch (value) {
|
||||
case 0: return F("Off");
|
||||
case 2: return F("Fault");
|
||||
case 3: return F("Bulk");
|
||||
case 4: return F("Absorption");
|
||||
case 5: return F("Float");
|
||||
case 7: return F("Equalize (manual)");
|
||||
case 245: return F("Starting-up");
|
||||
case 247: return F("Auto equalize / Recondition");
|
||||
case 252: return F("External control");
|
||||
default: return F("Unknown");
|
||||
case 0:
|
||||
return F("Off");
|
||||
case 2:
|
||||
return F("Fault");
|
||||
case 3:
|
||||
return F("Bulk");
|
||||
case 4:
|
||||
return F("Absorption");
|
||||
case 5:
|
||||
return F("Float");
|
||||
case 7:
|
||||
return F("Equalize (manual)");
|
||||
case 245:
|
||||
return F("Starting-up");
|
||||
case 247:
|
||||
return F("Auto equalize / Recondition");
|
||||
case 252:
|
||||
return F("External control");
|
||||
default:
|
||||
return F("Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
static const __FlashStringHelper* error_code_text(int value) {
|
||||
static const __FlashStringHelper *error_code_text(int value) {
|
||||
switch (value) {
|
||||
case 0: return F("No error");
|
||||
case 2: return F("Battery voltage too high");
|
||||
case 17: return F("Charger temperature too high");
|
||||
case 18: return F("Charger over current");
|
||||
case 19: return F("Charger current reversed");
|
||||
case 20: return F("Bulk time limit exceeded");
|
||||
case 21: return F("Current sensor issue");
|
||||
case 26: return F("Terminals overheated");
|
||||
case 28: return F("Converter issue");
|
||||
case 33: return F("Input voltage too high (solar panel)");
|
||||
case 34: return F("Input current too high (solar panel)");
|
||||
case 38: return F("Input shutdown (excessive battery voltage)");
|
||||
case 39: return F("Input shutdown (due to current flow during off mode)");
|
||||
case 65: return F("Lost communication with one of devices");
|
||||
case 66: return F("Synchronised charging device configuration issue");
|
||||
case 67: return F("BMS connection lost");
|
||||
case 68: return F("Network misconfigured");
|
||||
case 116: return F("Factory calibration data lost");
|
||||
case 117: return F("Invalid/incompatible firmware");
|
||||
case 119: return F("User settings invalid");
|
||||
default: return F("Unknown");
|
||||
case 0:
|
||||
return F("No error");
|
||||
case 2:
|
||||
return F("Battery voltage too high");
|
||||
case 17:
|
||||
return F("Charger temperature too high");
|
||||
case 18:
|
||||
return F("Charger over current");
|
||||
case 19:
|
||||
return F("Charger current reversed");
|
||||
case 20:
|
||||
return F("Bulk time limit exceeded");
|
||||
case 21:
|
||||
return F("Current sensor issue");
|
||||
case 26:
|
||||
return F("Terminals overheated");
|
||||
case 28:
|
||||
return F("Converter issue");
|
||||
case 33:
|
||||
return F("Input voltage too high (solar panel)");
|
||||
case 34:
|
||||
return F("Input current too high (solar panel)");
|
||||
case 38:
|
||||
return F("Input shutdown (excessive battery voltage)");
|
||||
case 39:
|
||||
return F("Input shutdown (due to current flow during off mode)");
|
||||
case 65:
|
||||
return F("Lost communication with one of devices");
|
||||
case 66:
|
||||
return F("Synchronised charging device configuration issue");
|
||||
case 67:
|
||||
return F("BMS connection lost");
|
||||
case 68:
|
||||
return F("Network misconfigured");
|
||||
case 116:
|
||||
return F("Factory calibration data lost");
|
||||
case 117:
|
||||
return F("Invalid/incompatible firmware");
|
||||
case 119:
|
||||
return F("User settings invalid");
|
||||
default:
|
||||
return F("Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
static const std::string tracker_op_text(int value) {
|
||||
switch (value) {
|
||||
case 0: return "Off";
|
||||
case 1: return "Limited";
|
||||
case 2: return "Active";
|
||||
default: return "Unknown";
|
||||
case 0:
|
||||
return "Off";
|
||||
case 1:
|
||||
return "Limited";
|
||||
case 2:
|
||||
return "Active";
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
static const __FlashStringHelper* pid_text(int value) {
|
||||
static const __FlashStringHelper *pid_text(int value) {
|
||||
switch (value) {
|
||||
case 0x203: return F("BMV-700");
|
||||
case 0x204: return F("BMV-702");
|
||||
case 0x205: return F("BMV-700H");
|
||||
case 0xA389: return F("SmartShunt");
|
||||
case 0xA381: return F("BMV-712 Smart");
|
||||
case 0xA04C: return F("BlueSolar MPPT 75/10");
|
||||
case 0x300: return F("BlueSolar MPPT 70/15");
|
||||
case 0xA042: return F("BlueSolar MPPT 75/15");
|
||||
case 0xA043: return F("BlueSolar MPPT 100/15");
|
||||
case 0xA044: return F("BlueSolar MPPT 100/30 rev1");
|
||||
case 0xA04A: return F("BlueSolar MPPT 100/30 rev2");
|
||||
case 0xA041: return F("BlueSolar MPPT 150/35 rev1");
|
||||
case 0xA04B: return F("BlueSolar MPPT 150/35 rev2");
|
||||
case 0xA04D: return F("BlueSolar MPPT 150/45");
|
||||
case 0xA040: return F("BlueSolar MPPT 75/50");
|
||||
case 0xA045: return F("BlueSolar MPPT 100/50 rev1");
|
||||
case 0xA049: return F("BlueSolar MPPT 100/50 rev2");
|
||||
case 0xA04E: return F("BlueSolar MPPT 150/60");
|
||||
case 0xA046: return F("BlueSolar MPPT 150/70");
|
||||
case 0xA04F: return F("BlueSolar MPPT 150/85");
|
||||
case 0xA047: return F("BlueSolar MPPT 150/100");
|
||||
case 0xA050: return F("SmartSolar MPPT 250/100");
|
||||
case 0xA051: return F("SmartSolar MPPT 150/100");
|
||||
case 0xA052: return F("SmartSolar MPPT 150/85");
|
||||
case 0xA053: return F("SmartSolar MPPT 75/15");
|
||||
case 0xA054: return F("SmartSolar MPPT 75/10");
|
||||
case 0xA055: return F("SmartSolar MPPT 100/15");
|
||||
case 0xA056: return F("SmartSolar MPPT 100/30");
|
||||
case 0xA057: return F("SmartSolar MPPT 100/50");
|
||||
case 0xA058: return F("SmartSolar MPPT 150/35");
|
||||
case 0xA059: return F("SmartSolar MPPT 150/100 rev2");
|
||||
case 0xA05A: return F("SmartSolar MPPT 150/85 rev2");
|
||||
case 0xA05B: return F("SmartSolar MPPT 250/70");
|
||||
case 0xA05C: return F("SmartSolar MPPT 250/85");
|
||||
case 0xA05D: return F("SmartSolar MPPT 250/60");
|
||||
case 0xA05E: return F("SmartSolar MPPT 250/45");
|
||||
case 0xA05F: return F("SmartSolar MPPT 100/20");
|
||||
case 0xA060: return F("SmartSolar MPPT 100/20 48V");
|
||||
case 0xA061: return F("SmartSolar MPPT 150/45");
|
||||
case 0xA062: return F("SmartSolar MPPT 150/60");
|
||||
case 0xA063: return F("SmartSolar MPPT 150/70");
|
||||
case 0xA064: return F("SmartSolar MPPT 250/85 rev2");
|
||||
case 0xA065: return F("SmartSolar MPPT 250/100 rev2");
|
||||
case 0xA201: return F("Phoenix Inverter 12V 250VA 230V");
|
||||
case 0xA202: return F("Phoenix Inverter 24V 250VA 230V");
|
||||
case 0xA204: return F("Phoenix Inverter 48V 250VA 230V");
|
||||
case 0xA211: return F("Phoenix Inverter 12V 375VA 230V");
|
||||
case 0xA212: return F("Phoenix Inverter 24V 375VA 230V");
|
||||
case 0xA214: return F("Phoenix Inverter 48V 375VA 230V");
|
||||
case 0xA221: return F("Phoenix Inverter 12V 500VA 230V");
|
||||
case 0xA222: return F("Phoenix Inverter 24V 500VA 230V");
|
||||
case 0xA224: return F("Phoenix Inverter 48V 500VA 230V");
|
||||
case 0xA231: return F("Phoenix Inverter 12V 250VA 230V");
|
||||
case 0xA232: return F("Phoenix Inverter 24V 250VA 230V");
|
||||
case 0xA234: return F("Phoenix Inverter 48V 250VA 230V");
|
||||
case 0xA239: return F("Phoenix Inverter 12V 250VA 120V");
|
||||
case 0xA23A: return F("Phoenix Inverter 24V 250VA 120V");
|
||||
case 0xA23C: return F("Phoenix Inverter 48V 250VA 120V");
|
||||
case 0xA241: return F("Phoenix Inverter 12V 375VA 230V");
|
||||
case 0xA242: return F("Phoenix Inverter 24V 375VA 230V");
|
||||
case 0xA244: return F("Phoenix Inverter 48V 375VA 230V");
|
||||
case 0xA249: return F("Phoenix Inverter 12V 375VA 120V");
|
||||
case 0xA24A: return F("Phoenix Inverter 24V 375VA 120V");
|
||||
case 0xA24C: return F("Phoenix Inverter 48V 375VA 120V");
|
||||
case 0xA251: return F("Phoenix Inverter 12V 500VA 230V");
|
||||
case 0xA252: return F("Phoenix Inverter 24V 500VA 230V");
|
||||
case 0xA254: return F("Phoenix Inverter 48V 500VA 230V");
|
||||
case 0xA259: return F("Phoenix Inverter 12V 500VA 120V");
|
||||
case 0xA25A: return F("Phoenix Inverter 24V 500VA 120V");
|
||||
case 0xA25C: return F("Phoenix Inverter 48V 500VA 120V");
|
||||
case 0xA261: return F("Phoenix Inverter 12V 800VA 230V");
|
||||
case 0xA262: return F("Phoenix Inverter 24V 800VA 230V");
|
||||
case 0xA264: return F("Phoenix Inverter 48V 800VA 230V");
|
||||
case 0xA269: return F("Phoenix Inverter 12V 800VA 120V");
|
||||
case 0xA26A: return F("Phoenix Inverter 24V 800VA 120V");
|
||||
case 0xA26C: return F("Phoenix Inverter 48V 800VA 120V");
|
||||
case 0xA271: return F("Phoenix Inverter 12V 1200VA 230V");
|
||||
case 0xA272: return F("Phoenix Inverter 24V 1200VA 230V");
|
||||
case 0xA274: return F("Phoenix Inverter 48V 1200VA 230V");
|
||||
case 0xA279: return F("Phoenix Inverter 12V 1200VA 120V");
|
||||
case 0xA27A: return F("Phoenix Inverter 24V 1200VA 120V");
|
||||
case 0xA27C: return F("Phoenix Inverter 48V 1200VA 120V");
|
||||
default: return nullptr;
|
||||
case 0x203:
|
||||
return F("BMV-700");
|
||||
case 0x204:
|
||||
return F("BMV-702");
|
||||
case 0x205:
|
||||
return F("BMV-700H");
|
||||
case 0xA389:
|
||||
return F("SmartShunt");
|
||||
case 0xA381:
|
||||
return F("BMV-712 Smart");
|
||||
case 0xA04C:
|
||||
return F("BlueSolar MPPT 75/10");
|
||||
case 0x300:
|
||||
return F("BlueSolar MPPT 70/15");
|
||||
case 0xA042:
|
||||
return F("BlueSolar MPPT 75/15");
|
||||
case 0xA043:
|
||||
return F("BlueSolar MPPT 100/15");
|
||||
case 0xA044:
|
||||
return F("BlueSolar MPPT 100/30 rev1");
|
||||
case 0xA04A:
|
||||
return F("BlueSolar MPPT 100/30 rev2");
|
||||
case 0xA041:
|
||||
return F("BlueSolar MPPT 150/35 rev1");
|
||||
case 0xA04B:
|
||||
return F("BlueSolar MPPT 150/35 rev2");
|
||||
case 0xA04D:
|
||||
return F("BlueSolar MPPT 150/45");
|
||||
case 0xA040:
|
||||
return F("BlueSolar MPPT 75/50");
|
||||
case 0xA045:
|
||||
return F("BlueSolar MPPT 100/50 rev1");
|
||||
case 0xA049:
|
||||
return F("BlueSolar MPPT 100/50 rev2");
|
||||
case 0xA04E:
|
||||
return F("BlueSolar MPPT 150/60");
|
||||
case 0xA046:
|
||||
return F("BlueSolar MPPT 150/70");
|
||||
case 0xA04F:
|
||||
return F("BlueSolar MPPT 150/85");
|
||||
case 0xA047:
|
||||
return F("BlueSolar MPPT 150/100");
|
||||
case 0xA050:
|
||||
return F("SmartSolar MPPT 250/100");
|
||||
case 0xA051:
|
||||
return F("SmartSolar MPPT 150/100");
|
||||
case 0xA052:
|
||||
return F("SmartSolar MPPT 150/85");
|
||||
case 0xA053:
|
||||
return F("SmartSolar MPPT 75/15");
|
||||
case 0xA054:
|
||||
return F("SmartSolar MPPT 75/10");
|
||||
case 0xA055:
|
||||
return F("SmartSolar MPPT 100/15");
|
||||
case 0xA056:
|
||||
return F("SmartSolar MPPT 100/30");
|
||||
case 0xA057:
|
||||
return F("SmartSolar MPPT 100/50");
|
||||
case 0xA058:
|
||||
return F("SmartSolar MPPT 150/35");
|
||||
case 0xA059:
|
||||
return F("SmartSolar MPPT 150/100 rev2");
|
||||
case 0xA05A:
|
||||
return F("SmartSolar MPPT 150/85 rev2");
|
||||
case 0xA05B:
|
||||
return F("SmartSolar MPPT 250/70");
|
||||
case 0xA05C:
|
||||
return F("SmartSolar MPPT 250/85");
|
||||
case 0xA05D:
|
||||
return F("SmartSolar MPPT 250/60");
|
||||
case 0xA05E:
|
||||
return F("SmartSolar MPPT 250/45");
|
||||
case 0xA05F:
|
||||
return F("SmartSolar MPPT 100/20");
|
||||
case 0xA060:
|
||||
return F("SmartSolar MPPT 100/20 48V");
|
||||
case 0xA061:
|
||||
return F("SmartSolar MPPT 150/45");
|
||||
case 0xA062:
|
||||
return F("SmartSolar MPPT 150/60");
|
||||
case 0xA063:
|
||||
return F("SmartSolar MPPT 150/70");
|
||||
case 0xA064:
|
||||
return F("SmartSolar MPPT 250/85 rev2");
|
||||
case 0xA065:
|
||||
return F("SmartSolar MPPT 250/100 rev2");
|
||||
case 0xA201:
|
||||
return F("Phoenix Inverter 12V 250VA 230V");
|
||||
case 0xA202:
|
||||
return F("Phoenix Inverter 24V 250VA 230V");
|
||||
case 0xA204:
|
||||
return F("Phoenix Inverter 48V 250VA 230V");
|
||||
case 0xA211:
|
||||
return F("Phoenix Inverter 12V 375VA 230V");
|
||||
case 0xA212:
|
||||
return F("Phoenix Inverter 24V 375VA 230V");
|
||||
case 0xA214:
|
||||
return F("Phoenix Inverter 48V 375VA 230V");
|
||||
case 0xA221:
|
||||
return F("Phoenix Inverter 12V 500VA 230V");
|
||||
case 0xA222:
|
||||
return F("Phoenix Inverter 24V 500VA 230V");
|
||||
case 0xA224:
|
||||
return F("Phoenix Inverter 48V 500VA 230V");
|
||||
case 0xA231:
|
||||
return F("Phoenix Inverter 12V 250VA 230V");
|
||||
case 0xA232:
|
||||
return F("Phoenix Inverter 24V 250VA 230V");
|
||||
case 0xA234:
|
||||
return F("Phoenix Inverter 48V 250VA 230V");
|
||||
case 0xA239:
|
||||
return F("Phoenix Inverter 12V 250VA 120V");
|
||||
case 0xA23A:
|
||||
return F("Phoenix Inverter 24V 250VA 120V");
|
||||
case 0xA23C:
|
||||
return F("Phoenix Inverter 48V 250VA 120V");
|
||||
case 0xA241:
|
||||
return F("Phoenix Inverter 12V 375VA 230V");
|
||||
case 0xA242:
|
||||
return F("Phoenix Inverter 24V 375VA 230V");
|
||||
case 0xA244:
|
||||
return F("Phoenix Inverter 48V 375VA 230V");
|
||||
case 0xA249:
|
||||
return F("Phoenix Inverter 12V 375VA 120V");
|
||||
case 0xA24A:
|
||||
return F("Phoenix Inverter 24V 375VA 120V");
|
||||
case 0xA24C:
|
||||
return F("Phoenix Inverter 48V 375VA 120V");
|
||||
case 0xA251:
|
||||
return F("Phoenix Inverter 12V 500VA 230V");
|
||||
case 0xA252:
|
||||
return F("Phoenix Inverter 24V 500VA 230V");
|
||||
case 0xA254:
|
||||
return F("Phoenix Inverter 48V 500VA 230V");
|
||||
case 0xA259:
|
||||
return F("Phoenix Inverter 12V 500VA 120V");
|
||||
case 0xA25A:
|
||||
return F("Phoenix Inverter 24V 500VA 120V");
|
||||
case 0xA25C:
|
||||
return F("Phoenix Inverter 48V 500VA 120V");
|
||||
case 0xA261:
|
||||
return F("Phoenix Inverter 12V 800VA 230V");
|
||||
case 0xA262:
|
||||
return F("Phoenix Inverter 24V 800VA 230V");
|
||||
case 0xA264:
|
||||
return F("Phoenix Inverter 48V 800VA 230V");
|
||||
case 0xA269:
|
||||
return F("Phoenix Inverter 12V 800VA 120V");
|
||||
case 0xA26A:
|
||||
return F("Phoenix Inverter 24V 800VA 120V");
|
||||
case 0xA26C:
|
||||
return F("Phoenix Inverter 48V 800VA 120V");
|
||||
case 0xA271:
|
||||
return F("Phoenix Inverter 12V 1200VA 230V");
|
||||
case 0xA272:
|
||||
return F("Phoenix Inverter 24V 1200VA 230V");
|
||||
case 0xA274:
|
||||
return F("Phoenix Inverter 48V 1200VA 230V");
|
||||
case 0xA279:
|
||||
return F("Phoenix Inverter 12V 1200VA 120V");
|
||||
case 0xA27A:
|
||||
return F("Phoenix Inverter 24V 1200VA 120V");
|
||||
case 0xA27C:
|
||||
return F("Phoenix Inverter 48V 1200VA 120V");
|
||||
default:
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@ -250,10 +368,10 @@ void VictronComponent::handle_value_() {
|
||||
battery_voltage_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
|
||||
} else if (label_ == "I") {
|
||||
if (battery_current_sensor_ != nullptr)
|
||||
battery_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
|
||||
battery_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
|
||||
} else if (label_ == "IL") {
|
||||
if (load_current_sensor_ != nullptr)
|
||||
load_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
|
||||
load_current_sensor_->publish_state(atoi(value_.c_str()) / 1000.0);
|
||||
} else if (label_ == "HSDS") {
|
||||
if (day_number_sensor_ != nullptr)
|
||||
day_number_sensor_->publish_state(atoi(value_.c_str()));
|
||||
@ -279,19 +397,19 @@ void VictronComponent::handle_value_() {
|
||||
if ((fw_version_sensor_ != nullptr) && !fw_version_sensor_->has_state())
|
||||
fw_version_sensor_->publish_state(value_.insert(value_.size() - 2, "."));
|
||||
} else if (label_ == "PID") {
|
||||
//value = atoi(value_.c_str());
|
||||
// value = atoi(value_.c_str());
|
||||
|
||||
//ESP_LOGD(TAG, "received PID: '%s'", value_.c_str());
|
||||
// ESP_LOGD(TAG, "received PID: '%s'", value_.c_str());
|
||||
value = strtol(value_.c_str(), NULL, 0);
|
||||
//ESP_LOGD(TAG, "received PID: '%04x'", value);
|
||||
// ESP_LOGD(TAG, "received PID: '%04x'", value);
|
||||
if ((pid_sensor_ != nullptr) && !pid_sensor_->has_state()) {
|
||||
const __FlashStringHelper *flash = pid_text(value);
|
||||
if (flash != nullptr) {
|
||||
pid_sensor_->publish_state(flash_to_string(flash));
|
||||
}// else {
|
||||
// char s[30];
|
||||
// snprintf(s, 30, "Unknown device (%04x)", value);
|
||||
//pid_sensor_->publish_state(s);
|
||||
} // else {
|
||||
// char s[30];
|
||||
// snprintf(s, 30, "Unknown device (%04x)", value);
|
||||
// pid_sensor_->publish_state(s);
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
@ -10,23 +10,41 @@ namespace victron {
|
||||
|
||||
class VictronComponent : public uart::UARTDevice, public Component {
|
||||
public:
|
||||
void set_max_power_yesterday_sensor(sensor::Sensor *max_power_yesterday_sensor) { max_power_yesterday_sensor_ = max_power_yesterday_sensor; }
|
||||
void set_max_power_today_sensor(sensor::Sensor *max_power_today_sensor) { max_power_today_sensor_ = max_power_today_sensor; }
|
||||
void set_max_power_yesterday_sensor(sensor::Sensor *max_power_yesterday_sensor) {
|
||||
max_power_yesterday_sensor_ = max_power_yesterday_sensor;
|
||||
}
|
||||
void set_max_power_today_sensor(sensor::Sensor *max_power_today_sensor) {
|
||||
max_power_today_sensor_ = max_power_today_sensor;
|
||||
}
|
||||
void set_yield_total_sensor(sensor::Sensor *yield_total_sensor) { yield_total_sensor_ = yield_total_sensor; }
|
||||
void set_yield_yesterday_sensor(sensor::Sensor *yield_yesterday_sensor) { yield_yesterday_sensor_ = yield_yesterday_sensor; }
|
||||
void set_yield_yesterday_sensor(sensor::Sensor *yield_yesterday_sensor) {
|
||||
yield_yesterday_sensor_ = yield_yesterday_sensor;
|
||||
}
|
||||
void set_yield_today_sensor(sensor::Sensor *yield_today_sensor) { yield_today_sensor_ = yield_today_sensor; }
|
||||
void set_panel_voltage_sensor(sensor::Sensor *panel_voltage_sensor) { panel_voltage_sensor_ = panel_voltage_sensor; }
|
||||
void set_panel_power_sensor(sensor::Sensor *panel_power_sensor) { panel_power_sensor_ = panel_power_sensor; }
|
||||
void set_battery_voltage_sensor(sensor::Sensor *battery_voltage_sensor) { battery_voltage_sensor_ = battery_voltage_sensor; }
|
||||
void set_battery_current_sensor(sensor::Sensor *battery_current_sensor) { battery_current_sensor_ = battery_current_sensor; }
|
||||
void set_battery_voltage_sensor(sensor::Sensor *battery_voltage_sensor) {
|
||||
battery_voltage_sensor_ = battery_voltage_sensor;
|
||||
}
|
||||
void set_battery_current_sensor(sensor::Sensor *battery_current_sensor) {
|
||||
battery_current_sensor_ = battery_current_sensor;
|
||||
}
|
||||
void set_load_current_sensor(sensor::Sensor *load_current_sensor) { load_current_sensor_ = load_current_sensor; }
|
||||
void set_day_number_sensor(sensor::Sensor *day_number_sensor) { day_number_sensor_ = day_number_sensor; }
|
||||
void set_charger_status_sensor(sensor::Sensor *charger_status_sensor) { charger_status_sensor_ = charger_status_sensor; }
|
||||
void set_charger_status_sensor(sensor::Sensor *charger_status_sensor) {
|
||||
charger_status_sensor_ = charger_status_sensor;
|
||||
}
|
||||
void set_error_code_sensor(sensor::Sensor *error_code_sensor) { error_code_sensor_ = error_code_sensor; }
|
||||
void set_tracker_operation_sensor(sensor::Sensor *tracker_operation_sensor) { tracker_operation_sensor_ = tracker_operation_sensor; }
|
||||
void set_charger_text_sensor(text_sensor::TextSensor *charger_text_sensor) { charger_text_sensor_ = charger_text_sensor; }
|
||||
void set_tracker_operation_sensor(sensor::Sensor *tracker_operation_sensor) {
|
||||
tracker_operation_sensor_ = tracker_operation_sensor;
|
||||
}
|
||||
void set_charger_text_sensor(text_sensor::TextSensor *charger_text_sensor) {
|
||||
charger_text_sensor_ = charger_text_sensor;
|
||||
}
|
||||
void set_error_text_sensor(text_sensor::TextSensor *error_text_sensor) { error_text_sensor_ = error_text_sensor; }
|
||||
void set_tracker_text_sensor(text_sensor::TextSensor *tracker_text_sensor) { tracker_text_sensor_ = tracker_text_sensor; }
|
||||
void set_tracker_text_sensor(text_sensor::TextSensor *tracker_text_sensor) {
|
||||
tracker_text_sensor_ = tracker_text_sensor;
|
||||
}
|
||||
void set_fw_version_sensor(text_sensor::TextSensor *fw_version_sensor) { fw_version_sensor_ = fw_version_sensor; }
|
||||
void set_pid_sensor(text_sensor::TextSensor *pid_sensor) { pid_sensor_ = pid_sensor; }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user