Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- text_sensor:
- - platform: modbus_controller
- modbus_controller_id: must
- address: 15213
- register_type: holding
- response_size: 2
- raw_encode: HEXBYTES
- name: "PV Charger error"
- icon: mdi:alert-circle-outline
- lambda: |-
- uint16_t value = modbus_controller::word_from_hex_str(x, 0);
- switch (value) {
- case 1: return std::string("Hardware protection");
- case 2: return std::string("Overcurrent");
- case 3: return std::string("Current sensor error");
- case 4: return std::string("Overtemperature");
- case 5: return std::string("PV voltage is too high");
- case 6: return std::string("PV voltage is too low");
- case 7: return std::string("Battery voltage is too high");
- case 8: return std::string("Battery voltage is too Low");
- case 9: return std::string("Current is uncontrollable");
- case 10: return std::string("Parameter error");
- default: return std::string("None");
- }
- return x;
- - platform: modbus_controller
- modbus_controller_id: must
- address: 25261
- register_type: holding
- response_size: 2
- raw_encode: HEXBYTES
- name: "Inverter error 1"
- icon: mdi:alert-circle-outline
- lambda: |-
- uint16_t value = modbus_controller::word_from_hex_str(x, 0);
- switch (value) {
- case 1: return std::string("Fan is locked when inverter is off");
- case 2: return std::string("Inverter transformer over temperature");
- case 3: return std::string("Battery voltage is too high");
- case 4: return std::string("Battery voltage is too low");
- case 5: return std::string("Output short circuited");
- case 6: return std::string("Inverter output voltage is high");
- case 7: return std::string("Overload time out");
- case 8: return std::string("Inverter bus voltage is too high");
- case 9: return std::string("Bus soft start failed");
- case 10: return std::string("Main relay failed");
- case 11: return std::string("Inverter output voltage sensor error");
- case 12: return std::string("Inverter grid voltage sensor error");
- case 13: return std::string("Inverter output current sensor error");
- case 14: return std::string("Inverter grid current sensor error");
- case 15: return std::string("Inverter load current sensor error");
- case 16: return std::string("Inverter grid over current error");
- default: return std::string("None");
- }
- return x;
- - platform: modbus_controller
- modbus_controller_id: must
- address: 25262
- register_type: holding
- response_size: 2
- raw_encode: HEXBYTES
- name: "Inverter error 2"
- icon: mdi:alert-circle-outline
- lambda: |-
- uint16_t value = modbus_controller::word_from_hex_str(x, 0);
- switch (value) {
- case 1: return std::string("Inverter radiator over temperature");
- case 2: return std::string("Solar charger battery voltage class error");
- case 3: return std::string("Solar charger current sensor error");
- case 4: return std::string("Solar charger current is uncontrollable");
- case 5: return std::string("Inverter grid voltage is low");
- case 6: return std::string("Inverter grid voltage is high");
- case 7: return std::string("Inverter grid under frequency");
- case 8: return std::string("Inverter grid over frequency");
- case 9: return std::string("Inverter over current protection error");
- case 10: return std::string("Inverter bus voltage is too low");
- case 11: return std::string("Inverter soft start failed");
- case 12: return std::string("Over DC voltage in AC output");
- case 13: return std::string("Battery connection is open");
- case 14: return std::string("Inverter control current sensor error");
- case 15: return std::string("Inverter output voltage is too low");
- default: return std::string("None");
- }
- return x;
- - platform: modbus_controller
- modbus_controller_id: must
- address: 25265
- register_type: holding
- response_size: 2
- raw_encode: HEXBYTES
- name: "Inverter warning 1"
- icon: mdi:alert-circle-outline
- lambda: |-
- uint16_t value = modbus_controller::word_from_hex_str(x, 0);
- switch (value) {
- case 1: return std::string("Fan is locked when inverter is on");
- case 2: return std::string("Fan2 is locked when inverter is on");
- case 3: return std::string("Battery is over-charged");
- case 4: return std::string("Low battery");
- case 5: return std::string("Overload");
- case 6: return std::string("Output power derating");
- case 7: return std::string("Solar charger stops due to low battery");
- case 8: return std::string("Solar charger stops due to high PV voltage");
- case 9: return std::string("Solar charger stops due to over load");
- case 10: return std::string("Solar charger over temperature");
- case 11: return std::string("PV charger communication error ");
- default: return std::string("None");
- }
- return x;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement