fix: varta via modbus
This commit is contained in:
parent
b4c68efe53
commit
7d6e959d90
|
@ -54,7 +54,6 @@
|
||||||
];
|
];
|
||||||
customComponents = with pkgs.home-assistant-custom-components; [
|
customComponents = with pkgs.home-assistant-custom-components; [
|
||||||
homematicip_local
|
homematicip_local
|
||||||
pkgs.havartastorage
|
|
||||||
];
|
];
|
||||||
config = {
|
config = {
|
||||||
http = {
|
http = {
|
||||||
|
@ -96,6 +95,223 @@
|
||||||
# organization = "home";
|
# organization = "home";
|
||||||
# bucket = "home_assistant";
|
# bucket = "home_assistant";
|
||||||
# };
|
# };
|
||||||
|
# Modbus Varta element backup
|
||||||
|
modbus = {
|
||||||
|
|
||||||
|
name = "mb_varta";
|
||||||
|
type = "tcp";
|
||||||
|
host = "10.99.30.20"; # replace with your ip of the your varta;
|
||||||
|
port = 502;
|
||||||
|
delay = 1;
|
||||||
|
timeout = 3;
|
||||||
|
message_wait_milliseconds = 250;
|
||||||
|
sensors =
|
||||||
|
### EMS Software Version { not for Varta link;
|
||||||
|
[
|
||||||
|
{
|
||||||
|
name = "mb_varta_EMS";
|
||||||
|
slave = 1;
|
||||||
|
address = 1000;
|
||||||
|
count = 17;
|
||||||
|
data_type = "string";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
### ENS Software Version { not for Varta link;
|
||||||
|
{
|
||||||
|
name = "mb_varta_ENS";
|
||||||
|
slave = 1;
|
||||||
|
address = 1017;
|
||||||
|
count = 17;
|
||||||
|
data_type = "string";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
### Software Version { not for Varta link;
|
||||||
|
{
|
||||||
|
name = "mb_varta_software";
|
||||||
|
slave = 1;
|
||||||
|
address = 1034;
|
||||||
|
count = 17;
|
||||||
|
data_type = "string";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
### Table version;
|
||||||
|
{
|
||||||
|
name = "mb_varta_table_version";
|
||||||
|
slave = 1;
|
||||||
|
address = 1051;
|
||||||
|
data_type = "uint16";
|
||||||
|
precision = "0";
|
||||||
|
scale = 1;
|
||||||
|
### timestamp {- not working;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "mb_varta_timestamp";
|
||||||
|
slave = 1;
|
||||||
|
address = 1052;
|
||||||
|
data_type = "uint32";
|
||||||
|
swap = "word";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
### Serial Number;
|
||||||
|
{
|
||||||
|
name = "mb_varta_serial";
|
||||||
|
slave = 1;
|
||||||
|
address = 1054;
|
||||||
|
count = 10;
|
||||||
|
data_type = "string";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
### Number of Battery Modules installed;
|
||||||
|
{
|
||||||
|
name = "mb_varta_installed_batteries";
|
||||||
|
slave = 1;
|
||||||
|
address = 1064;
|
||||||
|
data_type = "uint16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
}
|
||||||
|
### State;
|
||||||
|
{
|
||||||
|
name = "mb_varta_state";
|
||||||
|
slave = 1;
|
||||||
|
address = 1065;
|
||||||
|
data_type = "uint16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
unit_of_measurement = "State";
|
||||||
|
}
|
||||||
|
### Active Power { positive=charge / negative: discharge;
|
||||||
|
{
|
||||||
|
name = "mb_varta_active_power";
|
||||||
|
slave = 1;
|
||||||
|
address = 1066;
|
||||||
|
data_type = "int16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
device_class = "power";
|
||||||
|
unit_of_measurement = "W";
|
||||||
|
}
|
||||||
|
### Apparent Power { positive=charge / negative: discharge;
|
||||||
|
{
|
||||||
|
name = "mb_varta_apparent_power";
|
||||||
|
slave = 1;
|
||||||
|
address = 1067;
|
||||||
|
data_type = "int16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
device_class = "apparent_power";
|
||||||
|
unit_of_measurement = "VA";
|
||||||
|
}
|
||||||
|
### State of Charge;
|
||||||
|
{
|
||||||
|
name = "mb_varta_SOC";
|
||||||
|
slave = 1;
|
||||||
|
address = 1068;
|
||||||
|
data_type = "uint16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
device_class = "battery";
|
||||||
|
unit_of_measurement = "%";
|
||||||
|
}
|
||||||
|
### energy counter AC{>DC - not sure if correct;
|
||||||
|
{
|
||||||
|
name = "mb_varta_ACDC";
|
||||||
|
slave = 1;
|
||||||
|
address = 1069;
|
||||||
|
data_type = "uint32";
|
||||||
|
swap = "word";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
device_class = "energy";
|
||||||
|
unit_of_measurement = "Wh";
|
||||||
|
state_class = "total_increasing";
|
||||||
|
}
|
||||||
|
### Installed capacity;
|
||||||
|
{
|
||||||
|
name = "mb_varta_capacity";
|
||||||
|
slave = 1;
|
||||||
|
address = 1071;
|
||||||
|
data_type = "uint16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 10;
|
||||||
|
device_class = "energy";
|
||||||
|
unit_of_measurement = "Wh";
|
||||||
|
}
|
||||||
|
### Grid Power;
|
||||||
|
{
|
||||||
|
name = "mb_varta_grid_power";
|
||||||
|
slave = 1;
|
||||||
|
address = 1078;
|
||||||
|
data_type = "int16";
|
||||||
|
precision = 0;
|
||||||
|
scale = 1;
|
||||||
|
device_class = "power";
|
||||||
|
unit_of_measurement = "W";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Varta input/output
|
||||||
|
template.sensor = [
|
||||||
|
{
|
||||||
|
name = "Varta Input Power";
|
||||||
|
unit_of_measurement = "W";
|
||||||
|
state_class = "measurement";
|
||||||
|
device_class = "power";
|
||||||
|
state = ''
|
||||||
|
{% if states('sensor.mb_varta_active_power') | float(0) >= 0 %}
|
||||||
|
{% set varta_in = states('sensor.mb_varta_active_power') | float(0) %}
|
||||||
|
{% else %}
|
||||||
|
{% set varta_in = 0 %}
|
||||||
|
{% endif %}
|
||||||
|
{{ varta_in }}
|
||||||
|
'';
|
||||||
|
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "Varta Output Power";
|
||||||
|
unit_of_measurement = "W";
|
||||||
|
state_class = "measurement";
|
||||||
|
device_class = "power";
|
||||||
|
state = ''
|
||||||
|
{% if states('sensor.mb_varta_active_power') | float(0) <= 0 %}
|
||||||
|
{% set varta_out = states('sensor.mb_varta_active_power') | float(0) *-1 %}
|
||||||
|
{% else %}
|
||||||
|
{% set varta_out = 0 %}
|
||||||
|
{% endif %}
|
||||||
|
{{ varta_out }}
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
##Grid
|
||||||
|
sensor = {
|
||||||
|
|
||||||
|
platform = "template";
|
||||||
|
sensors = {
|
||||||
|
mb_varta_status = {
|
||||||
|
friendly_name = "Varta Status";
|
||||||
|
value_template = ''
|
||||||
|
{% set mapper = {
|
||||||
|
'0' : 'Busy',
|
||||||
|
'1' : 'Run',
|
||||||
|
'2' : 'Charge',
|
||||||
|
'3' : 'Discharge',
|
||||||
|
'4' : 'Standby',
|
||||||
|
'5' : 'Error',
|
||||||
|
'6' : 'Service',
|
||||||
|
'7' : 'Islanding' } %}
|
||||||
|
{% set state = states.sensor.mb_varta_state.state %}
|
||||||
|
{{ mapper[state] if state in mapper else 'Unknown' }}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
extraPackages =
|
extraPackages =
|
||||||
python3Packages: with python3Packages; [
|
python3Packages: with python3Packages; [
|
||||||
|
|
Loading…
Reference in a new issue