From fbd06d9690be71a23568605bcd71a74097c2fd00 Mon Sep 17 00:00:00 2001 From: Tatyana Date: Mon, 26 Jan 2026 15:00:47 +0100 Subject: [PATCH] feat: add fuel_cell profile --- energy/fuel_cell/general.yml | 11 +++++++++ energy/fuel_cell/industrial.yml | 13 +++++++++++ lib/energy/fuel_cell/cooling_control_duty.yml | 11 +++++++++ lib/energy/fuel_cell/electrical.yml | 23 +++++++++++++++++++ lib/energy/fuel_cell/pressure.yml | 11 +++++++++ lib/energy/fuel_cell/statistics.yml | 17 ++++++++++++++ lib/energy/fuel_cell/status.yml | 10 ++++++++ lib/energy/fuel_cell/temperature/coolant.yml | 11 +++++++++ .../fuel_cell/temperature/endpoints.yml | 17 ++++++++++++++ 9 files changed, 124 insertions(+) create mode 100644 energy/fuel_cell/general.yml create mode 100644 energy/fuel_cell/industrial.yml create mode 100644 lib/energy/fuel_cell/cooling_control_duty.yml create mode 100644 lib/energy/fuel_cell/electrical.yml create mode 100644 lib/energy/fuel_cell/pressure.yml create mode 100644 lib/energy/fuel_cell/statistics.yml create mode 100644 lib/energy/fuel_cell/status.yml create mode 100644 lib/energy/fuel_cell/temperature/coolant.yml create mode 100644 lib/energy/fuel_cell/temperature/endpoints.yml diff --git a/energy/fuel_cell/general.yml b/energy/fuel_cell/general.yml new file mode 100644 index 0000000..13d3a0f --- /dev/null +++ b/energy/fuel_cell/general.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell +description: A profile for fuel cell modules that generate DC power from hydrogen. + +implements: + - lib.device.nameplate + - lib.energy.fuel_cell.electrical + - lib.energy.fuel_cell.status + - lib.energy.fuel_cell.temperature.endpoints + - lib.energy.fuel_cell.pressure diff --git a/energy/fuel_cell/industrial.yml b/energy/fuel_cell/industrial.yml new file mode 100644 index 0000000..55ad2f1 --- /dev/null +++ b/energy/fuel_cell/industrial.yml @@ -0,0 +1,13 @@ +blueprint_spec: profile/1.0 + +display_name: Industrial Fuel Cell +description: A profile for industrial-grade fuel cell modules. + +implements: + - lib.device.nameplate + - lib.energy.fuel_cell.electrical + - lib.energy.fuel_cell.status + - lib.energy.fuel_cell.temperature.endpoints + - lib.energy.fuel_cell.pressure + - lib.energy.fuel_cell.cooling_control_duty + - lib.energy.fuel_cell.statistics diff --git a/lib/energy/fuel_cell/cooling_control_duty.yml b/lib/energy/fuel_cell/cooling_control_duty.yml new file mode 100644 index 0000000..f1ad04e --- /dev/null +++ b/lib/energy/fuel_cell/cooling_control_duty.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Cooling Control Duty Monitoring +description: The duty cycle applied fuel cell cooling controllers. + +telemetry: + cooling_control_duty: + display_name: Cooling Control Duty + type: float + unit: "%" + description: Duty cycle applied to coolant pump or fan. diff --git a/lib/energy/fuel_cell/electrical.yml b/lib/energy/fuel_cell/electrical.yml new file mode 100644 index 0000000..d7a1adb --- /dev/null +++ b/lib/energy/fuel_cell/electrical.yml @@ -0,0 +1,23 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Electrical Measurements +description: Voltage, current, and power measurements for fuel cell modules. + +telemetry: + output_voltage: + display_name: Output Voltage + type: float + unit: V + description: Current DC voltage output of the fuel cell. + + output_current: + display_name: Output Current + type: float + unit: A + description: Current DC current output of the fuel cell. + + output_power: + display_name: Output Power + type: float + unit: W + description: Current DC power output of the fuel cell. diff --git a/lib/energy/fuel_cell/pressure.yml b/lib/energy/fuel_cell/pressure.yml new file mode 100644 index 0000000..f818955 --- /dev/null +++ b/lib/energy/fuel_cell/pressure.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Pressure Monitoring +description: Pressure measurements for fuel cell hydrogen supply. + +telemetry: + hydrogen_inlet_pressure: + display_name: Hydrogen inlet pressure + type: float + unit: mbar + description: Current pressure at the fuel cell anode (hydrogen inlet). diff --git a/lib/energy/fuel_cell/statistics.yml b/lib/energy/fuel_cell/statistics.yml new file mode 100644 index 0000000..cee1b5c --- /dev/null +++ b/lib/energy/fuel_cell/statistics.yml @@ -0,0 +1,17 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Diagnostics +description: Runtime diagnostics, fault monitoring, and service metrics for industrial fuel cell modules. + +telemetry: + run_hours: + display_name: Run Hours + type: float + unit: s + description: Cumulative operating time of the fuel cell. + + total_run_energy: + display_name: Total Run Energy + type: float + unit: J + description: Cumulative energy produced by the fuel cell. diff --git a/lib/energy/fuel_cell/status.yml b/lib/energy/fuel_cell/status.yml new file mode 100644 index 0000000..7697b2c --- /dev/null +++ b/lib/energy/fuel_cell/status.yml @@ -0,0 +1,10 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Status +description: Operating status for fuel cell modules. + +telemetry: + status: + display_name: Status + type: string + description: Current operational status of the fuel cell diff --git a/lib/energy/fuel_cell/temperature/coolant.yml b/lib/energy/fuel_cell/temperature/coolant.yml new file mode 100644 index 0000000..7817139 --- /dev/null +++ b/lib/energy/fuel_cell/temperature/coolant.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Coolant Temperature +description: Temperature measurement for fuel cell coolant. + +telemetry: + coolant_temperature: + display_name: Coolant Temperature + type: float + unit: Cel + description: Temperature of the coolant at the fuel cell. diff --git a/lib/energy/fuel_cell/temperature/endpoints.yml b/lib/energy/fuel_cell/temperature/endpoints.yml new file mode 100644 index 0000000..ac61445 --- /dev/null +++ b/lib/energy/fuel_cell/temperature/endpoints.yml @@ -0,0 +1,17 @@ +blueprint_spec: profile/1.0 + +display_name: Fuel Cell Thermal Monitoring +description: Temperature measurements for fuel cell inlet and outlet. + +telemetry: + inlet_temperature: + display_name: Inlet Temperature + type: float + unit: Cel + description: Temperature of the reactant at the fuel cell inlet. + + outlet_temperature: + display_name: Outlet Temperature + type: float + unit: Cel + description: Temperature of the reactant at the fuel cell outlet.