use better names for constructing secondary entities

This commit is contained in:
Nicu Hodos 2024-05-19 01:33:11 +02:00
parent 8282af3992
commit 6733a6678a
2 changed files with 8 additions and 9 deletions

View File

@ -19,8 +19,8 @@ namespace OilTank {
return Builder<TemperatureSensor>::instance(id)
.asDevice(device)
.withValueTemplate("{{ value_json.sensor.temperature }}")
.withDiagnostic(new VoltageSensor{id, "Battery voltage", "{{ value_json.sensor.diagnostic.voltage }}"})
.withDiagnostic(new BatterySensor{id, "Battery level", "{{ ((states('sensor.oil_tank_room_battery_voltage')|float-2.5)|round(2)*100/2)|int }}"})
.asDiagnostic(new VoltageSensor{id, "Battery voltage", "{{ value_json.sensor.diagnostic.voltage }}"})
.asDiagnostic(new BatterySensor{id, "Battery level", "{{ ((states('sensor.oil_tank_room_battery_voltage')|float-2.5)|round(2)*100/2)|int }}"})
.build();
}
@ -36,14 +36,14 @@ namespace OilTank {
.withDeviceClass("distance")
.withUnitMseasure("cm")
.withValueTemplate("{{ value_json.sensor.value }}")
.withSecondary(
.asSecondary(
Builder<Sensor>::instance(new Sensor{ "Level", id })
.withUnitMseasure("%")
.withValueTemplate("{{ 100 - ((value_json.sensor.value-7)|float*100/110)|round(2) }}")
.build()
)
.withDiagnostic(new VoltageSensor{id, "Battery voltage", "{{ value_json.sensor.diagnostic.voltage }}"})
.withDiagnostic(new BatterySensor{id, "Battery level", "{{ ((states('sensor.oil_tank_battery_voltage')|float-3.6)|round(2)*100/1.6)|int }}"})
.asDiagnostic(new VoltageSensor{id, "Battery voltage", "{{ value_json.sensor.diagnostic.voltage }}"})
.asDiagnostic(new BatterySensor{id, "Battery level", "{{ ((states('sensor.oil_tank_battery_voltage')|float-3.6)|round(2)*100/1.6)|int }}"})
.build();
}
}

View File

@ -162,15 +162,14 @@ namespace Ha {
return *this;
}
Builder& withSecondary(Component* c) {
Builder& asSecondary(Component* c) {
c->mainDevice = &DeviceConfig::create(cmp->id);
return *this;
}
Builder& withDiagnostic(Component* c) {
Builder& asDiagnostic(Component* c) {
c->entityCategory = "diagnostic";
c->mainDevice = &DeviceConfig::create(cmp->id);
return *this;
return asSecondary(c);
}
Builder& asDevice(DeviceConfig* deviceConfig) {