diff --git a/custom_components/victron/binary_sensor.py b/custom_components/victron/binary_sensor.py index 0cf2de8..ad972a6 100644 --- a/custom_components/victron/binary_sensor.py +++ b/custom_components/victron/binary_sensor.py @@ -18,7 +18,12 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity from .base import VictronBaseEntityDescription -from .const import DOMAIN, BoolReadEntityType, register_info_dict +from .const import ( + DOMAIN, + TRANSLATED_ENTITY_TYPES, + BoolReadEntityType, + register_info_dict, +) from .coordinator import victronEnergyDeviceUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -76,6 +81,8 @@ class VictronEntityDescription( class VictronBinarySensor(CoordinatorEntity, BinarySensorEntity): """A binary sensor implementation for Victron energy device.""" + _attr_has_entity_name = True + def __init__( self, coordinator: victronEnergyDeviceUpdateCoordinator, @@ -85,7 +92,10 @@ def __init__( self.description: VictronEntityDescription = description # this needs to be changed to allow multiple of the same type self._attr_device_class = description.device_class - self._attr_name = f"{description.name}" + if description.key.startswith(TRANSLATED_ENTITY_TYPES): + self._attr_translation_key = description.key + else: + self._attr_name = f"{description.name}" self._attr_unique_id = f"{self.description.slave}_{self.description.key}" if self.description.slave not in (100, 225): @@ -106,7 +116,7 @@ def is_on(self) -> bool: self.description.slave, self.description.key, ) - return cast(bool, data) + return cast("bool", data) @property def available(self) -> bool: diff --git a/custom_components/victron/button.py b/custom_components/victron/button.py index 84d71fc..f328904 100644 --- a/custom_components/victron/button.py +++ b/custom_components/victron/button.py @@ -18,7 +18,13 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity from .base import VictronWriteBaseEntityDescription -from .const import CONF_ADVANCED_OPTIONS, DOMAIN, ButtonWriteType, register_info_dict +from .const import ( + CONF_ADVANCED_OPTIONS, + DOMAIN, + TRANSLATED_ENTITY_TYPES, + ButtonWriteType, + register_info_dict, +) from .coordinator import victronEnergyDeviceUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -78,6 +84,8 @@ class VictronEntityDescription( class VictronBinarySensor(CoordinatorEntity, ButtonEntity): """A button implementation for Victron energy device.""" + _attr_has_entity_name = True + def __init__( self, coordinator: victronEnergyDeviceUpdateCoordinator, @@ -86,7 +94,10 @@ def __init__( """Initialize the sensor.""" self.description: VictronEntityDescription = description self._attr_device_class = description.device_class - self._attr_name = f"{description.name}" + if description.key.startswith(TRANSLATED_ENTITY_TYPES): + self._attr_translation_key = description.key + else: + self._attr_name = f"{description.name}" self._attr_unique_id = f"{self.description.slave}_{self.description.key}" if self.description.slave not in (100, 225): diff --git a/custom_components/victron/const.py b/custom_components/victron/const.py index 564a8f2..55a8ef6 100644 --- a/custom_components/victron/const.py +++ b/custom_components/victron/const.py @@ -24,10 +24,10 @@ class DeviceType(Enum): """Enum for device types.""" - GRID = 1 - TANK = 2 - MULTI = 3 - VEBUS = 4 + grid = 1 + tank = 2 + multi = 3 + vebus = 4 DOMAIN = "victron" @@ -73,6 +73,15 @@ def __init__(self, length=1, read_length=None): UINT16_MAX = 65535 +TRANSLATED_ENTITY_TYPES = ( + "grid", + "vebus", + "battery", + "pvinverter", + "settings", + "system", +) + class EntityType: """Base entityType.""" @@ -180,9 +189,9 @@ def determine_stateclass(self): class generic_alarm_ledger(Enum): """Generic alarm ledger.""" - OK = 0 - WARNING = 1 - ALARM = 2 + ok = 0 + warning = 1 + alarm = 2 gavazi_grid_registers = { @@ -244,58 +253,58 @@ class generic_alarm_ledger(Enum): class vebus_mode(Enum): """Vebus mode.""" - CHARGER = 1 - INVERTER = 2 - ON = 3 - OFF = 4 + charger = 1 + inverter = 2 + on = 3 + off = 4 class generic_activeinput(Enum): """Generic active input.""" - AC_INPUT_1 = 0 - AC_INPUT_2 = 1 - DISCONNECTED = 240 + ac_input_1 = 0 + ac_input_2 = 1 + disconnected = 240 class generic_charger_state(Enum): """Generic charger state.""" - OFF = 0 - LOW_POWER = 1 - FAULT = 2 - BULK = 3 - ABSORPTION = 4 - FLOAT = 5 - STORAGE = 6 - EQUALIZE = 7 - PASSTHRU = 8 - INVERTING = 9 - POWER_ASSIST = 10 - POWER_SUPPLY = 11 - EXTERNAL_CONTROL = 252 + off = 0 + low_power = 1 + fault = 2 + bulk = 3 + absorption = 4 + float = 5 + storage = 6 + equalize = 7 + passthru = 8 + inverting = 9 + power_assist = 10 + power_supply = 11 + external_control = 252 class vebus_error(Enum): """Vebus error.""" - OK = 0 - EXTERNAL_PHASE_TRIGGERED_SWITCHOFF = 1 - MK2_TYPE_MISMATCH = 2 - DEVICE_COUNT_MISMATCH = 3 - NO_OTHER_DEVICES = 4 - AC_OVERVOLTAGE_OUT = 5 - DDC_PROGRAM = 6 - BMS_WITHOUT_ASSISTANT_CONNECTED = 7 - TIME_SYNC_MISMATCH = 10 - CANNOT_TRANSMIT = 14 - DONGLE_ABSENT = 16 - MASTER_FAILOVER = 17 - AC_OVERVOLTAGE_SLAVE_OFF = 18 - CANNOT_BE_SLAVE = 22 - SWITCH_OVER_PROTECTION = 24 - FIRMWARE_INCOMPATIBILTIY = 25 - INTERNAL_ERROR = 26 + ok = 0 + external_phase_triggered_switchoff = 1 + mk2_type_mismatch = 2 + device_count_mismatch = 3 + no_other_devices = 4 + ac_overvoltage_out = 5 + ddc_program = 6 + bms_without_assistant_connected = 7 + time_sync_mismatch = 10 + cannot_transmit = 14 + dongle_absent = 16 + master_failover = 17 + ac_overvoltage_slave_off = 18 + cannot_be_slave = 22 + switch_over_protection = 24 + firmware_incompatibiltiy = 25 + internal_error = 26 vebus_registers = { @@ -738,64 +747,64 @@ class vebus_error(Enum): class battery_state(Enum): """Battery state.""" - WAIT_START_INIT = 0 - BEFORE_BOOT_INIT = 1 - BEFORE_BOOT_DELAY_INIT = 2 - WAIT_BOOT_INIT = 3 - INITIALIZING = 4 - BATTERY_VOLTAGE_MEASURE_INIT = 5 - BATTERY_CALCULATE_VOLTAGE_INIT = 6 - WAIT_BUS_VOLTAGE_INIT = 7 - WAIT_LYNX_SHUNT_INIT = 8 - RUNNING = 9 - ERROR = 10 - UNUSED = 11 - SHUTDOWN = 12 - SLAVE_UPDATING = 13 - STANDBY = 14 - GOING_TO_RUN = 15 - PRE_CHARGING = 16 + wait_start_init = 0 + before_boot_init = 1 + before_boot_delay_init = 2 + wait_boot_init = 3 + initializing = 4 + battery_voltage_measure_init = 5 + battery_calculate_voltage_init = 6 + wait_bus_voltage_init = 7 + wait_lynx_shunt_init = 8 + running = 9 + error = 10 + unused = 11 + shutdown = 12 + slave_updating = 13 + standby = 14 + going_to_run = 15 + pre_charging = 16 class battery_error(Enum): """Battery error.""" - NONE = 0 - BATTERY_INIT_ERROR = 1 - NO_BATTERIES_CONNECTED = 2 - UNKNOWN_BATTERY_CONNECTED = 3 - DIFFERENT_BATTERY_TYPE = 4 - NUMBER_OF_BATTERIES_INCORRECT = 5 - LYNX_SHUNT_NOT_FOUND = 6 - BATTERY_MEASURE_ERROR = 7 - INTERNAL_CALCULATION_ERROR = 8 - BATTERIES_IN_SERIES_NOT_OK = 9 - NUMBER_OF_BATTERIES_INCORRECT_DUPLICATE_1 = 10 - HARDWARE_ERROR = 11 - WATCHDOG_ERROR = 12 - OVER_VOLTAGE = 13 - UNDER_VOLTAGE = 14 - OVER_TEMPERATURE = 15 - UNDER_TEMPERATURE = 16 - HARDWARE_FAULT = 17 - STANDBY_SHUTDOWN = 18 - PRE_CHARGE_CHARGE_ERROR = 19 - SAFETY_CONTACTOR_CHECK_ERROR = 20 - PRE_CHARGE_DISCHARGE_ERROR = 21 - ADC_ERROR = 22 - SLAVE_ERROR = 23 - SLAVE_WARNING = 24 - PRE_CHARGE_ERROR = 25 - SAFETY_CONTACTOR_ERROR = 26 - OVER_CURRENT = 27 - SLAVE_UPDATE_FAILED = 28 - SLAVE_UPDATE_UNAVAILABLE = 29 - CALIBRATION_DATA_LOST = 30 - SETTINGS_INVALID = 31 - BMS_CABLE = 32 - REFERENCE_FAILURE = 33 - WRONG_SYSTEM_VOLTAGE = 34 - PRE_CHARGE_TIMEOUT = 35 + none = 0 + battery_init_error = 1 + no_batteries_connected = 2 + unknown_battery_connected = 3 + different_battery_type = 4 + number_of_batteries_incorrect = 5 + lynx_shunt_not_found = 6 + battery_measure_error = 7 + internal_calculation_error = 8 + batteries_in_series_not_ok = 9 + number_of_batteries_incorrect_duplicate_1 = 10 + hardware_error = 11 + watchdog_error = 12 + over_voltage = 13 + under_voltage = 14 + over_temperature = 15 + under_temperature = 16 + hardware_fault = 17 + standby_shutdown = 18 + pre_charge_charge_error = 19 + safety_contactor_check_error = 20 + pre_charge_discharge_error = 21 + adc_error = 22 + slave_error = 23 + slave_warning = 24 + pre_charge_error = 25 + safety_contactor_error = 26 + over_current = 27 + slave_update_failed = 28 + slave_update_unavailable = 29 + calibration_data_lost = 30 + settings_invalid = 31 + bms_cable = 32 + reference_failure = 33 + wrong_system_voltage = 34 + pre_charge_timeout = 35 battery_detail_registers = { @@ -863,63 +872,63 @@ class battery_error(Enum): class solarcharger_mode(Enum): """Solar charger mode.""" - ON = 1 - OFF = 4 + on = 1 + off = 4 class solarcharger_state(Enum): """Solar charger state.""" - OFF = 0 - FAULT = 2 - BULK = 3 - ABSORPTION = 4 - FLOAT = 5 - STORAGE = 6 - EQUALIZE = 7 - OTHER_HUB_1 = 11 - WAKE_UP = 245 - EXTERNAL_CONTROL = 252 + off = 0 + fault = 2 + bulk = 3 + absorption = 4 + float = 5 + storage = 6 + equalize = 7 + other_hub_1 = 11 + wake_up = 245 + external_control = 252 class solarcharger_equalization_pending(Enum): """Solar charger equalization pending.""" - NO = 0 - YES = 1 - ERROR = 2 - UNAVAILABLE = 3 + no = 0 + yes = 1 + error = 2 + unavailable = 3 class generic_charger_errorcode(Enum): """Generic charger error code.""" - NONE = 0 - TEMPERATURE_HIGH = 1 - VOLTAGE_HIGH = 2 - TEMPERATURE_SENSOR_PLUS_MISWIRED = 3 - TEMPERATURE_SENSOR_MIN_MISWIRED = 4 - TEMPERATURE_SENSOR_DISCONNECTED = 5 - VOLTAGE_SENSE_PLUS_MISWIRED = 6 - VOLTAGE_SENSE_MIN_MISWIRED = 7 - VOLTAGE_SENSE_DISCONNECTED = 8 - VOLTAGE_WIRE_LOSSES_TOO_HIGH = 9 - CHARGER_TEMPERATURE_TOO_HIGH = 17 - CHARGER_OVER_CURRENT = 18 - CHARGER_POLARITY_REVERSED = 19 - BULK_TIME_LIMIT = 20 - CHARGER_TEMPERATURE_SENSOR_MISWIRED = 22 - CHARGER_TEMPERATURE_SENSOR_DISCONNECTED = 23 - INPUT_CURRENT_TOO_HIGH = 34 + none = 0 + temperature_high = 1 + voltage_high = 2 + temperature_sensor_plus_miswired = 3 + temperature_sensor_min_miswired = 4 + temperature_sensor_disconnected = 5 + voltage_sense_plus_miswired = 6 + voltage_sense_min_miswired = 7 + voltage_sense_disconnected = 8 + voltage_wire_losses_too_high = 9 + charger_temperature_too_high = 17 + charger_over_current = 18 + charger_polarity_reversed = 19 + bulk_time_limit = 20 + charger_temperature_sensor_miswired = 22 + charger_temperature_sensor_disconnected = 23 + input_current_too_high = 34 class generic_mppoperationmode(Enum): """Generic MPP operation mode.""" - OFF = 0 - LIMITED = 1 - ACTIVE = 2 - UNAVAILABLE = 255 + off = 0 + limited = 1 + active = 2 + unavailable = 255 solarcharger_registers = { @@ -1068,9 +1077,9 @@ class generic_mppoperationmode(Enum): class generic_position(Enum): """Generic position.""" - AC_INPUT_1 = 0 - AC_OUTPUT = 1 - AC_INPUT_2 = 2 + ac_input_1 = 0 + ac_output = 1 + ac_input_2 = 2 pvinverter_registers = { @@ -1144,10 +1153,10 @@ class generic_position(Enum): class charger_mode(Enum): """Charger mode.""" - OFF = 0 - ON = 1 - ERROR = 2 - UNAVAILABLE = 3 + off = 0 + on = 1 + error = 2 + unavailable = 3 charger_registers = { @@ -1270,28 +1279,28 @@ class charger_mode(Enum): class ess_batterylife_state(Enum): """ESS battery life state.""" - BL_DISABLED_DUPLICATE_1 = 0 - RESTARTING = 1 - SELF_CONSUMPTION = 2 - SELF_CONSUMPTION_DUPLICATE_1 = 3 - SELF_CONSUMPTION_DUPLICATE_2 = 4 - DISCHARGE_DISABLED = 5 - FORCE_CHARGE = 6 - SUSTAIN = 7 - LOW_SOC_RECHARGE = 8 - KEEP_BATTERIES_CHARGED = 9 - BL_DISABLED = 10 - BL_DISABLED_LOW_SOC = 11 - BL_DISABLED_LOC_SOC_RECHARGE = 12 + bl_disabled_duplicate_1 = 0 + restarting = 1 + self_consumption = 2 + self_consumption_duplicate_1 = 3 + self_consumption_duplicate_2 = 4 + discharge_disabled = 5 + force_charge = 6 + sustain = 7 + low_soc_recharge = 8 + keep_batteries_charged = 9 + bl_disabled = 10 + bl_disabled_low_soc = 11 + bl_disabled_loc_soc_recharge = 12 class ess_mode(Enum): """ESS mode.""" - SELF_CONSUMPTION_WITH_BATTERY_LIFE = 0 - SELF_CONSUMPTION = 1 - KEEP_CHARGED = 2 - EXTERNAL_CONTROL = 3 + self_consumption_with_battery_life = 0 + self_consumption = 1 + keep_charged = 2 + external_control = 3 settings_ess_registers = { @@ -1313,29 +1322,29 @@ class ess_mode(Enum): class tank_fluidtype(Enum): """Tank fluid type.""" - FUEL = 0 - FRESH_WATER = 1 - WASTE_WATER = 2 - LIVE_WELL = 3 - OIL = 4 - SEWAGE_WATER = 5 - GASOLINE = 6 - DIESEL = 7 - LPG = 8 - LNG = 9 - HYDRAULIC_OIL = 10 - RAW_WATER = 11 + fuel = 0 + fresh_water = 1 + waste_water = 2 + live_well = 3 + oil = 4 + sewage_water = 5 + gasoline = 6 + diesel = 7 + lpg = 8 + lng = 9 + hydraulic_oil = 10 + raw_water = 11 class tank_status(Enum): """Tank status.""" - OK = 0 - DISCONNECTED = 1 - SHORT_CIRCUITED = 2 - REVERSE_POLARITY = 3 - UNKNOWN = 4 - ERROR = 5 + ok = 0 + disconnected = 1 + short_circuited = 2 + reverse_polarity = 3 + unknown = 4 + error = 5 tank_registers = { @@ -1417,9 +1426,9 @@ class tank_status(Enum): class inverter_mode(Enum): """Inverter mode.""" - ON = 2 - OFF = 4 - ECO = 5 + on = 2 + off = 4 + eco = 5 inverter_info_registers = { @@ -1525,119 +1534,119 @@ class inverter_mode(Enum): class genset_status(Enum): """Genset status.""" - STANDBY = 0 - STARTUP_1 = 1 - STARTUP_2 = 2 - STARTUP_3 = 3 - STARTUP_4 = 4 - STARTUP_5 = 5 - STARTUP_6 = 6 - STARTUP_7 = 7 - RUNNING = 8 - STOPPING = 9 - ERROR = 10 + standby = 0 + startup_1 = 1 + startup_2 = 2 + startup_3 = 3 + startup_4 = 4 + startup_5 = 5 + startup_6 = 6 + startup_7 = 7 + running = 8 + stopping = 9 + error = 10 class genset_errorcode(Enum): """Genset error code.""" - NONE = 0 - AC_L1_VOLTAGE_TOO_LOW = 1 - AC_L1_FREQUENCY_TOO_LOW = 2 - AC_L1_CURRENT_TOO_LOW = 3 - AC_L1_POWER_TOO_LOW = 4 - EMERGENCY_STOP = 5 - SERVO_CURRENT_TOO_LOW = 6 - OIL_PRESSURE_TOO_LOW = 7 - ENGINE_TEMPERATURE_TOO_LOW = 8 - WINDING_TEMPERATURE_TOO_LOW = 9 - EXHAUST_TEMPERATURE_TOO_LOW = 10 - STARTER_CURRENT_TOO_LOW = 13 - GLOW_CURRENT_TOO_LOW = 14 - GLOW_CURRENT_TOO_LOW_DUPLICATE_1 = 15 - FUEL_HOLDING_MAGNET_CURRENT_TOO_LOW = 16 - STOP_SOLENOID_HOLD_COIL_CURRENT_TOO_LOW = 17 - STOP_SOLENOID_PULL_COIL_CURRENT_TOO_LOW = 18 - OPTIONAL_DC_OUT_CURRENT_TOO_LOW = 19 - OUTPUT_5V_VOLTAGE_TOO_LOW = 20 - BOOST_OUTPUT_CURRENT_TOO_LOW = 21 - PANEL_SUPPLY_CURRENT_TOO_HIGH = 22 - STARTER_BATTERY_VOLTAGE_TOO_LOW = 25 - ROTATION_TOO_LOW_STARTUP_ABORTED = 26 - ROTATION_TOO_LOW = 28 - POWER_CONTACTER_CURRENT_TOO_LOW = 29 - AC_L2_VOLTAGE_TOO_LOW = 30 - AC_L2_FREQUENCY_TOO_LOW = 31 - AC_L2_CURRENT_TOO_LOW = 32 - AC_L2_POWER_TOO_LOW = 33 - AC_L3_VOLTAGE_TOO_LOW = 34 - AC_L3_FREQUENCY_TOO_LOW = 35 - AC_L3_CURRENT_TOO_LOW = 36 - AC_L3_POWER_TOO_LOW = 37 - FUEL_TEMPERATURE_TOO_LOW = 62 - FUEL_LEVEL_TOO_LOW = 63 - AC_L1_VOLTAGE_TOO_HIGH = 65 - AC_L1_FREQUENCY_TOO_HIGH = 66 - AC_L1_CURRENT_TOO_HIGH = 67 - AC_L1_POWER_TOO_HIGH = 68 - SERVO_CURRENT_TOO_HIGH = 70 - OIL_PRESSURE_TOO_HIGH = 71 - ENGINE_TEMPERATURE_TOO_HIGH = 72 - WINDING_TEMPERATURE_TOO_HIGH = 73 - EXHAUST_TEMPERATURE_TOO_HIGH = 74 # NOTE modbustcp spec says it should be too low but that is already specified in the low grouping therefore assuming this state is used for HIGH temp - STARTER_CURRENT_TOO_HIGH = 77 # NOTE same as 74 applies here - GLOW_CURRENT_TOO_HIGH = 78 - GLOW_CURRENT_TOO_HIGH_DUPLICATE_1 = 79 - FUEL_HOLDING_MAGNET_CURRENT_TOO_HIGH = 80 - STOP_SOLENOID_HOLD_COIL_CURRENT_TOO_HIGH = 81 - STOP_SOLENOID_PULL_COIL_CURRENT_TOO_HIGH = 82 - OPTIONAL_DC_OUT_CURRENT_TOO_HIGH = 83 - OUTPUT_5V_TOO_HIGH = 84 - BOOST_OUTPUT_CURRENT_TOO_HIGH = 85 - STARTER_BATTERY_VOLTAGE_TOO_HIGH = 89 - ROTATION_TOO_HIGH_STARTUP_ABORTED = 90 - ROTATION_TOO_HIGH = 92 - POWER_CONTACTER_CURRENT_TOO_HIGH = 93 - AC_L2_VOLTAGE_TOO_HIGH = 94 - AC_L2_FREQUENCY_TOO_HIGH = 95 - AC_L2_CURRENT_TOO_HIGH = 96 - AC_L2_POWER_TOO_HIGH = 97 - AC_L3_VOLTAGE_TOO_HIGH = 98 - AC_L3_FREQUENCY_TOO_HIGH = 99 - AC_L3_CURRENT_TOO_HIGH = 100 - AC_L3_POWER_TOO_HIGH = 101 - FUEL_TEMPERATURE_TOO_HIGH = 126 - FUEL_LEVEL_TOO_HIGH = 127 - LOST_CONTROL_UNIT = 130 - LOST_PANEL = 131 - SERVICE_NEEDED = 132 - LOST_THREE_PHASE_MODULE = 133 - LOST_AGT_MODULE = 134 - SYNCHRONIZATION_FAILURE = 135 - INTAKE_AIRFILTER = 137 - LOST_SYNC_MODULE = 139 - LOAD_BALANCE_FAILED = 140 - SYNC_MODE_DEACTIVATED = 141 - ENGINE_CONTROLLER = 142 - ROTATING_FIELD_WRONG = 148 - FUEL_LEVEL_SENSOR_LOST = 149 - INIT_FAILED = 150 - WATCHDOG = 151 - OUTAGE_WINDING = 152 - OUTAGE_EXHAUST = 153 - OUTAGE_CYCLE_HEAD = 154 - INVERTER_OVER_TEMPERATURE = 155 - INVERTER_OVERLOAD = 156 - INVERTER_COMMMUNICATION_LOST = 157 - INVERTER_SYNC_FAILED = 158 - CAN_COMMUNICATION_LOST = 159 - L1_OVERLOAD = 160 - L2_OVERLOAD = 161 - L3_OVERLOAD = 162 - DC_OVERLOAD = 163 - DC_OVERVOLTAGE = 164 - EMERGENCY_STOP_DUPLICATE_1 = 165 - NO_CONNECTION = 166 + none = 0 + ac_l1_voltage_too_low = 1 + ac_l1_frequency_too_low = 2 + ac_l1_current_too_low = 3 + ac_l1_power_too_low = 4 + emergency_stop = 5 + servo_current_too_low = 6 + oil_pressure_too_low = 7 + engine_temperature_too_low = 8 + winding_temperature_too_low = 9 + exhaust_temperature_too_low = 10 + starter_current_too_low = 13 + glow_current_too_low = 14 + glow_current_too_low_duplicate_1 = 15 + fuel_holding_magnet_current_too_low = 16 + stop_solenoid_hold_coil_current_too_low = 17 + stop_solenoid_pull_coil_current_too_low = 18 + optional_dc_out_current_too_low = 19 + output_5v_voltage_too_low = 20 + boost_output_current_too_low = 21 + panel_supply_current_too_high = 22 + starter_battery_voltage_too_low = 25 + rotation_too_low_startup_aborted = 26 + rotation_too_low = 28 + power_contacter_current_too_low = 29 + ac_l2_voltage_too_low = 30 + ac_l2_frequency_too_low = 31 + ac_l2_current_too_low = 32 + ac_l2_power_too_low = 33 + ac_l3_voltage_too_low = 34 + ac_l3_frequency_too_low = 35 + ac_l3_current_too_low = 36 + ac_l3_power_too_low = 37 + fuel_temperature_too_low = 62 + fuel_level_too_low = 63 + ac_l1_voltage_too_high = 65 + ac_l1_frequency_too_high = 66 + ac_l1_current_too_high = 67 + ac_l1_power_too_high = 68 + servo_current_too_high = 70 + oil_pressure_too_high = 71 + engine_temperature_too_high = 72 + winding_temperature_too_high = 73 + exhaust_temperature_too_high = 74 # NOTE modbustcp spec says it should be too low but that is already specified in the low grouping therefore assuming this state is used for HIGH temp + starter_current_too_high = 77 # NOTE same as 74 applies here + glow_current_too_high = 78 + glow_current_too_high_duplicate_1 = 79 + fuel_holding_magnet_current_too_high = 80 + stop_solenoid_hold_coil_current_too_high = 81 + stop_solenoid_pull_coil_current_too_high = 82 + optional_dc_out_current_too_high = 83 + output_5v_too_high = 84 + boost_output_current_too_high = 85 + starter_battery_voltage_too_high = 89 + rotation_too_high_startup_aborted = 90 + rotation_too_high = 92 + power_contacter_current_too_high = 93 + ac_l2_voltage_too_high = 94 + ac_l2_frequency_too_high = 95 + ac_l2_current_too_high = 96 + ac_l2_power_too_high = 97 + ac_l3_voltage_too_high = 98 + ac_l3_frequency_too_high = 99 + ac_l3_current_too_high = 100 + ac_l3_power_too_high = 101 + fuel_temperature_too_high = 126 + fuel_level_too_high = 127 + lost_control_unit = 130 + lost_panel = 131 + service_needed = 132 + lost_three_phase_module = 133 + lost_agt_module = 134 + synchronization_failure = 135 + intake_airfilter = 137 + lost_sync_module = 139 + load_balance_failed = 140 + sync_mode_deactivated = 141 + engine_controller = 142 + rotating_field_wrong = 148 + fuel_level_sensor_lost = 149 + init_failed = 150 + watchdog = 151 + outage_winding = 152 + outage_exhaust = 153 + outage_cycle_head = 154 + inverter_over_temperature = 155 + inverter_overload = 156 + inverter_commmunication_lost = 157 + inverter_sync_failed = 158 + can_communication_lost = 159 + l1_overload = 160 + l2_overload = 161 + l3_overload = 162 + dc_overload = 163 + dc_overvoltage = 164 + emergency_stop_duplicate_1 = 165 + no_connection = 166 genset_registers = { @@ -1689,20 +1698,20 @@ class genset_errorcode(Enum): class temperature_type(Enum): """Temperature type.""" - BATTERY = 0 - FRIDGE = 1 - GENERIC = 2 + battery = 0 + fridge = 1 + generic = 2 class temperature_status(Enum): """Temperature status.""" - OK = 0 - DISCONNECTED = 1 - SHORT_CIRCUITED = 2 - REVERSE_POLARITY = 3 - UNKNOWN = 4 - LOW_BATTERY = 5 + ok = 0 + disconnected = 1 + short_circuited = 2 + reverse_polarity = 3 + unknown = 4 + low_battery = 5 temperature_registers = { @@ -1736,30 +1745,30 @@ class temperature_status(Enum): class digitalinput_state(Enum): """Digital input state.""" - LOW = 0 - HIGH = 1 - OFF = 2 - ON = 3 - NO = 4 - YES = 5 - OPEN = 6 - CLOSED = 7 - ALARM = 8 - OK = 9 - RUNNING = 10 - STOPPED = 11 + low = 0 + high = 1 + off = 2 + on = 3 + no = 4 + yes = 5 + open = 6 + closed = 7 + alarm = 8 + ok = 9 + running = 10 + stopped = 11 class digitalinput_type(Enum): """Digital input type.""" - DOOR = 2 - BILGE_PUMP = 3 - BILGE_ALARM = 4 - BURGLAR_ALARM = 5 - SMOKE_ALARM = 6 - FIRE_ALARM = 7 - CO2_ALARM = 8 + door = 2 + bilge_pump = 3 + bilge_alarm = 4 + burglar_alarm = 5 + smoke_alarm = 6 + fire_alarm = 7 + co2_alarm = 8 digitalinput_registers = { @@ -1783,33 +1792,33 @@ class digitalinput_type(Enum): class generator_runningbyconditioncode(Enum): """Generator running by condition code.""" - STOPPED = 0 - MANUAL = 1 - TEST_RUN = 2 - LOSS_OF_COMMS = 3 - SOC = 4 - AC_LOAD = 5 - BATTERY_CURRENT = 6 - BATTERY_VOLTAGE = 7 - INVERTER_TEMPERATURE = 8 - INVERTER_OVERLOAD = 9 - STOP_ON_AC1 = 10 + stopped = 0 + manual = 1 + test_run = 2 + loss_of_comms = 3 + soc = 4 + ac_load = 5 + battery_current = 6 + battery_voltage = 7 + inverter_temperature = 8 + inverter_overload = 9 + stop_on_ac1 = 10 class generator_state(Enum): """Generator state.""" - STOPPED = 0 - RUNNING = 1 - ERROR = 10 + stopped = 0 + running = 1 + error = 10 class generator_error(Enum): """Generator error.""" - NONE = 0 - REMOTE_DISABLED = 1 - REMOTE_FAULT = 2 + none = 0 + remote_disabled = 1 + remote_fault = 2 generator_registers = { @@ -1860,29 +1869,29 @@ class generator_error(Enum): class evcharger_mode(Enum): """EV charger mode.""" - MANUAL = 0 - AUTO = 1 - SCHEDULED = 2 + manual = 0 + auto = 1 + scheduled = 2 class evcharger_status(Enum): """EV charger status.""" - DISCONNECTED = 0 - CONNECTED = 1 - CHARGING = 2 - CHARGED = 3 - WAITING_FOR_SUN = 4 - WAITING_FOR_RFID = 5 - WAITING_FOR_START = 6 - LOW_SOC = 7 - GROUND_FAULT = 8 - WELDED_CONTACTS = 9 - CP_INPUT_SHORTED = 10 - RESIDUAL_CURRENT_DETECTED = 11 - UNDER_VOLTAGE_DETECTED = 12 - OVERVOLTAGE_DETECTED = 13 - OVERHEATING_DETECTED = 14 + disconnected = 0 + connected = 1 + charging = 2 + charged = 3 + waiting_for_sun = 4 + waiting_for_rfid = 5 + waiting_for_start = 6 + low_soc = 7 + ground_fault = 8 + welded_contacts = 9 + cp_input_shorted = 10 + residual_current_detected = 11 + under_voltage_detected = 12 + overvoltage_detected = 13 + overheating_detected = 14 evcharger_registers = { @@ -1996,50 +2005,50 @@ class evcharger_status(Enum): class alternator_state(Enum): """Alternator state.""" - OFF = 0 - FAULT = 2 - BULK = 3 - ABSORPTION = 4 - FLOAT = 5 - STORAGE = 6 - EQUALIZE = 7 - EXTERNAL_CONTROL = 252 + off = 0 + fault = 2 + bulk = 3 + absorption = 4 + float = 5 + storage = 6 + equalize = 7 + external_control = 252 class alternator_errorcode(Enum): """Alternator error code.""" - HIGH_BATTERY_TEMPERATURE = 12 - HIGH_BATTERY_VOLTAGE = 13 - LOW_BATTERY_VOLTAGE = 14 - VBAT_EXCEEDS_CPB = 15 - HIGH_ALTERNATOR_TEMPERATURE = 21 - ALTERNATOR_OVERSPEED = 22 - INTERNAL_ERROR = 24 - HIGH_FIELD_FET_TEMPERATURE = 41 - SENSOR_MISSING = 42 - LOW_VALT = 43 - HIGH_VOLTAGE_OFFSET = 44 - VALT_EXCEEDS_CPB = 45 - BATTERY_DISCONNECT_REQUEST = 51 - BATTERY_DISCONNECT_REQUEST_DUPLICATE_1 = 52 - BATTERY_INSTANCE_OUT_OF_RANGE = 53 - TOO_MANY_BMSES = 54 - AEBUS_FAULT = 55 - TOO_MANY_VICTRON_DEVICES = 56 - BATTERY_REQUESTED_DISCONNECTION = 58 - BATTERY_REQUESTED_DISCONNECTION_DUPLICATE_1 = 59 - BATTERY_REQUESTED_DISCONNECTION_DUPLICATE_2 = 60 - BATTERY_REQUESTED_DISCONNECTION_DUPLICATE_3 = 61 - BMS_LOST = 91 - FORCED_IDLE = 92 - DCDC_CONVERTER_FAIL = 201 - DCDC_ERROR = 202 - DCDC_ERROR_DUPLICATE_1 = 203 - DCDC_ERROR_DUPLICATE_2 = 204 - DCDC_ERROR_DUPLICATE_3 = 205 - DCDC_ERROR_DUPLICATE_4 = 206 - DCDC_ERROR_DUPLICATE_5 = 207 + high_battery_temperature = 12 + high_battery_voltage = 13 + low_battery_voltage = 14 + vbat_exceeds_cpb = 15 + high_alternator_temperature = 21 + alternator_overspeed = 22 + internal_error = 24 + high_field_fet_temperature = 41 + sensor_missing = 42 + low_valt = 43 + high_voltage_offset = 44 + valt_exceeds_cpb = 45 + battery_disconnect_request = 51 + battery_disconnect_request_duplicate_1 = 52 + battery_instance_out_of_range = 53 + too_many_bmses = 54 + aebus_fault = 55 + too_many_victron_devices = 56 + battery_requested_disconnection = 58 + battery_requested_disconnection_duplicate_1 = 59 + battery_requested_disconnection_duplicate_2 = 60 + battery_requested_disconnection_duplicate_3 = 61 + bms_lost = 91 + forced_idle = 92 + dcdc_converter_fail = 201 + dcdc_error = 202 + dcdc_error_duplicate_1 = 203 + dcdc_error_duplicate_2 = 204 + dcdc_error_duplicate_3 = 205 + dcdc_error_duplicate_4 = 206 + dcdc_error_duplicate_5 = 207 alternator_registers = { @@ -2244,19 +2253,19 @@ class alternator_errorcode(Enum): class multi_mode(Enum): """Multi mode.""" - CHARGER = 1 - INVERTER = 2 - ON = 3 - OFF = 4 + charger = 1 + inverter = 2 + on = 3 + off = 4 class multi_input_type(Enum): """Multi input type.""" - UNUSED = 0 - GRID = 1 - GENSET = 2 - SHORE = 3 + unused = 0 + grid = 1 + genset = 2 + shore = 3 multi_registers = { @@ -2521,11 +2530,11 @@ class multi_input_type(Enum): class register_input_source(Enum): """Input source.""" - UNKNOWN = 0 - GRID = 1 - GENERATOR = 2 - SHORE = 3 - NOT_CONNECTED = 240 + unknown = 0 + grid = 1 + generator = 2 + shore = 3 + not_connected = 240 system_registers = { @@ -2565,9 +2574,9 @@ class register_input_source(Enum): class system_battery_state(Enum): """Battery state.""" - IDLE = 0 - CHARGING = 1 - DISCHARGING = 2 + idle = 0 + charging = 1 + discharging = 2 system_battery_registers = { diff --git a/custom_components/victron/number.py b/custom_components/victron/number.py index c489fd5..4aa98cd 100644 --- a/custom_components/victron/number.py +++ b/custom_components/victron/number.py @@ -33,6 +33,7 @@ CONF_NUMBER_OF_PHASES, CONF_USE_SLIDERS, DOMAIN, + TRANSLATED_ENTITY_TYPES, UINT16_MAX, SliderWriteType, register_info_dict, @@ -209,6 +210,8 @@ class VictronEntityDescription( class VictronNumber(NumberEntity): """Victron number.""" + _attr_has_entity_name = True + description: VictronEntityDescription def __init__( @@ -219,7 +222,10 @@ def __init__( """Initialize the entity.""" self.coordinator = coordinator self.description = description - self._attr_name = f"{description.name}" + if description.key.startswith(TRANSLATED_ENTITY_TYPES): + self._attr_translation_key = description.key + else: + self._attr_name = f"{description.name}" self.data_key = str(self.description.slave) + "." + str(self.description.key) diff --git a/custom_components/victron/select.py b/custom_components/victron/select.py index 1b990be..ce0a904 100644 --- a/custom_components/victron/select.py +++ b/custom_components/victron/select.py @@ -20,7 +20,13 @@ from homeassistant.util import utcnow from .base import VictronWriteBaseEntityDescription -from .const import CONF_ADVANCED_OPTIONS, DOMAIN, SelectWriteType, register_info_dict +from .const import ( + CONF_ADVANCED_OPTIONS, + DOMAIN, + TRANSLATED_ENTITY_TYPES, + SelectWriteType, + register_info_dict, +) from .coordinator import victronEnergyDeviceUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -83,6 +89,8 @@ class VictronEntityDescription( class VictronSelect(CoordinatorEntity, SelectEntity): """Representation of a Victron switch.""" + _attr_has_entity_name = True + description: VictronEntityDescription def __init__( @@ -97,7 +105,10 @@ def __init__( self.coordinator = coordinator self.description: VictronEntityDescription = description # this needs to be changed to allow multiple of the same type - self._attr_name = f"{description.name}" + if description.key.startswith(TRANSLATED_ENTITY_TYPES): + self._attr_translation_key = description.key + else: + self._attr_name = f"{description.name}" self._attr_unique_id = f"{self.description.slave}_{self.description.key}" if self.description.slave not in (100, 225): diff --git a/custom_components/victron/sensor.py b/custom_components/victron/sensor.py index c349e3d..f63bbea 100644 --- a/custom_components/victron/sensor.py +++ b/custom_components/victron/sensor.py @@ -32,6 +32,7 @@ from .const import ( CONF_ADVANCED_OPTIONS, DOMAIN, + TRANSLATED_ENTITY_TYPES, BoolReadEntityType, ReadEntityType, TextReadEntityType, @@ -142,6 +143,8 @@ class VictronEntityDescription(SensorEntityDescription, VictronBaseEntityDescrip class VictronSensor(CoordinatorEntity, SensorEntity): """Representation of a Victron energy sensor.""" + _attr_has_entity_name = True + def __init__( self, coordinator: victronEnergyDeviceUpdateCoordinator, @@ -150,7 +153,10 @@ def __init__( """Initialize the sensor.""" self.description: VictronEntityDescription = description self._attr_device_class = description.device_class - self._attr_name = f"{description.name}" + if description.key.startswith(TRANSLATED_ENTITY_TYPES): + self._attr_translation_key = description.key + else: + self._attr_name = f"{description.name}" self._attr_native_unit_of_measurement = description.native_unit_of_measurement self._attr_state_class = description.state_class self.entity_type = description.entity_type @@ -214,6 +220,7 @@ def device_info(self) -> entity.DeviceInfo: return entity.DeviceInfo( identifiers={(DOMAIN, self.unique_id.split("_")[0])}, name=self.unique_id.split("_")[1], + translation_key=self.unique_id.split("_")[1], model=self.unique_id.split("_")[0], manufacturer="victron", # to be dynamically set for gavazzi and redflow ) diff --git a/custom_components/victron/strings.json b/custom_components/victron/strings.json deleted file mode 100644 index 1355ec9..0000000 --- a/custom_components/victron/strings.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "config": { - "step": { - "user": { - "data": { - "host": "[%key:common::config_flow::data::host%]", - "port": "[%key:common::config_flow::data::port%]", - "interval": "[%key:common::config_flow::data::interval%]", - "advanced": "%key:common::config_flow::data::advanced%" - } - }, - "advanced": { - "data": { - "use_sliders": "[%key:common::config_flow::data::use_sliders%]", - "number_of_phases": "[%key:common::config_flow::data::number_of_phases%]", - "ac_voltage": "[%key:common::config_flow::data::ac_voltage%]", - "dc_voltage": "[%key:common::config_flow::data::dc_voltage%]", - "dc_current": "[%key:common::config_flow::data::ac_current%]", - "ac_current": "[%key:common::config_flow::data::dc_current%]" - } - } - }, - "error": { - "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", - "invalid_auth": "[%key:common::config_flow::error::invalid_auth%]", - "unknown": "[%key:common::config_flow::error::unknown%]" - }, - "abort": { - "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" - } - } -} diff --git a/custom_components/victron/switch.py b/custom_components/victron/switch.py index 2e496d5..3e6cdd9 100644 --- a/custom_components/victron/switch.py +++ b/custom_components/victron/switch.py @@ -18,7 +18,13 @@ from homeassistant.helpers.update_coordinator import CoordinatorEntity from .base import VictronWriteBaseEntityDescription -from .const import CONF_ADVANCED_OPTIONS, DOMAIN, SwitchWriteType, register_info_dict +from .const import ( + CONF_ADVANCED_OPTIONS, + DOMAIN, + TRANSLATED_ENTITY_TYPES, + SwitchWriteType, + register_info_dict, +) from .coordinator import victronEnergyDeviceUpdateCoordinator _LOGGER = logging.getLogger(__name__) @@ -78,6 +84,8 @@ class VictronEntityDescription( class VictronSwitch(CoordinatorEntity, SwitchEntity): """Representation of a Victron switch.""" + _attr_has_entity_name = True + def __init__( self, hass: HomeAssistant, @@ -87,7 +95,10 @@ def __init__( """Initialize the switch.""" self.coordinator = coordinator self.description: VictronEntityDescription = description - self._attr_name = f"{description.name}" + if description.key.startswith(TRANSLATED_ENTITY_TYPES): + self._attr_translation_key = description.key + else: + self._attr_name = f"{description.name}" self.data_key = str(self.description.slave) + "." + str(self.description.key) self._attr_unique_id = f"{description.slave}_{self.description.key}" @@ -124,7 +135,7 @@ def is_on(self) -> bool: self.description.slave, self.description.key, ) - return cast(bool, data) + return cast("bool", data) @property def available(self) -> bool: diff --git a/custom_components/victron/translations/de.json b/custom_components/victron/translations/de.json index 23f467d..3f06104 100644 --- a/custom_components/victron/translations/de.json +++ b/custom_components/victron/translations/de.json @@ -69,5 +69,601 @@ } } } + }, + "comment_info": "translations from https://github.com/victronenergy/gui-v2/tree/main/i18n", + "device": { + "battery": { "name": "Batterie" }, + "grid": { "name": "Netz" }, + "pvinverter": { "name": "PV-Wechselrichter" }, + "settings": { "name": "Einstellungen" }, + "vebus": { "name": "VE.Bus" } + }, + "entity": { + "sensor": { + "grid_L1_power": { "name": "AC-Phase L1 Leistung" }, + "grid_L2_power": { "name": "AC-Phase L2 Leistung" }, + "grid_L3_power": { "name": "AC-Phase L3 Leistung"}, + "grid_L1_energy_forward": { "name": "Energie L1 eingespeist"}, + "grid_L2_energy_forward": { "name": "Energie L2 eingespeist"}, + "grid_L3_energy_forward": { "name": "Energie L3 eingespeist"}, + "grid_L1_energy_reverse": { "name": "Energie L1 bezogen"}, + "grid_L2_energy_reverse": { "name": "Energie L2 bezogen"}, + "grid_L3_energy_reverse": { "name": "Energie L3 bezogen"}, + "grid_serial": { "name": "Seriennummer"}, + "grid_L1_voltage": { "name": "AC-Phase L1 Spannung"}, + "grid_L1_current": { "name": "AC-Phase L1 Stromstärke"}, + "grid_L2_voltage": { "name": "AC-Phase L2 Spannung"}, + "grid_L2_current": { "name": "AC-Phase L2 Stromstärke"}, + "grid_L3_voltage": { "name": "AC-Phase L3 Spannung"}, + "grid_L3_current": { "name": "AC-Phase L3 Stromstärke"}, + "grid_L1_energy_forward_total": { "name": "Energie L1 Gesamt eingespeist"}, + "grid_L2_energy_forward_total": { "name": "Energie L2 Gesamt eingespeist"}, + "grid_L3_energy_forward_total": { "name": "Energie L3 Gesamt eingespeist"}, + "grid_L1_energy_reverse_total": { "name": "Energie L1 Gesamt bezogen"}, + "grid_L2_energy_reverse_total": { "name": "Energie L2 Gesamt bezogen"}, + "grid_L3_energy_reverse_total": { "name": "Energie L3 Gesamt bezogen"}, + "grid_energy_forward_total": { "name": "Energie Gesamt eingespeist"}, + "grid_energy_reverse_total": { "name": "Energie Gesamt bezogen"}, + + "vebus_activein_L1_voltage": { "name": "AC-Eingang L1: Spannung"}, + "vebus_activein_L2_voltage": { "name": "AC-Eingang L2: Spannung"}, + "vebus_activein_L3_voltage": { "name": "AC-Eingang L3: Spannung"}, + "vebus_activein_L1_current": { "name": "AC-Eingang L1: Stromstärke"}, + "vebus_activein_L2_current": { "name": "AC-Eingang L2: Stromstärke"}, + "vebus_activein_L3_current": { "name": "AC-Eingang L3: Stromstärke"}, + "vebus_activein_L1_frequency": { "name": "AC-Eingang L1: Frequenz"}, + "vebus_activein_L2_frequency": { "name": "AC-Eingang L2: Frequenz"}, + "vebus_activein_L3_frequency": { "name": "AC-Eingang L3: Frequenz"}, + "vebus_activein_L1_power": { "name": "AC-Eingang L1: Leistung"}, + "vebus_activein_L2_power": { "name": "AC-Eingang L2: Leistung"}, + "vebus_activein_L3_power": { "name": "AC-Eingang L3: Leistung"}, + "vebus_out_L1_voltage": { "name": "AC-Ausgang L1: Spannung"}, + "vebus_out_L2_voltage": { "name": "AC-Ausgang L2: Spannung"}, + "vebus_out_L3_voltage": { "name": "AC-Ausgang L3: Spannung"}, + "vebus_out_L1_current": { "name": "AC-Ausgang L1: Stromstärke"}, + "vebus_out_L2_current": { "name": "AC-Ausgang L2: Stromstärke"}, + "vebus_out_L3_current": { "name": "AC-Ausgang L3: Stromstärke"}, + "vebus_out_L1_frequency": { "name": "AC-Ausgang L1: Frequenz"}, + "vebus_activein_currentlimit": { "name": "Netzstrombegrenzung"}, + "vebus_out_L1_power": { "name": "AC-Ausgang L1: Leistung"}, + "vebus_out_L2_power": { "name": "AC-Ausgang L2: Leistung"}, + "vebus_out_L3_power": { "name": "AC-Ausgang L3: Leistung"}, + "vebus_battery_voltage": { "name": "Batteriespannung"}, + "vebus_battery_current": { "name": "Batteriestrom"}, + "vebus_numberofphases": { "name": "Summe aller Phasen"}, + "vebus_activein_activeinput": { + "name": "Aktiver AC-Eingang", + "state": { + "ac_input_1": "AC-Eingang 1", + "ac_input_2": "AC-Eingang 2", + "disconnected": "Getrennt" + } + }, + "vebus_soc": { "name": "Ladezustand"}, + "vebus_state": { + "name": "Zustand", + "state": { + "off": "Aus", + "low_power": "Niedrige Leistung", + "fault": "Störungszustand", + "bulk": "Bulkladung", + "absorption": "Absorptionsladung", + "float": "Erhaltungsladung", + "storage": "Lagerungsmodus", + "equalize": "Ausgleichsladung", + "passthru": "Durchleitung", + "inverting": "Inverting", + "power_assist": "Unterstützen", + "power_supply": "Stromversorgungsmodus", + "external_control": "Externe Steuerung" + } + }, + "vebus_error": { "name": "Fehler"}, + "vebus_mode": { + "name": "Modus", + "state": { + "charger": "Nur Ladegerät", + "inverter": "Nur Wechselrichter", + "on": "Ein", + "off": "Aus" + } + }, + "vebus_alarm_hightemperature": { "name": "Alarmstatus: Temperatur"}, + "vebus_alarm_lowbattery": { "name": "Alarmstatus: Batteriespannug niedrig"}, + "vebus_alarm_overload": { "name": "Alarmstatus: Überlastung"}, + "vebus_L1_acpowersetpoint": { "name": "Sollwert Netz L1"}, + "vebus_disablecharge": { "name": "Ladegerät deaktiviert"}, + "vebus_disablefeedin": { "name": "Netzeinspeiung deaktiviert"}, + "vebus_L2_acpowersetpoint": { "name": "Sollwert Netz L2"}, + "vebus_L3_acpowersetpoint": { "name": "Sollwert Netz L3"}, + "vebus_alarm_temperaturesensor": { "name": "Alarmstatus: Temperatursensor"}, + "vebus_alarm_voltagesensor": { "name": "Alarmstatus: Spannungssensor"}, + "vebus_alarm_L1_higtemperature": { "name": "Alarmstatus: L1 Temperatur"}, + "vebus_alarm_L1_lowbattery": { "name": "Alarmstatus: L1 Batteriespannug niedrig"}, + "vebus_alarm_L1_overload": { "name": "Alarmstatus: L1 Überlastung"}, + "vebus_alarm_L1_ripple": { "name": "Alarmstatus: L1 Restwelligkeit"}, + "vebus_alarm_L2_higtemperature": { "name": "Alarmstatus: L2 Temperatur"}, + "vebus_alarm_L2_lowbattery": { "name": "Alarmstatus: L2 Batteriespannug niedrig"}, + "vebus_alarm_L2_overload": { "name": "Alarmstatus: L2 Überlastung"}, + "vebus_alarm_L2_ripple": { "name": "Alarmstatus: L2 Restwelligkeit"}, + "vebus_alarm_L3_higtemperature": { "name": "Alarmstatus: L3 Temperatur"}, + "vebus_alarm_L3_lowbattery": { "name": "Alarmstatus: L3 Batteriespannug niedrig"}, + "vebus_alarm_L3_overload": { "name": "Alarmstatus: L3 Überlastung"}, + "vebus_alarm_L3_ripple": { "name": "Alarmstatus: L3 Restwelligkeit"}, + "vebus_pvinverter_disable": { "name": "PV-Wechselrichter deaktiviert"}, + "vebus_bms_allowtocharge": { "name": "BMS: Laden erlaubt"}, + "vebus_bms_allowtodischarge": { "name": "BMS: Entladen erlaubt"}, + "vebus_bms_bmsexpected": { "name": "BMS: Erwartet"}, + "vebus_bms_error": { "name": "BMS: Fehler"}, + "vebus_battery_temperature": { "name": "Batterietemperatur"}, + "vebus_systemreset": { "name": "System zurücksetzen"}, + "vebus_alarm_phaserotation": { "name": "Alarmstatus: Phasendrehung"}, + "vebus_alarm_gridlost": { "name": "Alarmstatus: Netzverbindung"}, + "vebus_donotfeedinovervoltage": { "name": "Überspannung nicht einspeisen"}, + "vebus_L1_maxfeedinpower": { "name": "Maximale Einspeisung L1"}, + "vebus_L2_maxfeedinpower": { "name": "Maximale Einspeisung L2"}, + "vebus_L3_maxfeedinpower": { "name": "Maximale Einspeisung L3"}, + "vebus_state_ignoreacin1": { "name": "AC-Eingang 1 ignorieren"}, + "vebus_state_ignoreacin2": { "name": "AC-Eingang 2 ignorieren"}, + "vebus_targetpowerismaxfeedin": { "name": "Ziel-Leistung = Max. Einspeisung"}, + "vebus_fixsolaroffsetto100mv": { "name": "Solar-Offset = 100mV"}, + "vebus_sustain": { "name": "Erhaltung"}, + "vebus_acin1toacout": { "name": "AC-Eingang 1 zu AC-Ausgang"}, + "vebus_acin1toinverter": { "name": "AC-Eingang 1 zu PV-Wechselrichter"}, + "vebus_acin2toacout": { "name": "AC-Eingang 2 zu AC-Ausgang"}, + "vebus_acin2toinverter": { "name": "AC-Eingang 2 zu PV-Wechselrichter"}, + "vebus_acouttoacin1": { "name": "AC-Ausgang zu AC-Eingang 1"}, + "vebus_acouttoacin2": { "name": "AC-Ausgang zu AC-Eingang 2"}, + "vebus_invertertoacin1": { "name": "PV-Wechselrichter zu AC-Eingang 1"}, + "vebus_invertertoacin2": { "name": "PV-Wechselrichter zu AC-Eingang 2"}, + "vebus_invertertoacout": { "name": "PV-Wechselrichter zu AC-Ausgang"}, + "vebus_outtoinverter": { "name": "AC-Ausgang zu PV-Wechselrichter"}, + + "battery_voltage": { "name": "Batteriespannung"}, + "battery_starter_voltage": { "name": "Starterspannung"}, + "battery_current": { "name": "Batteriestrom"}, + "battery_temperature": { "name": "Batterietemperatur"}, + "battery_midvoltage": { "name": "Mittlere Batteriespannung"}, + "battery_midvoltagedeviation": { "name": "Mittelpunktabweichung Batteriespannung"}, + "battery_consumedamphours": { "name": "Verbrauchte Amperestunden"}, + "battery_soc": { "name": "SOC Batterie"}, + "battery_alarm": { "name": "Alarm"}, + "battery_alarm_lowvoltage": { "name": "Alarmstatus: Batteriespannug niedrig"}, + "battery_alarm_highvoltage": { "name": "Alarmstatus: Hohe Zellspannung"}, + "battery_alarm_lowstartervoltage": { "name": "Alarmstatus: Starterspannung niedrig"}, + "battery_alarm_highstartervoltage": { "name": "Alarmstatus: Starterspannung hoch"}, + "battery_alarm_lowsoc": { "name": "Alarmstatus: Niedriger SOC"}, + "battery_alarm_lowtemperature": { "name": "Alarmstatus: Temperatur niedrig"}, + "battery_alarm_hightemperature": { "name": "Alarmstatus: Temperatur hoch"}, + "battery_alarm_midvoltage": { "name": "Alarmstatus: Mittelpunktspannung"}, + "battery_alarm_lowfusedvoltage": { "name": "Alarmstatus: Niedrigste Sicherungs-Spannung"}, + "battery_alarm_highfusedvoltage": { "name": "Alarmstatus: Höchste Sicherungs-Spannung"}, + "battery_alarm_fuseblown": { "name": "Alarmstatus: Sicherung durchgebrannt"}, + "battery_alarm_highinternaltemperature": { "name": "Alarmstatus: Innentemperatur hoch"}, + "battery_relay": { "name": "Relais"}, + "battery_history_deepestdischarge": { "name": "Verlauf: Tiefste Entladung"}, + "battery_history_lastdischarge": { "name": "Verlauf: Letzte Entladung"}, + "battery_history_averagedischarge": { "name": "Verlauf: Durchnittliche Entladung"}, + "battery_history_chargecycles": { "name": "Verlauf: Ladezyklen insgesamt"}, + "battery_history_fulldischarges": { "name": "Verlauf: Anzahl der vollständigen Entladungen"}, + "battery_history_totalahdrawn": { "name": "Verlauf: Gesamte bezogene Ah"}, + "battery_history_minimumvoltage": { "name": "Verlauf: Niedrigste Spannung"}, + "battery_history_maximumvoltage": { "name": "Verlauf: Höchste Spannung"}, + "battery_history_timesincelastfullcharge": { "name": "Verlauf: Zeit seit letzter vollständiger Aufladung"}, + "battery_history_automaticsyncs": { "name": "Verlauf: Anzahl Synchronisierungen"}, + "battery_history_lowvoltagealarms": { "name": "Verlauf: Alarme niedriger Zellspannung"}, + "battery_history_highvoltagealarms": { "name": "Verlauf: Alarme hoher Zellspannung"}, + "battery_history_lowstartervoltagealarms": { "name": "Verlauf: Alarme niedriger Starterbatteriespannung"}, + "battery_history_highstartervoltagealarms": { "name": "Verlauf: Alarme hoher Starterbatteriespannung"}, + "battery_history_minimumstartervoltage": { "name": "Verlauf: Mindestspannung der Starterbatterie"}, + "battery_history_maximumstartervoltage": { "name": "Verlauf: Maximale Spannung der Starterbatterie"}, + "battery_history_lowfusedvoltagealarms": { "name": "Verlauf: Alarme niedriger Sicherungs-Spannung"}, + "battery_history_highfusedvoltagealarms": { "name": "Verlauf: Alarme hoher Sicherungs-Spannung"}, + "battery_history_minimumfusedvoltage": { "name": "Verlauf: Niedrigste Sicherungs-Spannung"}, + "battery_history_maximumfusedvoltage": { "name": "Verlauf: Höchste Sicherungs-Spannung"}, + "battery_history_dischargedenergy": { "name": "Verlauf: Entladene Energie"}, + "battery_history_chargedenergy": { "name": "Verlauf: Geladene Energie"}, + "battery_timetogo": { "name": "Restlaufzeit"}, + "battery_soh": { "name": "Alterungszustand"}, + "battery_info_maxchargevoltage": { "name": "Maximale Ladespannung"}, + "battery_info_batterylowvoltage": { "name": "Niedrige Batteriespannung"}, + "battery_info_maxchargecurrent": { "name": "Maximaler Ladestrom"}, + "battery_info_maxdischargecurrent": { "name": "Maximaler Entladestrom"}, + "battery_capacity": { "name": "Verfügbare Kapazität"}, + "battery_diagnostics_lasterror_1_time": { "name": "Zeitpunkt Letzter Fehler"}, + "battery_diagnostics_lasterror_2_time": { "name": "Zeitpunkt Vorletzter Fehler"}, + "battery_diagnostics_lasterror_3_time": { "name": "Zeitpunkt Drittletzter Fehler"}, + "battery_diagnostics_lasterror_4_time": { "name": "Zeitpunkt Viertletzter Fehler"}, + "battery_system_mincelltemperature": { "name": "Minimale Zellentemperatur"}, + "battery_system_maxcelltemperature": { "name": "Maximale Zellentemperatur"}, + "battery_alarm_higchargecurrent": { "name": "Alarmstatus: Hoher Ladestrom"}, + "battery_alarm_highdischargecurrent": { "name": "Alarmstatus: Hoher Entladestrom"}, + "battery_alarm_cellimbalance": { "name": "Alarmstatus: Zellenungleichgewicht"}, + "battery_alarm_internalfailure": { "name": "Alarmstatus: Interner Fehler"}, + "battery_alarm_highchargetemperature": { "name": "Alarmstatus: Hohe Ladetemperatur"}, + "battery_alarm_lowchargetemperature": { "name": "Alarmstatus: Niedrige Ladetemperatur"}, + "battery_alarm_lowcellvoltage": { "name": "Alarmstatus: Niedrige Zellspannung"}, + "battery_state": { + "name": "Status", + "state": { + "wait_start_init": "Initialisierung: Warte auf Startbeginn", + "before_boot_init": "Initialisierung: Vor dem Startvorgang", + "before_boot_delay_init": "Initialisierung: Verzögerung vor dem Startvorgang", + "wait_boot_init": "Initialisierung: Warte auf Startvorgang", + "initializing": "Initialisierung", + "battery_voltage_measure_init": "Initialisierung: Spannungsmessung", + "battery_calculate_voltage_init": "Initialisierung: Berechne Spannung", + "wait_bus_voltage_init": "Initialisierung: Warte auf Bus-Spannung", + "wait_lynx_shunt_init": "Initialisierung: Lynx Shunt", + "running": "In Betrieb", + "error": "Fehler", + "unused": "Ungenutzt", + "shutdown": "Heruntergefahren", + "slave_updating": "Aktualisierung", + "standby": "Standby", + "going_to_run": "Wird ausgeführt werden", + "pre_charging": "Vorabaufladung" + } + }, + "battery_error": { + "name": "Fehler", + "state": { + "none": "Kein Fehler", + "battery_init_error": "Fehler Batterieinitialisierung", + "no_batteries_connected": "Keine Batterien angeschlossen", + "unknown_battery_connected": "Batterie unbekannt", + "different_battery_type": "Unterschiedliche Batterietypen", + "number_of_batteries_incorrect": "Anz. d. Batterien falsch", + "lynx_shunt_not_found": "Lynx Shunt nicht gefunden", + "battery_measure_error": "Fehler Batteriemessung", + "internal_calculation_error": "Interner Berechnungsfehler", + "batteries_in_series_not_ok": "Anz. d. Batterien in Reihe falsch", + "number_of_batteries_incorrect_duplicate_1": "Anz. d. Batterien falsch - Duplikat", + "hardware_error": "Hardwarefehler", + "watchdog_error": "Watchdog-Fehler", + "over_voltage": "Überspannung", + "under_voltage": "Unterspannung", + "over_temperature": "Übertemperatur", + "under_temperature": "Untertemperatur", + "hardware_fault": "Hardwarestörung", + "standby_shutdown": "Standby/Abschaltung", + "pre_charge_charge_error": "Vorladen: Ladefehler", + "safety_contactor_check_error": "Fehler Prüfung Sicherheitsschütz", + "pre_charge_discharge_error": "Vorladen: Entladefehler", + "adc_error": "ADC-Fehler", + "slave_error": "Slave-Fehler", + "slave_warning": "Slave-Warnung", + "pre_charge_error": "Fehler Vorladen", + "safety_contactor_error": "Fehler Sicherheitsschütz", + "over_current": "Überstrom", + "slave_update_failed": "Slave-Update fehlgeschlagen", + "slave_update_unavailable": "Slave-Update nicht verfügbar", + "calibration_data_lost": "Kallibrierungsdaten verloren", + "settings_invalid": "Einstellungen ungültig", + "bms_cable": "BMS Kabelfehler", + "reference_failure": "Referenzspannungsfehler", + "wrong_system_voltage": "Falsche Systemspannung", + "pre_charge_timeout": "Vorladung Zeitüberschreitung" + } + }, + "battery_system_switch": { "name": "Systemschalter"}, + "battery_balancing": { "name": "Ausgleich läuft"}, + "battery_system_numberofbatteries": { "name": "Anzahl von Batterien"}, + "battery_system_batteriesparallel": { "name": "Batterien parallel"}, + "battery_system_batteriesseries": { "name": "Batterien in Serie"}, + "battery_system_numberofcellsperbattery": { "name": "Zellen pro Batterie"}, + "battery_system_mincellvoltage": { "name": "Niedrigste Zellenspannung"}, + "battery_system_maxcellvoltage": { "name": "Höchste Zellenspannung"}, + "battery_diagnostics_shutdownsdueerror": { "name": "Abschaltungen aufgrund von Fehlern"}, + "battery_diagnostics_lasterror_1": { "name": "Letzter Fehler"}, + "battery_diagnostics_lasterror_2": { "name": "Vorletzter Fehler"}, + "battery_diagnostics_lasterror_3": { "name": "Drittletzter Fehler"}, + "battery_diagnostics_lasterror_4": { "name": "Viertletzter Fehler"}, + "battery_io_allowtocharge": { "name": "Laden zulassen"}, + "battery_io_allowtodischarge": { "name": "Entladen zulassen"}, + "battery_io_externalrelay": { "name": "Externes Relais"}, + "battery_history_minimumcellvoltage": { "name": "Verlauf: Mindestzellenspannung"}, + "battery_history_maximumcellvoltage": { "name": "Verlauf: Höchstzellenspannung"}, + "battery_system_numberofmodulesoffline": { "name": "Batteriemodule offline"}, + "battery_system_numberofmodulesonline": { "name": "Batteriemodule online"}, + "battery_system_numberofmodulesblockingcharge": { "name": "Anzahl der Module, die die Ladung blockieren"}, + "battery_system_numberofmodulesblockingdischarge": { "name": "Anzahl der Module, die die Entladung blockieren"}, + "battery_system_minvoltagecellid": { "name": "Niedrigste Zellenspannung ID"}, + "battery_system_maxvoltagecellid": { "name": "Höchste Zellenspannung ID"}, + "battery_system_mintemperaturecellid": { "name": "Minimale Zellentemperatur ID"}, + "battery_system_maxtemperaturecellid": { "name": "Maximale Zellentemperatur ID"}, + + "pvinverter_position": { + "name": "Position", + "state": { + "ac_input_1": "AC-Eingang 1", + "ac_output": "AC-Ausgang", + "ac_input_2": "AC-Eingang 2" + } + }, + "pvinverter_L1_voltage": { "name": "AC-Phase L1 Spannung"}, + "pvinverter_L1_current": { "name": "AC-Phase L1 Stromstärke"}, + "pvinverter_L1_power": { "name": "AC-Phase L1 Leistung"}, + "pvinverter_L1_energy_forward": { "name": "Energie L1 erzeugt"}, + "pvinverter_L2_voltage": { "name": "AC-Phase L2 Spannung"}, + "pvinverter_L2_current": { "name": "AC-Phase L2 Stromstärke"}, + "pvinverter_L2_power": { "name": "AC-Phase L2 Leistung"}, + "pvinverter_L2_energy_forward": { "name": "Energie L2 erzeugt"}, + "pvinverter_L3_voltage": { "name": "AC-Phase L3 Spannung"}, + "pvinverter_L3_current": { "name": "AC-Phase L3 Stromstärke"}, + "pvinverter_L3_power": { "name": "AC-Phase L3 Leistung"}, + "pvinverter_L3_energy_forward": { "name": "Energie L3 erzeugt"}, + "pvinverter_serial": { "name": "Seriennummer"}, + "pvinverter_L1_energy_forward_total": { "name": "Energie L1 Gesamt erzeugt"}, + "pvinverter_L2_energy_forward_total": { "name": "Energie L2 Gesamt erzeugt"}, + "pvinverter_L3_energy_forward_total": { "name": "Energie L3 Gesamt erzeugt"}, + "pvinverter_power_total": { "name": "AC Gesamt Leistung"}, + "pvinverter_power_max_capacity": { "name": "Maximale Leistung"}, + "pvinverter_powerlimit": { "name": "Leistungsbegrenzung"}, + + "comment_info: TODO - Missing Translations": "motordrive, charger, gps, tank, inverter, genset, temperature, pulsemeter, digitalinput, generator, meteo, evcharger, acloads, fuelcell, alternator, dcsource, dcload, dcsystem, multi", + + "settings_ess_acpowersetpoint": { "name": "ESS: Sollwert Netz"}, + "settings_ess_maxchargepercentage": { "name": "ESS: Maximale Ladung"}, + "settings_ess_maxdischargepercentage": { "name": "ESS: Maximale Entladung"}, + "settings_ess_acpowersetpoint2": { "name": "ESS: Sollwert Netz 2"}, + "settings_ess_maxdischargepower": { "name": "ESS: Maximaler Entladestrom"}, + "settings_ess_maxchargecurrent": { "name": "ESS: Maximaler Ladestrom"}, + "settings_ess_maxfeedinpower": { "name": "ESS: Maximale Einspeisung"}, + "settings_ess_overvoltagefeedin": { "name": "ESS: DC-gekoppelte PV - Überschusseinspeisung"}, + "settings_ess_preventfeedback": { "name": "ESS: AC-gekoppelte PV - Überschusseinspeisung"}, + "settings_ess_feedinpowerlimit": { "name": "ESS: Einspeisebegrenzung aktiv"}, + "settings_systemsetup_maxchargevoltage": { "name": "ESS: Maximale Ladespannung"}, + "settings_ess_batterylife_state": { + "name": "ESS: BatteryLife Status", + "state": { + "bl_disabled_duplicate_1": "BatteryLife Deaktiviert - Duplikat 1", + "restarting": "Neustart", + "self_consumption": "Eigenverbrauch", + "self_consumption_duplicate_1": "Eigenverbrauch - Duplikat 1", + "self_consumption_duplicate_2": "Eigenverbrauch - Duplikat 2", + "discharge_disabled": "Entladen Deaktiviert", + "force_charge": "Ladung erzwungen", + "sustain": "Erhaltung", + "low_soc_recharge": "Niedriger SOC - Aufladen", + "keep_batteries_charged": "Batterien im gelad. Zustand halten", + "bl_disabled": "BatteryLife Deaktiviert", + "bl_disabled_low_soc": "BatteryLife Deaktiviert: Niedriger SOC", + "bl_disabled_loc_soc_recharge": "BatteryLife Deaktiviert: Niedriger SOC - Aufladen" + } + }, + "settings_ess_batterylife_minimumsoc": { "name": "ESS: SOC Mindestwert (außer bei Netzausfall)"}, + "settings_ess_mode": { + "name": "ESS: Modus", + "state": { + "self_consumption_with_battery_life": "Optimiert für die Batterielebensdauer", + "self_consumption": "Optimiert ohne BatteryLife", + "keep_charged": "Batterien im gelad. Zustand halten", + "external_control": "Externe Steuerung" + } + }, + "settings_ess_batterylife_soclimit": { "name": "ESS: BatteryLife SOC Limit"}, + + "system_serial": { "name": "System: Seriennummer"}, + "system_relay_0": { "name": "System: Relais 1 Ein"}, + "system_relay_1": { "name": "System: Relais 2 Ein"}, + "system_pvonoutput_L1": { "name": "System: PV auf AC-Ausgang L1"}, + "system_pvonoutput_L2": { "name": "System: PV auf AC-Ausgang L2"}, + "system_pvonoutput_L3": { "name": "System: PV auf AC-Ausgang L3"}, + "system_pvongrid_L1": { "name": "System: PV auf Netz L1"}, + "system_pvongrid_L2": { "name": "System: PV auf Netz L2"}, + "system_pvongrid_L3": { "name": "System: PV auf Netz L3"}, + "system_pvongenset_L1": { "name": "System: PV auf Genset L1"}, + "system_pvongenset_L2": { "name": "System: PV auf Genset L2"}, + "system_pvongenset_L3": { "name": "System: PV auf Genset L3"}, + "system_consumption_L1": { "name": "System: Verbrauch L1"}, + "system_consumption_L2": { "name": "System: Verbrauch L2"}, + "system_consumption_L3": { "name": "System: Verbrauch L3"}, + "system_grid_L1": { "name": "System: Netz L1"}, + "system_grid_L2": { "name": "System: Netz L2"}, + "system_grid_L3": { "name": "System: Netz L3"}, + "system_genset_L1": { "name": "System: Genset L1"}, + "system_genset_L2": { "name": "System: Genset L2"}, + "system_genset_L3": { "name": "System: Genset L3"}, + "system_input_source": { + "name": "System: Eingang/Quelle", + "state": { + "unknown": "Unbekannt", + "grid": "Netz", + "generator": "Generator", + "shore": "Land", + "not_connected": "Nicht verbunden" + } + }, + "system_battery_voltage": { "name": "System: Batteriespannung"}, + "system_battery_current": { "name": "System: Batteriestrom"}, + "system_battery_power": { "name": "System: Batterieleistung"}, + "system_battery_soc": { "name": "System: Batterie-SOC"}, + "system_battery_state": { + "name": "System: Batteriezustand", + "state": { + "idle": "Idle", + "charging": "Aufladen", + "discharging": "Entladen" + } + }, + "system_battery_amphours": { "name": "System: Batteriekapazität"}, + "system_battery_time_to_go": { "name": "System: Batterie Restlaufzeit"}, + "system_dc_pv_power": { "name": "System: DC PV-Leistung"}, + "system_dc_pv_current": { "name": "System: DC PV-Stromstärke"}, + "system_charger_power": { "name": "System: Leistung Ladegerät"}, + "system_system_power": { "name": "System: Leistung System"}, + "system_bus_charge_current": { "name": "System: Bus Ladestrom"}, + "system_bus_charge_power": { "name": "System: Bus Ladeleistung"} + + }, + "binary_sensor": { + "vebus_bms_allowtocharge": { + "name": "BMS: Laden erlaubt", + "state": { + "on": "An", + "off": "Aus" + } + }, + "vebus_bms_allowtodischarge": { + "name": "BMS: Entladen erlaubt", + "state": { + "on": "An", + "off": "Aus" + } + }, + "vebus_bms_bmsexpected": { + "name": "BMS: Erwartet", + "state": { + "on": "An", + "off": "Aus" + } + }, + "vebus_bms_error": { + "name": "BMS: Fehler", + "state": { + "on": "An", + "off": "Aus" + } + }, + "vebus_state_ignoreacin1": { + "name": "AC-Eingang 1 ignorieren", + "state": { + "on": "An", + "off": "Aus" + } + }, + "vebus_state_ignoreacin2": { + "name": "AC-Eingang 2 ignorieren", + "state": { + "on": "An", + "off": "Aus" + } + }, + "vebus_sustain": { + "name": "Erhaltung", + "state": { + "on": "An", + "off": "Aus" + } + }, + + "battery_system_switch": { + "name": "Systemschalter", + "state": { + "on": "An", + "off": "Aus" + } + }, + "battery_balancing": { + "name": "Ausgleich läuft", + "state": { + "on": "An", + "off": "Aus" + } + }, + "battery_io_allowtocharge": { + "name": "Laden zulassen", + "state": { + "on": "An", + "off": "Aus" + } + }, + "battery_io_allowtodischarge": { + "name": "Entladen zulassen", + "state": { + "on": "An", + "off": "Aus" + } + }, + "battery_io_externalrelay": { + "name": "Externes Relais", + "state": { + "on": "An", + "off": "Aus" + } + }, + "settings_ess_feedinpowerlimit": { + "name": "ESS: Einspeisebegrenzung aktiv", + "state": { + "on": "An", + "off": "Aus" + } + } + }, + "button": { + "vebus_systemreset": { "name": "System zurücksetzen"} + }, + "number": { + "vebus_activein_currentlimit": { "name": "Netzstrombegrenzung"}, + "vebus_soc": { "name": "Ladezustand"}, + "vebus_L1_acpowersetpoint": { "name": "Sollwert Netz L1"}, + "vebus_L2_acpowersetpoint": { "name": "Sollwert Netz L2"}, + "vebus_L3_acpowersetpoint": { "name": "Sollwert Netz L3"}, + "vebus_L1_maxfeedinpower": { "name": "Maximale Einspeisung L1"}, + "vebus_L2_maxfeedinpower": { "name": "Maximale Einspeisung L2"}, + "vebus_L3_maxfeedinpower": { "name": "Maximale Einspeisung L3"}, + "pvinverter_powerlimit": { "name": "Leistungsbegrenzung"}, + "settings_ess_acpowersetpoint": { "name": "ESS: Sollwert Netz"}, + "settings_ess_maxchargepercentage": { "name": "ESS: Maximale Ladung"}, + "settings_ess_maxdischargepercentage": { "name": "ESS: Maximale Entladung"}, + "settings_ess_acpowersetpoint2": { "name": "ESS: Sollwert Netz 2"}, + "settings_ess_maxdischargepower": { "name": "ESS: Maximaler Entladestrom"}, + "settings_ess_maxchargecurrent": { "name": "ESS: Maximaler Ladestrom"}, + "settings_ess_maxfeedinpower": { "name": "ESS: Maximale Einspeisung"}, + "settings_systemsetup_maxchargevoltage": { "name": "ESS: Maximale Ladespannung"}, + "settings_ess_batterylife_minimumsoc": { "name": "ESS: SOC Mindestwert (außer bei Netzausfall"} + }, + "select": { + "vebus_mode": { + "name": "Modus", + "state": { + "charger": "Nur Ladegerät", + "inverter": "Nur Wechselrichter", + "on": "Ein", + "off": "Aus" + } + }, + "settings_ess_batterylife_state": { + "name": "ESS: BatteryLife Status", + "state": { + "bl_disabled_duplicate_1": "BatteryLife Deaktiviert - Duplikat 1", + "restarting": "Neustart", + "self_consumption": "Eigenverbrauch", + "self_consumption_duplicate_1": "Eigenverbrauch - Duplikat 1", + "self_consumption_duplicate_2": "Eigenverbrauch - Duplikat 2", + "discharge_disabled": "Entladen Deaktiviert", + "force_charge": "Ladung erzwungen", + "sustain": "Erhaltung", + "low_soc_recharge": "Niedriger SOC - Aufladen", + "keep_batteries_charged": "Batterien im gelad. Zustand halten", + "bl_disabled": "BatteryLife Deaktiviert", + "bl_disabled_low_soc": "BatteryLife Deaktiviert: Niedriger SOC", + "bl_disabled_loc_soc_recharge": "BatteryLife Deaktiviert: Niedriger SOC - Aufladen" + } + }, + "settings_ess_mode": { + "name": "ESS: Modus", + "state": { + "self_consumption_with_battery_life": "Optimiert für die Batterielebensdauer", + "self_consumption": "Optimiert ohne BatteryLife", + "keep_charged": "Batterien im gelad. Zustand halten", + "external_control": "Externe Steuerung" + } + } + }, + "switch": { + "vebus_disablecharge": { "name": "Ladegerät deaktiviert"}, + "vebus_disablefeedin": { "name": "Netzeinspeiung deaktiviert"}, + "vebus_pvinverter_disable": { "name": "PV-Wechselrichter deaktiviert"}, + "vebus_donotfeedinovervoltage": { "name": "Überspannung nicht einspeisen"}, + "vebus_targetpowerismaxfeedin": { "name": "Ziel-Leistung = Max. Einspeisung"}, + "vebus_fixsolaroffsetto100mv": { "name": "Solar-Offset = 100mV"}, + "battery_relay": { "name": "Relais"}, + "settings_ess_overvoltagefeedin": { "name": "ESS: DC-gekoppelte PV - Überschusseinspeisung"}, + "settings_ess_preventfeedback": { "name": "ESS: AC-gekoppelte PV - Überschusseinspeisung"}, + "system_relay_0": { "name": "System: Relais 1 Ein"}, + "system_relay_1": { "name": "System: Relais 2 Ein"} + } } } \ No newline at end of file diff --git a/custom_components/victron/translations/en.json b/custom_components/victron/translations/en.json index a5b0243..63e4bfa 100644 --- a/custom_components/victron/translations/en.json +++ b/custom_components/victron/translations/en.json @@ -25,13 +25,13 @@ "dc_voltage": "The DC voltage of your battery in V", "dc_current": "The DC current limit of your battery in A", "number_of_phases": "The phase configuration of your system", - "use_sliders": "Use stepped sliders for writeable number entities" + "use_sliders": "Use stepped sliders for writeable number entities" } }, "reconfigure": { "data": { "host": "Host", - "port": "Port" + "port": "Port" } } } @@ -66,8 +66,524 @@ "dc_current": "The DC current limit of your battery in A", "number_of_phases": "The phase configuration of your system", "use_sliders": "Use stepped sliders for writeable number entities" - } + } + } + } + }, + "comment_info": "translations from https://github.com/victronenergy/gui-v2/tree/main/i18n", + "device": { + "battery": { "name": "Battery" }, + "grid": { "name": "Grid" }, + "pvinverter": { "name": "PV Inverter" }, + "settings": { "name": "Settings" }, + "vebus": { "name": "VE.Bus" } + }, + "entity": { + "sensor": { + "grid_L1_power": { "name": "AC Phase L1 Power" }, + "grid_L2_power": { "name": "AC Phase L2 Power" }, + "grid_L3_power": { "name": "AC Phase L3 Power"}, + "grid_L1_energy_forward": { "name": "Energy L1 forwarded"}, + "grid_L2_energy_forward": { "name": "Energy L2 forwarded"}, + "grid_L3_energy_forward": { "name": "Energy L3 forwarded"}, + "grid_L1_energy_reverse": { "name": "Energy L1 reversed"}, + "grid_L2_energy_reverse": { "name": "Energy L2 reversed"}, + "grid_L3_energy_reverse": { "name": "Energy L3 reversed"}, + "grid_serial": { "name": "Serial number"}, + "grid_L1_voltage": { "name": "AC Phase L1 Voltage"}, + "grid_L1_current": { "name": "AC Phase L1 Current"}, + "grid_L2_voltage": { "name": "AC Phase L2 Voltage"}, + "grid_L2_current": { "name": "AC Phase L2 Current"}, + "grid_L3_voltage": { "name": "AC Phase L3 Voltage"}, + "grid_L3_current": { "name": "AC Phase L3 Current"}, + "grid_L1_energy_forward_total": { "name": "Energy L1 Totals forwarded"}, + "grid_L2_energy_forward_total": { "name": "Energy L2 Totals forwarded"}, + "grid_L3_energy_forward_total": { "name": "Energy L3 Totals forwarded"}, + "grid_L1_energy_reverse_total": { "name": "Energy L1 Totals reversed"}, + "grid_L2_energy_reverse_total": { "name": "Energy L2 Totals reversed"}, + "grid_L3_energy_reverse_total": { "name": "Energy L3 Totals reversed"}, + "grid_energy_forward_total": { "name": "Energy Totals forwarded"}, + "grid_energy_reverse_total": { "name": "Energy Totals reversed"}, + + "vebus_activein_L1_voltage": { "name": "AC In: L1 Voltage"}, + "vebus_activein_L2_voltage": { "name": "AC In: L2 Voltage"}, + "vebus_activein_L3_voltage": { "name": "AC In: L3 Voltage"}, + "vebus_activein_L1_current": { "name": "AC In: L1 Current"}, + "vebus_activein_L2_current": { "name": "AC In: L2 Current"}, + "vebus_activein_L3_current": { "name": "AC In: L3 Current"}, + "vebus_activein_L1_frequency": { "name": "AC In: L1 Frequency"}, + "vebus_activein_L2_frequency": { "name": "AC In: L2 Frequency"}, + "vebus_activein_L3_frequency": { "name": "AC In: L3 Frequency"}, + "vebus_activein_L1_power": { "name": "AC In: L1 Power"}, + "vebus_activein_L2_power": { "name": "AC In: L2 Power"}, + "vebus_activein_L3_power": { "name": "AC In: L3 Power"}, + "vebus_out_L1_voltage": { "name": "AC Out: L1 Voltage"}, + "vebus_out_L2_voltage": { "name": "AC Out: L2 Voltage"}, + "vebus_out_L3_voltage": { "name": "AC Out: L3 Voltage"}, + "vebus_out_L1_current": { "name": "AC Out: L1 Current"}, + "vebus_out_L2_current": { "name": "AC Out: L2 Current"}, + "vebus_out_L3_current": { "name": "AC Out: L3 Current"}, + "vebus_out_L1_frequency": { "name": "AC Out: L1 Frequency"}, + "vebus_activein_currentlimit": { "name": "Grid current limit"}, + "vebus_out_L1_power": { "name": "AC Out: L1 Power"}, + "vebus_out_L2_power": { "name": "AC Out: L2 Power"}, + "vebus_out_L3_power": { "name": "AC Out: L3 Power"}, + "vebus_battery_voltage": { "name": "DC Voltage"}, + "vebus_battery_current": { "name": "DC Current"}, + "vebus_numberofphases": { "name": "Number of phases"}, + "vebus_activein_activeinput": { + "name": "Active AC input", + "state": { + "ac_input_1": "AC In 1", + "ac_input_2": "AC In 2", + "disconnected": "Disconnected" + } + }, + "vebus_soc": { "name": "State of charge"}, + "vebus_state": { + "name": "State", + "state": { + "off": "Off", + "low_power": "Low Power", + "fault": "Fault condition", + "bulk": "Bulk charging", + "absorption": "Absorption charging", + "float": "Float charging", + "storage": "Storage mode", + "equalize": "Equalization charging", + "passthru": "Pass-thru", + "inverting": "Inverting", + "power_assist": "Assisting", + "power_supply": "Power supply mode", + "external_control": "External control" + } + }, + "vebus_error": { "name": "Error"}, + "vebus_mode": { + "name": "Mode", + "state": { + "charger": "Charger only", + "inverter": "Inverter only", + "on": "On", + "off": "Off" + } + }, + "vebus_alarm_hightemperature": { "name": "Alarm status: Temperature"}, + "vebus_alarm_lowbattery": { "name": "Alarm status: Low battery voltage"}, + "vebus_alarm_overload": { "name": "Alarm status: Overload"}, + "vebus_L1_acpowersetpoint": { "name": "Grid setpoint L1 Power"}, + "vebus_disablecharge": { "name": "Disable charging"}, + "vebus_disablefeedin": { "name": "Feed-in limiting active"}, + "vebus_L2_acpowersetpoint": { "name": "Grid setpoint L2 Power"}, + "vebus_L3_acpowersetpoint": { "name": "Grid setpoint L3 Power"}, + "vebus_alarm_temperaturesensor": { "name": "Alarm status: Temperature sensor"}, + "vebus_alarm_voltagesensor": { "name": "Alarm status: Voltage Sensor"}, + "vebus_alarm_L1_higtemperature": { "name": "Alarm status: L1 Temperature"}, + "vebus_alarm_L1_lowbattery": { "name": "Alarm status: L1 Low battery voltage"}, + "vebus_alarm_L1_overload": { "name": "Alarm status: L1 Overload"}, + "vebus_alarm_L1_ripple": { "name": "Alarm status: L1 Ripple"}, + "vebus_alarm_L2_higtemperature": { "name": "Alarm status: L2 Temperature"}, + "vebus_alarm_L2_lowbattery": { "name": "Alarm status: L2 Low battery voltage"}, + "vebus_alarm_L2_overload": { "name": "Alarm status: L2 Overload"}, + "vebus_alarm_L2_ripple": { "name": "Alarm status: L2 Ripple"}, + "vebus_alarm_L3_higtemperature": { "name": "Alarm status: L3 Temperature"}, + "vebus_alarm_L3_lowbattery": { "name": "Alarm status: L3 Low battery voltage"}, + "vebus_alarm_L3_overload": { "name": "Alarm status: L1 Overload"}, + "vebus_alarm_L3_ripple": { "name": "Alarm status: L3 Ripple"}, + "vebus_pvinverter_disable": { "name": "Disable PV Inverter"}, + "vebus_bms_allowtocharge": { "name": "BMS: Allow to charge"}, + "vebus_bms_allowtodischarge": { "name": "BMS: Allow to discharge"}, + "vebus_bms_bmsexpected": { "name": "BMS: Expected"}, + "vebus_bms_error": { "name": "BMS: Error"}, + "vebus_battery_temperature": { "name": "Battery temperature"}, + "vebus_systemreset": { "name": "System reset"}, + "vebus_alarm_phaserotation": { "name": "Alarm status: Phase rotation"}, + "vebus_alarm_gridlost": { "name": "Alarm status: Grid lost"}, + "vebus_donotfeedinovervoltage": { "name": "Do not feed in overvoltage"}, + "vebus_L1_maxfeedinpower": { "name": "Maximum feed-in Power L1"}, + "vebus_L2_maxfeedinpower": { "name": "Maximum feed-in Power L2"}, + "vebus_L3_maxfeedinpower": { "name": "Maximum feed-in Power L3"}, + "vebus_state_ignoreacin1": { "name": "Ignore AC In 1"}, + "vebus_state_ignoreacin2": { "name": "Ignore AC In 2"}, + "vebus_targetpowerismaxfeedin": { "name": "Target Power is max. feed-in"}, + "vebus_fixsolaroffsetto100mv": { "name": "Fix solar offset to 100mv"}, + "vebus_sustain": { "name": "Sustain"}, + "vebus_acin1toacout": { "name": "AC In 1 to AC Out"}, + "vebus_acin1toinverter": { "name": "AC In 1 to PV Inverter"}, + "vebus_acin2toacout": { "name": "AC In 2 to AC Out"}, + "vebus_acin2toinverter": { "name": "AC In 2 to PV Inverter"}, + "vebus_acouttoacin1": { "name": "AC Out to AC In 1"}, + "vebus_acouttoacin2": { "name": "AC Out to AC In 2"}, + "vebus_invertertoacin1": { "name": "PV Inverter to AC In 1"}, + "vebus_invertertoacin2": { "name": "PV Inverter to AC In 2"}, + "vebus_invertertoacout": { "name": "PV Inverter to AC Out"}, + "vebus_outtoinverter": { "name": "AC Out to PV Inverter"}, + + "battery_voltage": { "name": "Battery voltage"}, + "battery_starter_voltage": { "name": "Starter voltage"}, + "battery_current": { "name": "Battery current"}, + "battery_temperature": { "name": "Battery temperature"}, + "battery_midvoltage": { "name": "Mid-point voltage"}, + "battery_midvoltagedeviation": { "name": "Mid-point deviation"}, + "battery_consumedamphours": { "name": "Consumed AmpHours"}, + "battery_soc": { "name": "State of charge"}, + "battery_alarm": { "name": "Alarm"}, + "battery_alarm_lowvoltage": { "name": "Alarm: Low battery voltage"}, + "battery_alarm_highvoltage": { "name": "Alarm: High battery voltage"}, + "battery_alarm_lowstartervoltage": { "name": "Alarm: Low starter voltage"}, + "battery_alarm_highstartervoltage": { "name": "Alarm: High starter voltage"}, + "battery_alarm_lowsoc": { "name": "Alarm: Low SOC"}, + "battery_alarm_lowtemperature": { "name": "Alarm: Low temperature"}, + "battery_alarm_hightemperature": { "name": "Alarm: High temperature"}, + "battery_alarm_midvoltage": { "name": "Alarm: Mid-point voltage"}, + "battery_alarm_lowfusedvoltage": { "name": "Alarm: Low fused voltage"}, + "battery_alarm_highfusedvoltage": { "name": "Alarm: High fused voltage"}, + "battery_alarm_fuseblown": { "name": "Alarm: Fuse blown"}, + "battery_alarm_highinternaltemperature": { "name": "Alarm: High internal temperature"}, + "battery_relay": { "name": "Relay"}, + "battery_history_deepestdischarge": { "name": "History: Deepest discharge"}, + "battery_history_lastdischarge": { "name": "History: Last discharge"}, + "battery_history_averagedischarge": { "name": "History: Average discharge"}, + "battery_history_chargecycles": { "name": "History: Total charge cycles"}, + "battery_history_fulldischarges": { "name": "History: Number of full discharges"}, + "battery_history_totalahdrawn": { "name": "History: Cumulative Ah drawn"}, + "battery_history_minimumvoltage": { "name": "History: Minimum voltage"}, + "battery_history_maximumvoltage": { "name": "History: Maximum voltage"}, + "battery_history_timesincelastfullcharge": { "name": "History: Time since last full charge"}, + "battery_history_automaticsyncs": { "name": "History: Synchronisation count"}, + "battery_history_lowvoltagealarms": { "name": "History: Low voltage alarms"}, + "battery_history_highvoltagealarms": { "name": "History: High voltage alarms"}, + "battery_history_lowstartervoltagealarms": { "name": "History: Low starter battery voltage alarms"}, + "battery_history_highstartervoltagealarms": { "name": "History: High starter battery voltage alarms"}, + "battery_history_minimumstartervoltage": { "name": "History: Minimum starter battery voltage"}, + "battery_history_maximumstartervoltage": { "name": "History: Maximum starter battery voltage"}, + "battery_history_lowfusedvoltagealarms": { "name": "History: Low fused voltage alarms"}, + "battery_history_highfusedvoltagealarms": { "name": "History: High fused voltage alarms"}, + "battery_history_minimumfusedvoltage": { "name": "History: Lowest fused voltage"}, + "battery_history_maximumfusedvoltage": { "name": "History: Highest fused voltage"}, + "battery_history_dischargedenergy": { "name": "History: Discharged energy"}, + "battery_history_chargedenergy": { "name": "History: Charged energy"}, + "battery_timetogo": { "name": "Time-to-go"}, + "battery_soh": { "name": "State of health"}, + "battery_info_maxchargevoltage": { "name": "Maximum charge voltage"}, + "battery_info_batterylowvoltage": { "name": "Battery low voltage"}, + "battery_info_maxchargecurrent": { "name": "Maximum charge current"}, + "battery_info_maxdischargecurrent": { "name": "Maximum discharge current"}, + "battery_capacity": { "name": "Available capacity"}, + "battery_diagnostics_lasterror_1_time": { "name": "Time of last error"}, + "battery_diagnostics_lasterror_2_time": { "name": "Time of 2nd last error"}, + "battery_diagnostics_lasterror_3_time": { "name": "Time of 3rd last error"}, + "battery_diagnostics_lasterror_4_time": { "name": "Time of 4th last error"}, + "battery_system_mincelltemperature": { "name": "Minimum cell temperature"}, + "battery_system_maxcelltemperature": { "name": "Maximum cell temperature"}, + "battery_alarm_higchargecurrent": { "name": "Alarm: High charge current"}, + "battery_alarm_highdischargecurrent": { "name": "Alarm: High discharge current"}, + "battery_alarm_cellimbalance": { "name": "Alarm: Cell imbalance"}, + "battery_alarm_internalfailure": { "name": "Alarm: Internal failure"}, + "battery_alarm_highchargetemperature": { "name": "Alarm: High charge temperature"}, + "battery_alarm_lowchargetemperature": { "name": "Alarm: Low charge temperature"}, + "battery_alarm_lowcellvoltage": { "name": "Alarm: Low cell voltage"}, + "battery_state": { + "name": "State", + "state": { + "wait_start_init": "Initializing: Waiting for Start", + "before_boot_init": "Initializing: Before boot", + "before_boot_delay_init": "Initializing: Delay before boot", + "wait_boot_init": "Initializing: Waiting for boot", + "initializing": "Initializing", + "battery_voltage_measure_init": "Initializing: Measuring Voltage", + "battery_calculate_voltage_init": "Initializing: Calucalting Voltage", + "wait_bus_voltage_init": "Initializing: Waiting for Bus-Voltage", + "wait_lynx_shunt_init": "Initializing: Lynx Shunt", + "running": "Running", + "error": "Error", + "unused": "Unused", + "shutdown": "Shutdown", + "slave_updating": "Updating", + "standby": "Standby", + "going_to_run": "Going to run", + "pre_charging": "Pre-Charging" + } + }, + "battery_error": { + "name": "Error", + "state": { + "none": "No error", + "battery_init_error": "Battery initialization error", + "no_batteries_connected": "No batteries connected", + "unknown_battery_connected": "Unknown battery", + "different_battery_type": "Different battery types", + "number_of_batteries_incorrect": "No. of batteries incorrect", + "lynx_shunt_not_found": "Lynx Shunt not found", + "battery_measure_error": "Battery measure error", + "internal_calculation_error": "Internal calculation error", + "batteries_in_series_not_ok": "No. of batteries in series incorrect", + "number_of_batteries_incorrect_duplicate_1": "No. of batteries in series incorrect - Duplikat", + "hardware_error": "Hardware error", + "watchdog_error": "Watchdog error", + "over_voltage": "Over voltage", + "under_voltage": "Under voltage", + "over_temperature": "Over temperature", + "under_temperature": "Under temperature", + "hardware_fault": "Hardware fault", + "standby_shutdown": "Standby/Shutdown", + "pre_charge_charge_error": "Pre charge: Charge error", + "safety_contactor_check_error": "Safety contactor check error", + "pre_charge_discharge_error": "Pre charge: Discharge error", + "adc_error": "ADC error", + "slave_error": "Slave error", + "slave_warning": "Slave warning", + "pre_charge_error": "Pre-Charge error", + "safety_contactor_error": "Safety contactor error", + "over_current": "Over current", + "slave_update_failed": "Slave update failed", + "slave_update_unavailable": "Slave update unavailable", + "calibration_data_lost": "Calibration data lost", + "settings_invalid": "Settings invalid", + "bms_cable": "BMS cable error", + "reference_failure": "Reference voltage failure", + "wrong_system_voltage": "Wrong system voltage", + "pre_charge_timeout": "Pre charge timeout" + } + }, + "battery_system_switch": { "name": "System Switch"}, + "battery_balancing": { "name": "Balancing"}, + "battery_system_numberofbatteries": { "name": "No. of batteries"}, + "battery_system_batteriesparallel": { "name": "No. of batteries in parallel"}, + "battery_system_batteriesseries": { "name": "No. of batteries in series"}, + "battery_system_numberofcellsperbattery": { "name": "Cells per battery"}, + "battery_system_mincellvoltage": { "name": "Min cell voltage"}, + "battery_system_maxcellvoltage": { "name": "Max cell voltage"}, + "battery_diagnostics_shutdownsdueerror": { "name": "Shutdowns due error"}, + "battery_diagnostics_lasterror_1": { "name": "Last error"}, + "battery_diagnostics_lasterror_2": { "name": "2nd last error"}, + "battery_diagnostics_lasterror_3": { "name": "3rd last error"}, + "battery_diagnostics_lasterror_4": { "name": "4th last error"}, + "battery_io_allowtocharge": { "name": "Allow to charge"}, + "battery_io_allowtodischarge": { "name": "Allow to discharge"}, + "battery_io_externalrelay": { "name": "External relay"}, + "battery_history_minimumcellvoltage": { "name": "History: Lowest cell voltage"}, + "battery_history_maximumcellvoltage": { "name": "History: Highest cell voltage"}, + "battery_system_numberofmodulesoffline": { "name": "Battery modules offline"}, + "battery_system_numberofmodulesonline": { "name": "Battery modules online"}, + "battery_system_numberofmodulesblockingcharge": { "name": "Number of modules blocking charge"}, + "battery_system_numberofmodulesblockingdischarge": { "name": "Number of modules blocking discharge"}, + "battery_system_minvoltagecellid": { "name": "Lowest cell voltage ID"}, + "battery_system_maxvoltagecellid": { "name": "Highest cell voltage ID"}, + "battery_system_mintemperaturecellid": { "name": "Minimum cell temperature ID"}, + "battery_system_maxtemperaturecellid": { "name": "Maximum cell temperature ID"}, + + "pvinverter_position": { + "name": "Position", + "state": { + "ac_input_1": "AC In 1", + "ac_output": "AC Out", + "ac_input_2": "AC In 2" + } + }, + "pvinverter_L1_voltage": { "name": "AC Phase L1 Voltage"}, + "pvinverter_L1_current": { "name": "AC Phase L1 Current"}, + "pvinverter_L1_power": { "name": "AC Phase L1 Power"}, + "pvinverter_L1_energy_forward": { "name": "Energy L1 forwarded"}, + "pvinverter_L2_voltage": { "name": "AC Phase L2 Voltage"}, + "pvinverter_L2_current": { "name": "AC Phase L2 Current"}, + "pvinverter_L2_power": { "name": "AC Phase L2 Power"}, + "pvinverter_L2_energy_forward": { "name": "Energy L2 forwarded"}, + "pvinverter_L3_voltage": { "name": "AC Phase L3 Voltage"}, + "pvinverter_L3_current": { "name": "AC Phase L3 Current"}, + "pvinverter_L3_power": { "name": "AC Phase L3 Power"}, + "pvinverter_L3_energy_forward": { "name": "Energy L3 forwarded"}, + "pvinverter_serial": { "name": "Serial number"}, + "pvinverter_L1_energy_forward_total": { "name": "Energy L1 Totals forwarded"}, + "pvinverter_L2_energy_forward_total": { "name": "Energy L2 Totals forwarded"}, + "pvinverter_L3_energy_forward_total": { "name": "Energy L3 Totals forwarded"}, + "pvinverter_power_total": { "name": "AC Total Power "}, + "pvinverter_power_max_capacity": { "name": "Maximum Power"}, + "pvinverter_powerlimit": { "name": "Power limit"}, + + "comment_info: TODO - Missing Translations": "motordrive, charger, gps, tank, inverter, genset, temperature, pulsemeter, digitalinput, generator, meteo, evcharger, acloads, fuelcell, alternator, dcsource, dcload, dcsystem, multi", + + "settings_ess_acpowersetpoint": { "name": "ESS: Grid setpoint"}, + "settings_ess_maxchargepercentage": { "name": "ESS: Maximum charge percentage"}, + "settings_ess_maxdischargepercentage": { "name": "ESS: Maximum discharge percentage"}, + "settings_ess_acpowersetpoint2": { "name": "ESS: Grid setpoint 2"}, + "settings_ess_maxdischargepower": { "name": "ESS: Maximum discharge power"}, + "settings_ess_maxchargecurrent": { "name": "ESS: Maximum charge current"}, + "settings_ess_maxfeedinpower": { "name": "ESS: Maximum feed-in power"}, + "settings_ess_overvoltagefeedin": { "name": "ESS: Feed-in excess DC-coupled PV"}, + "settings_ess_preventfeedback": { "name": "ESS: Don't feed in excess AC-coupled PV"}, + "settings_ess_feedinpowerlimit": { "name": "ESS: Feed-in limiting active"}, + "settings_systemsetup_maxchargevoltage": { "name": "Maximum charge voltage"}, + "settings_ess_batterylife_state": { + "name": "ESS: Battery life state", + "state": { + "bl_disabled_duplicate_1": "Battery life Disabled - Duplicate 1", + "restarting": "Restarting", + "self_consumption": "Self-consumption", + "self_consumption_duplicate_1": "Self-consumption - Duplicate 1", + "self_consumption_duplicate_2": "Self-consumption - Duplicate 2", + "discharge_disabled": "Discharge Disabled", + "force_charge": "Force charge", + "sustain": "Sustain", + "low_soc_recharge": "Low SOC recharge", + "keep_batteries_charged": "Keep batteries charged", + "bl_disabled": "Battery life Disabled", + "bl_disabled_low_soc": "Battery life Disabled: Low SOC", + "bl_disabled_loc_soc_recharge": "Battery life Disabled: Low SOC recharge" + } + }, + "settings_ess_batterylife_minimumsoc": { "name": "ESS: Minimum SOC (unless grid fails)"}, + "settings_ess_mode": { + "name": "ESS: Mode", + "state": { + "self_consumption_with_battery_life": "Optimized with battery life", + "self_consumption": "Optimized without battery life", + "keep_charged": "Keep batteries charged", + "external_control": "External control" + } + }, + "settings_ess_batterylife_soclimit": { "name": "ESS: Battery life SOC limit"}, + + "system_serial": { "name": "System: Serial number"}, + "system_relay_0": { "name": "System: Relay 1 on"}, + "system_relay_1": { "name": "System: Relay 2 on"}, + "system_pvonoutput_L1": { "name": "System: PV on AC Out L1"}, + "system_pvonoutput_L2": { "name": "System: PV on AC Out L2"}, + "system_pvonoutput_L3": { "name": "System: PV on AC Out L3"}, + "system_pvongrid_L1": { "name": "System: PV on Grid L1"}, + "system_pvongrid_L2": { "name": "System: PV on Grid L2"}, + "system_pvongrid_L3": { "name": "System: PV on Grid L3"}, + "system_pvongenset_L1": { "name": "System: PV on Genset L1"}, + "system_pvongenset_L2": { "name": "System: PV on Genset L2"}, + "system_pvongenset_L3": { "name": "System: PV on Genset L3"}, + "system_consumption_L1": { "name": "System: Consumption L1"}, + "system_consumption_L2": { "name": "System: Consumption L2"}, + "system_consumption_L3": { "name": "System: Consumption L3"}, + "system_grid_L1": { "name": "System: Grid L1"}, + "system_grid_L2": { "name": "System: Grid L2"}, + "system_grid_L3": { "name": "System: Grid L3"}, + "system_genset_L1": { "name": "System: Genset L1"}, + "system_genset_L2": { "name": "System: Genset L2"}, + "system_genset_L3": { "name": "System: Genset L3"}, + "system_input_source": { + "name": "System: Input Source", + "state": { + "unknown": "Unknown", + "grid": "Grid", + "generator": "Generator", + "shore": "Shore", + "not_connected": "Not connected" + } + }, + "system_battery_voltage": { "name": "System: Battery Voltage"}, + "system_battery_current": { "name": "System: Battery Current"}, + "system_battery_power": { "name": "System: Battery Power"}, + "system_battery_soc": { "name": "System: Battery SOC"}, + "system_battery_state": { + "name": "System: Battery State", + "state": { + "idle": "Idle", + "charging": "Charging", + "discharging": "Discharging" + } + }, + "system_battery_amphours": { "name": "System: Battery Ah"}, + "system_battery_time_to_go": { "name": "System: Battery Time to go"}, + "system_dc_pv_power": { "name": "System: PV Power"}, + "system_dc_pv_current": { "name": "System: PV Current"}, + "system_charger_power": { "name": "System: Charger Power"}, + "system_system_power": { "name": "System: System Power"}, + "system_bus_charge_current": { "name": "System: Bus Charge Current"}, + "system_bus_charge_power": { "name": "System: Bus Charge Power"} + }, + "binary_sensor": { + "vebus_bms_allowtocharge": { "name": "BMS: Allow to charge"}, + "vebus_bms_allowtodischarge": { "name": "BMS: Allow to discharge"}, + "vebus_bms_bmsexpected": { "name": "BMS: Expected"}, + "vebus_bms_error": { "name": "BMS: Error"}, + "vebus_state_ignoreacin1": { "name": "Ignore AC In 1"}, + "vebus_state_ignoreacin2": { "name": "Ignore AC In 2"}, + "vebus_sustain": { "name": "Sustain"}, + "battery_system_switch": { "name": "System Switch"}, + "battery_balancing": { "name": "Balancing"}, + "battery_io_allowtocharge": { "name": "Allow to charge"}, + "battery_io_allowtodischarge": { "name": "Allow to discharge"}, + "battery_io_externalrelay": { "name": "External relay"}, + "settings_ess_feedinpowerlimit": { "name": "ESS: Limit system feed-in"} + }, + "button": { + "vebus_systemreset": { "name": "System reset"} + }, + "number": { + "vebus_activein_currentlimit": { "name": "Grid current limit"}, + "vebus_soc": { "name": "State of charge"}, + "vebus_L1_acpowersetpoint": { "name": "Grid setpoint L1 Power"}, + "vebus_L2_acpowersetpoint": { "name": "Grid setpoint L2 Power"}, + "vebus_L3_acpowersetpoint": { "name": "Grid setpoint L3 Power"}, + "vebus_L1_maxfeedinpower": { "name": "Maximum feed-in Power L1"}, + "vebus_L2_maxfeedinpower": { "name": "Maximum feed-in Power L2"}, + "vebus_L3_maxfeedinpower": { "name": "Maximum feed-in Power L3"}, + "pvinverter_powerlimit": { "name": "Power limit"}, + "settings_ess_acpowersetpoint": { "name": "ESS: Grid setpoint"}, + "settings_ess_maxchargepercentage": { "name": "ESS: Maximum charge percentage"}, + "settings_ess_maxdischargepercentage": { "name": "ESS: Maximum discharge percentage"}, + "settings_ess_acpowersetpoint2": { "name": "ESS: Grid setpoint 2"}, + "settings_ess_maxdischargepower": { "name": "ESS: Maximum discharge power"}, + "settings_ess_maxchargecurrent": { "name": "ESS: Maximum charge current"}, + "settings_ess_maxfeedinpower": { "name": "ESS: Maximum feed-in power"}, + "settings_systemsetup_maxchargevoltage": { "name": "Maximum charge voltage"}, + "settings_ess_batterylife_minimumsoc": { "name": "ESS: Minimum SOC (unless grid fails)"} + }, + "select": { + "vebus_mode": { + "name": "Mode", + "state": { + "charger": "Charger only", + "inverter": "Inverter only", + "on": "On", + "off": "Off" + } + }, + "settings_ess_batterylife_state": { + "name": "ESS: Battery life state", + "state": { + "bl_disabled_duplicate_1": "Battery life Disabled - Duplicate 1", + "restarting": "Restarting", + "self_consumption": "Self-consumption", + "self_consumption_duplicate_1": "Self-consumption - Duplicate 1", + "self_consumption_duplicate_2": "Self-consumption - Duplicate 2", + "discharge_disabled": "Discharge Disabled", + "force_charge": "Force charge", + "sustain": "Sustain", + "low_soc_recharge": "Low SOC recharge", + "keep_batteries_charged": "Keep batteries charged", + "bl_disabled": "Battery life Disabled", + "bl_disabled_low_soc": "Battery life Disabled: Low SOC", + "bl_disabled_loc_soc_recharge": "Battery life Disabled: Low SOC recharge" + } + }, + "settings_ess_mode": { + "name": "ESS: Mode", + "state": { + "self_consumption_with_battery_life": "Optimized with battery life", + "self_consumption": "Optimized without battery life", + "keep_charged": "Keep batteries charged", + "external_control": "External control" + } } + }, + "switch": { + "vebus_disablecharge": { "name": "Disable charging"}, + "vebus_disablefeedin": { "name": "Feed-in limiting active"}, + "vebus_pvinverter_disable": { "name": "Disable PV Inverter"}, + "vebus_donotfeedinovervoltage": { "name": "Do not feed in overvoltage"}, + "vebus_targetpowerismaxfeedin": { "name": "Target Power is max. feed-in"}, + "vebus_fixsolaroffsetto100mv": { "name": "Fix solar offset to 100mv"}, + "battery_relay": { "name": "Relay"}, + "settings_ess_overvoltagefeedin": { "name": "ESS: Feed-in excess DC-coupled PV"}, + "settings_ess_preventfeedback": { "name": "ESS: Don't feed in excess AC-coupled PV"}, + "system_relay_0": { "name": "System: Relay 1 on"}, + "system_relay_1": { "name": "System: Relay 2 on"} } } } \ No newline at end of file