From 5e7c88e5af5da81f57153c8e23edb444e7da0c7a Mon Sep 17 00:00:00 2001 From: Nikita Afanasenko Date: Tue, 24 Feb 2026 17:08:29 +0400 Subject: [PATCH] feat: add electrolyser profiles --- energy/electrolyser.yml | 11 ++++++ energy/electrolyser/stack.yml | 8 +++++ lib/energy/electrolyser/control.yml | 24 +++++++++++++ .../downstream_fluid_temperature.yml | 11 ++++++ .../electrolyser/feed_water_conductivity.yml | 11 ++++++ lib/energy/electrolyser/power.yml | 11 ++++++ lib/energy/electrolyser/production.yml | 35 +++++++++++++++++++ lib/energy/electrolyser/stack.yml | 29 +++++++++++++++ lib/energy/electrolyser/status.yml | 35 +++++++++++++++++++ 9 files changed, 175 insertions(+) create mode 100644 energy/electrolyser.yml create mode 100644 energy/electrolyser/stack.yml create mode 100644 lib/energy/electrolyser/control.yml create mode 100644 lib/energy/electrolyser/downstream_fluid_temperature.yml create mode 100644 lib/energy/electrolyser/feed_water_conductivity.yml create mode 100644 lib/energy/electrolyser/power.yml create mode 100644 lib/energy/electrolyser/production.yml create mode 100644 lib/energy/electrolyser/stack.yml create mode 100644 lib/energy/electrolyser/status.yml diff --git a/energy/electrolyser.yml b/energy/electrolyser.yml new file mode 100644 index 0000000..e2f9996 --- /dev/null +++ b/energy/electrolyser.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser +description: Hydrogen electrolyser with production metrics, control commands, and operational status + +implements: + - lib.device.nameplate + - lib.energy.electrolyser.control + - lib.energy.electrolyser.power + - lib.energy.electrolyser.production + - lib.energy.electrolyser.status diff --git a/energy/electrolyser/stack.yml b/energy/electrolyser/stack.yml new file mode 100644 index 0000000..da218d1 --- /dev/null +++ b/energy/electrolyser/stack.yml @@ -0,0 +1,8 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Stack +description: Electrolyser stack with core electrical and thermal measurements + +implements: + - lib.device.nameplate + - lib.energy.electrolyser.stack diff --git a/lib/energy/electrolyser/control.yml b/lib/energy/electrolyser/control.yml new file mode 100644 index 0000000..d8bc1a6 --- /dev/null +++ b/lib/energy/electrolyser/control.yml @@ -0,0 +1,24 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Control +description: Commands for controlling electrolyser systems. + +commands: + start: + display_name: Start Hydrogen Production + description: Start the process of producing hydrogen. + + stop: + display_name: Stop Hydrogen Production + description: Stop the process of producing hydrogen. + + set_production_rate: + display_name: Set Production Rate + description: Set the hydrogen production rate as a percentage of nominal capacity. + arguments: + value: + display_name: Production Rate + type: float + unit: "%" + required: true + description: Production rate as percentage of nominal capacity (0-100). diff --git a/lib/energy/electrolyser/downstream_fluid_temperature.yml b/lib/energy/electrolyser/downstream_fluid_temperature.yml new file mode 100644 index 0000000..6890833 --- /dev/null +++ b/lib/energy/electrolyser/downstream_fluid_temperature.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Downstream Fluid Temperature +description: Downstream process fluid temperature for electrolyser systems. + +telemetry: + downstream_fluid_temperature: + display_name: Downstream Fluid Temperature + description: Temperature of the process fluid downstream of the electrolyser stack. + type: float + unit: Cel diff --git a/lib/energy/electrolyser/feed_water_conductivity.yml b/lib/energy/electrolyser/feed_water_conductivity.yml new file mode 100644 index 0000000..d931d9b --- /dev/null +++ b/lib/energy/electrolyser/feed_water_conductivity.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Feed Water Conductivity +description: Feed water conductivity for electrolyser systems. + +telemetry: + feed_water_conductivity: + display_name: Feed Water Conductivity + description: Conductivity of the feed water supply. Lower values indicate higher purity. + type: float + unit: uS/cm diff --git a/lib/energy/electrolyser/power.yml b/lib/energy/electrolyser/power.yml new file mode 100644 index 0000000..b2a685f --- /dev/null +++ b/lib/energy/electrolyser/power.yml @@ -0,0 +1,11 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Power +description: Power consumption for electrolyser systems. + +telemetry: + power_consumption: + display_name: Power Consumption + description: Total electrical power consumed by the electrolyser. + type: float + unit: W diff --git a/lib/energy/electrolyser/production.yml b/lib/energy/electrolyser/production.yml new file mode 100644 index 0000000..7f8fccc --- /dev/null +++ b/lib/energy/electrolyser/production.yml @@ -0,0 +1,35 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Production +description: Hydrogen production metrics for electrolysers. + +telemetry: + production_setpoint: + display_name: Production Setpoint + description: Commanded production rate setpoint as a percentage of nominal capacity. + type: float + unit: "%" + + production_rate: + display_name: Production Rate + description: Current production rate as a percentage of nominal capacity. + type: float + unit: "%" + + h2_output_rate: + display_name: H2 Output Rate + description: Current hydrogen output flow rate at standard conditions. + type: float + unit: Nl/h + + h2_produced_total: + display_name: H2 Produced Total + description: Cumulative hydrogen produced since installation at standard conditions. + type: float + unit: Nl + + h2_outlet_pressure: + display_name: H2 Outlet Pressure + description: Hydrogen gas pressure at the electrolyser outlet, measured as gauge pressure relative to atmospheric. + type: float + unit: bar{gauge} diff --git a/lib/energy/electrolyser/stack.yml b/lib/energy/electrolyser/stack.yml new file mode 100644 index 0000000..975600d --- /dev/null +++ b/lib/energy/electrolyser/stack.yml @@ -0,0 +1,29 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Stack +description: Core stack measurements for electrolyser systems. + +telemetry: + stack_voltage: + display_name: Stack Voltage + description: DC voltage across the electrolyser stack. + type: float + unit: V + + stack_current: + display_name: Stack Current + description: DC current consumed by the electrolyser stack. + type: float + unit: A + + stack_power: + display_name: Stack Power + description: DC power consumed by the electrolyser stack. + type: float + unit: W + + stack_fluid_temperature: + display_name: Stack Fluid Temperature + description: Temperature of the process fluid inside the electrolyser stack. + type: float + unit: Cel diff --git a/lib/energy/electrolyser/status.yml b/lib/energy/electrolyser/status.yml new file mode 100644 index 0000000..deff3c5 --- /dev/null +++ b/lib/energy/electrolyser/status.yml @@ -0,0 +1,35 @@ +blueprint_spec: profile/1.0 + +display_name: Electrolyser Status +description: Operational status for electrolyser systems. + +telemetry: + electrolyser_status: + display_name: Electrolyser Status + description: Current operational status of the electrolyser. + type: string + enum: + "off": + display_name: "Off" + description: Electrolyser is not operating. + idle: + display_name: Idle + description: Electrolyser is idle, ready to start. + warmup: + display_name: Warming Up + description: Electrolyser is warming up before production. + producing: + display_name: Producing + description: Electrolyser is actively producing hydrogen. + standby: + display_name: Standby + description: Electrolyser has automatically paused production, typically because maximum outlet pressure was reached. Will resume automatically when pressure drops. + cooldown: + display_name: Cooling Down + description: Electrolyser is cooling down after production. + purging: + display_name: Purging + description: Electrolyser is performing a gas purge cycle. + fault: + display_name: Fault + description: Electrolyser is in a fault condition.