Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions src/device/b2500Base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ export function registerBaseMessage({
name: 'Battery Percentage',
device_class: 'battery',
unit_of_measurement: '%',
state_class: 'measurement',
}),
);
field({
Expand All @@ -96,6 +97,7 @@ export function registerBaseMessage({
name: 'Battery Capacity',
device_class: 'energy_storage',
unit_of_measurement: 'Wh',
state_class: 'measurement',
}),
);
field({
Expand Down Expand Up @@ -284,6 +286,7 @@ export function registerBaseMessage({
name: 'Temperature Min',
device_class: 'temperature',
unit_of_measurement: '°C',
state_class: 'measurement',
}),
);
field({
Expand All @@ -298,6 +301,7 @@ export function registerBaseMessage({
name: 'Temperature Max',
device_class: 'temperature',
unit_of_measurement: '°C',
state_class: 'measurement',
}),
);
field({
Expand Down Expand Up @@ -551,6 +555,7 @@ export function registerBaseMessage({
name: 'Host Battery SoC',
device_class: 'battery',
unit_of_measurement: '%',
state_class: 'measurement',
}),
);
field({
Expand All @@ -565,6 +570,7 @@ export function registerBaseMessage({
name: 'Extra 1 Battery SoC',
device_class: 'battery',
unit_of_measurement: '%',
state_class: 'measurement',
enabled_by_default: false,
}),
);
Expand All @@ -580,6 +586,7 @@ export function registerBaseMessage({
name: 'Extra 2 Battery SoC',
device_class: 'battery',
unit_of_measurement: '%',
state_class: 'measurement',
enabled_by_default: false,
}),
);
Expand Down Expand Up @@ -725,6 +732,7 @@ export function registerCellDataMessage(message: BuildMessageFn) {
name: `Min Cell Voltage ${battery}`,
device_class: 'voltage',
unit_of_measurement: 'V',
state_class: 'measurement',
enabled_by_default: battery === 'host',
}),
);
Expand All @@ -740,6 +748,7 @@ export function registerCellDataMessage(message: BuildMessageFn) {
name: `Max Cell Voltage ${battery}`,
device_class: 'voltage',
unit_of_measurement: 'V',
state_class: 'measurement',
enabled_by_default: battery === 'host',
}),
);
Expand All @@ -755,6 +764,7 @@ export function registerCellDataMessage(message: BuildMessageFn) {
name: `Cell Voltage Difference ${battery}`,
device_class: 'voltage',
unit_of_measurement: 'V',
state_class: 'measurement',
enabled_by_default: battery === 'host',
}),
);
Expand All @@ -770,6 +780,7 @@ export function registerCellDataMessage(message: BuildMessageFn) {
name: `Average Cell Voltage ${battery}`,
device_class: 'voltage',
unit_of_measurement: 'V',
state_class: 'measurement',
enabled_by_default: battery === 'host',
}),
);
Expand All @@ -787,6 +798,7 @@ export function registerCellDataMessage(message: BuildMessageFn) {
name: `Cell Voltage ${battery} ${(i + 1).toString().padStart(2, '0')}`,
device_class: 'voltage',
unit_of_measurement: 'V',
state_class: 'measurement',
enabled_by_default: battery === 'host',
}),
);
Expand Down
1 change: 1 addition & 0 deletions src/device/b2500V1.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ function registerExtraBatteryData(message: BuildMessageFn) {
name: `Input Voltage ${input}`,
device_class: 'voltage',
unit_of_measurement: 'V',
state_class: 'measurement',
}),
);
field({
Expand Down
36 changes: 33 additions & 3 deletions src/device/venus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ function registerRuntimeInfoMessage(
name: 'Battery Capacity',
device_class: 'energy_storage',
unit_of_measurement: 'Wh',
state_class: 'measurement',
}),
);

Expand All @@ -225,6 +226,7 @@ function registerRuntimeInfoMessage(
name: 'Battery State of Charge',
device_class: 'battery',
unit_of_measurement: '%',
state_class: 'measurement',
}),
);

Expand Down Expand Up @@ -447,6 +449,7 @@ function registerRuntimeInfoMessage(
name: 'Off Grid Power',
device_class: 'apparent_power',
unit_of_measurement: 'VA',
state_class: 'measurement',
}),
);

Expand Down Expand Up @@ -1366,6 +1369,7 @@ function registerBMSInfoMessage(
name: `Cell Voltage ${i}`,
unit_of_measurement: 'mV',
device_class: 'voltage',
state_class: 'measurement',
enabled_by_default: false,
}),
);
Expand All @@ -1385,6 +1389,7 @@ function registerBMSInfoMessage(
name: `Cell Temperature ${i}`,
unit_of_measurement: '°C',
device_class: 'temperature',
state_class: 'measurement',
enabled_by_default: false,
}),
);
Expand All @@ -1398,10 +1403,32 @@ function registerBMSInfoMessage(
// Battery pack voltage is reported in centivolts (e.g. 4328 -> 43.28 V)
[
'b_vol',
{ id: 'voltage', deviceClass: 'voltage', unitOfMeasurement: 'V', transform: divide(100) },
{
id: 'voltage',
deviceClass: 'voltage',
unitOfMeasurement: 'V',
transform: divide(100),
stateClass: 'measurement',
},
],
[
'b_cur',
{
id: 'current',
deviceClass: 'current',
unitOfMeasurement: 'mA',
stateClass: 'measurement',
},
],
[
'b_tem',
{
id: 'temperature',
deviceClass: 'temperature',
unitOfMeasurement: '°C',
stateClass: 'measurement',
},
],
['b_cur', { id: 'current', deviceClass: 'current', unitOfMeasurement: 'mA' }],
['b_tem', { id: 'temperature', deviceClass: 'temperature', unitOfMeasurement: '°C' }],
// Charge voltage is reported in decivolts (e.g. 468 -> 46.8 V)
[
'b_chv',
Expand All @@ -1410,6 +1437,7 @@ function registerBMSInfoMessage(
deviceClass: 'voltage',
unitOfMeasurement: 'V',
transform: divide(10),
stateClass: 'measurement',
},
],
['b_chf', { id: 'fullChargeCapacity' }],
Expand All @@ -1425,6 +1453,7 @@ function registerBMSInfoMessage(
deviceClass: 'temperature',
unitOfMeasurement: '°C',
transform: scaleTemperatures ? divide(10) : undefined,
stateClass: 'measurement',
},
],
] as const;
Expand All @@ -1442,6 +1471,7 @@ function registerBMSInfoMessage(
name: `BMS ${info.id.replace(/_/g, ' ').replace(/\b\w/g, c => c.toUpperCase())}`,
unit_of_measurement: 'unitOfMeasurement' in info ? info.unitOfMeasurement : undefined,
device_class: 'deviceClass' in info ? info.deviceClass : undefined,
state_class: 'stateClass' in info ? info.stateClass : undefined,
enabled_by_default: false,
}),
);
Expand Down
Loading