@@ -136,13 +136,15 @@ action:
136136 {%- set max_rate = all_oe_rates | map(attribute='value_inc_vat') | max -%}
137137 {%- set min_carbon = all_ci_rates | map(attribute='intensity_forecast') | min -%}
138138 {%- set max_carbon = all_ci_rates | map(attribute='intensity_forecast') | max -%}
139+ {%- set rate_diff = max_rate - min_rate if max_rate - min_rate != 0 else 1 %}
140+ {%- set carbon_diff = max_carbon - min_carbon if max_carbon - min_carbon != 0 else 1 %}
139141
140142 {%- set data = namespace(new_rates=[]) -%}
141143 {%- for rate in all_oe_rates -%}
142144 {%- set start = rate["start"] | as_timestamp | timestamp_utc -%}
143145 {%- set end = rate["end"] | as_timestamp | timestamp_utc -%}
144- {%- set value = 1 - ((rate["value_inc_vat"] | float - min_rate) / (max_rate - min_rate ) * octopus_energy_weighting) -%}
145-
146+ {%- set value = 1 - ((( rate["value_inc_vat"] | float - min_rate) / rate_diff ) * octopus_energy_weighting) -%}
147+
146148 {%- set free_namespace = namespace(is_free=False) -%}
147149 {%- for free_session in free_electricity_rates -%}
148150 {%- set free_start = free_session["start"] | as_timestamp | timestamp_utc -%}
@@ -163,7 +165,7 @@ action:
163165
164166 {%- set metadata = { "rate": rate["value_inc_vat"], "is_capped": rate["is_capped"] } -%}
165167 {%- if carbon_intensity_namespace.rate -%}
166- {%- set value = value + (1 - ((carbon_intensity_namespace.rate["intensity_forecast"] | float - min_carbon) / (max_carbon - min_carbon ) * carbon_intensity_weighting)) -%}
168+ {%- set value = value + (1 - ((( carbon_intensity_namespace.rate["intensity_forecast"] | float - min_carbon) / carbon_diff ) * carbon_intensity_weighting)) -%}
167169 {%- set metadata = dict(metadata.items(), carbon_intensity=carbon_intensity_namespace.rate["intensity_forecast"] | float) -%}
168170 {%- endif -%}
169171
0 commit comments