Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.
Open
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
5 changes: 4 additions & 1 deletion src/registry/sweden/affarsverken_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ pub static AFFARSVERKEN_ELNAT_AB: GridOperator = GridOperator::builder()
"https://www.affarsverken.se/elnat/elnatspriser/privatkund/",
"#content-body",
)
.feed_in_revenue_info_default(
"https://www.affarsverken.se/elnat/for-elproducenter/ersattning-for-elproduktion/",
)
.build(),
)
.price_lists(&[PriceList::builder()
Expand All @@ -24,7 +27,7 @@ pub static AFFARSVERKEN_ELNAT_AB: GridOperator = GridOperator::builder()
(63, Money::new(2010, 0)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(7.5))
.transfer_fee(TransferFee::spot_price_variable(31.60, 0.077, false))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
14 changes: 13 additions & 1 deletion src/registry/sweden/ale_el_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub static ALE_EL_ELNAT_AB: GridOperator = GridOperator::builder()
.links(
Links::builder()
.fee_info("https://aleel.se/avgifter/", "main")
.feed_in_revenue_info_default("https://aleel.se/mikroproduktion-och-batterilager/")
.build(),
)
.price_lists(&[PriceList::builder()
Expand All @@ -26,7 +27,18 @@ pub static ALE_EL_ELNAT_AB: GridOperator = GridOperator::builder()
(200, Money::new(6101, 0)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::new_periods(CostPeriods::new(&[
CostPeriod::builder()
.load(High)
.cost(Cost::fixed_subunit(8.7).add_vat(Country::SE))
.months(November, March)
.hours(06, 21)
.build(),
CostPeriod::builder()
.load(Low)
.cost(Cost::fixed_subunit(1.5).add_vat(Country::SE))
.build(),
])))
.transfer_fee(TransferFee::fixed_subunit(25.00))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
7 changes: 6 additions & 1 deletion src/registry/sweden/alingsas_energi_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ pub static ALINGSAS_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE559434718801")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(25, 63))
.links(Links::builder().fee_info_default(FEE_LINK).build())
.links(
Links::builder()
.fee_info_default(FEE_LINK)
.feed_in_revenue_info_default("https://www.alingsasenergi.se/elnatsavgift/")
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fuses(&[
Expand Down
11 changes: 9 additions & 2 deletions src/registry/sweden/arvika_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ pub static ARVIKA_ELNAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE556527671301")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 63))
.links(Links::builder().fee_info(FEE_LINK, ".pagecontent").build())
.links(
Links::builder()
.fee_info(FEE_LINK, ".pagecontent")
.feed_in_revenue_info_default(
"https://www.teknikivast.se/sidor/elnat/solcellsanlaggning-mikroproduktion.html",
)
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fuses(&[
Expand All @@ -19,7 +26,7 @@ pub static ARVIKA_ELNAT_AB: GridOperator = GridOperator::builder()
(63, Money::new(19875, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(3.65))
.transfer_fee(TransferFee::fixed_subunit(24.9))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
6 changes: 4 additions & 2 deletions src/registry/sweden/bjare_kraft_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ pub static BJARE_KRAFT_ELNAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE559427724501")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 200))
.links(Links::builder().fee_info(FEE_LINK, ".news-article").build())
.links(Links::builder().fee_info(FEE_LINK, ".news-article")
.feed_in_revenue_info_default("https://www.bjarekraft.se/privat/elnat/producera-egen-el/saelj-ditt-oeverskott-av-solel")
.build())
.price_lists(&[PriceList::builder()
.from_date(2025, 2, 1)
.monthly_fee(Cost::fuses(&[
Expand All @@ -24,7 +26,7 @@ pub static BJARE_KRAFT_ELNAT_AB: GridOperator = GridOperator::builder()
(200, Money::new(9866, 0)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(5.3))
.transfer_fee(TransferFee::fixed_subunit(19.3))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
17 changes: 16 additions & 1 deletion src/registry/sweden/bjarke_energi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ pub static BJARKE_ENERGI: GridOperator = GridOperator::builder()
"https://www.bjerke-energi.se/elnat/tariffer/normaltariff/",
"h2 ~ table",
)
.feed_in_revenue_info_default(
"https://www.bjerke-energi.se/elnat/tariffer/producenttariff/",
)
.build(),
)
.price_lists(&[PriceList::builder()
Expand All @@ -24,7 +27,19 @@ pub static BJARKE_ENERGI: GridOperator = GridOperator::builder()
(63, Money::new(1000, 0)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::new_periods(CostPeriods::new(&[
CostPeriod::builder()
.load(High)
.cost(Cost::fixed_subunit(7.5))
.months(November, March)
.exclude_weekends()
.hours(06, 21)
.build(),
CostPeriod::builder()
.load(Low)
.cost(Cost::fixed_subunit(5.0))
.build(),
])))
.transfer_fee(TransferFee::new_periods(CostPeriods::new(&[
CostPeriod::builder()
.load(High)
Expand Down
11 changes: 9 additions & 2 deletions src/registry/sweden/blasjon_nat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ pub static BLASJON_NAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE556061917201")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 630))
.links(Links::builder().fee_info_default(FEE_LINK).build())
.links(
Links::builder()
.fee_info_default(FEE_LINK)
.feed_in_revenue_info_default(
"https://www.blasjonnat.se/elnat/46424.mikroproduktion.html",
)
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fuses(&[
Expand All @@ -30,7 +37,7 @@ pub static BLASJON_NAT_AB: GridOperator = GridOperator::builder()
(630, Money::new(451622, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(2.0))
.transfer_fee(TransferFee::fixed_subunit(27.81))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
3 changes: 2 additions & 1 deletion src/registry/sweden/borlange_energi_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ pub static BORLANGE_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
"https://www.borlange-energi.se/elnat/vad-kostar-elnatet",
"main",
)
.feed_in_revenue_info_default("https://www.borlange-energi.se/elnat/egen-elproduktion")
.build(),
)
.price_lists(&[PriceList::builder()
Expand All @@ -24,7 +25,7 @@ pub static BORLANGE_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
(63, Money::new(6050, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(3.5))
.transfer_fee(TransferFee::Simple(Cost::fuses(&[
(16, Money::new_subunit(32.0)),
(20, Money::new_subunit(31.0)),
Expand Down
11 changes: 9 additions & 2 deletions src/registry/sweden/bromolla_energi_vatten_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,19 @@ pub static BROMOLLA_ENERGI_VATTEN_AB: GridOperator = GridOperator::builder()
.vat_number("SE556525863801")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 63))
.links(Links::builder().fee_info(FEE_LINK, "#wrapper").build())
.links(
Links::builder()
.fee_info(FEE_LINK, "#wrapper")
.feed_in_revenue_info_default(
"https://www.bromolla.se/bevab/om-elmarknaden-och-elnat/elpriser/",
)
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(9999, 12, 31)
.monthly_fee(Cost::Unverified)
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(13.0))
.transfer_fee(TransferFee::Unverified)
.power_tariff(PowerTariff::Unverified)
.build()])
Expand Down
3 changes: 2 additions & 1 deletion src/registry/sweden/btea.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub static BTEA: GridOperator = GridOperator::builder()
.links(
Links::builder()
.fee_info("https://www.btea.se/elnat/elnatspriser", "table")
.feed_in_revenue_info_default("https://www.btea.se/elnat/mikroproduktion")
.build(),
)
.price_lists(&[PriceList::builder()
Expand All @@ -21,7 +22,7 @@ pub static BTEA: GridOperator = GridOperator::builder()
(63, Money::new(22720, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(6.5))
.transfer_fee(TransferFee::Simple(Cost::fixed_subunit(2.50)))
.power_tariff(PowerTariff::new(
// TODO: We need to differentiate between high load and low load hours..., Not day and night...
Expand Down
3 changes: 2 additions & 1 deletion src/registry/sweden/dala_energi_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub static DALA_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
.links(
Links::builder()
.fee_info("https://dalaenergi.se/el/avgift/", "*:has(> #priser)")
.feed_in_revenue_info_default("https://dalaenergi.se/el/avgift/")
.build(),
)
.price_lists(&[PriceList::builder()
Expand All @@ -21,7 +22,7 @@ pub static DALA_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
(63, Money::new(18000, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(7.5))
.transfer_fee(TransferFee::fixed_subunit(8.0))
.power_tariff(PowerTariff::new(
TariffCalculationMethod::AverageHours(3),
Expand Down
9 changes: 7 additions & 2 deletions src/registry/sweden/degerfors_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,17 @@ pub static DEGERFORS_ELNAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE559440444301")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 63))
.links(Links::builder().fee_info_default(FEE_LINK).build())
.links(
Links::builder()
.fee_info_default(FEE_LINK)
.feed_in_revenue_info_default("https://degerforsenergi.se/elnat/solel/")
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2024, 9, 1)
.monthly_fee(Cost::fixed(3000, 0))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(5.0))
.transfer_fee(TransferFee::fixed_subunit(17.5))
.power_tariff(PowerTariff::new(
TariffCalculationMethod::AverageHours(1),
Expand Down
11 changes: 9 additions & 2 deletions src/registry/sweden/emmaboda_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ pub static EMMABODA_ELNAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE556459927101")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 250))
.links(Links::builder().fee_info_default(FEE_LINK).build())
.links(
Links::builder()
.fee_info_default(FEE_LINK)
.feed_in_revenue_info_default(
"https://www.emmabodaenergi.se/elnat/mikroproducent/ersattning-for-natnytta.html",
)
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fuses(&[
Expand All @@ -25,7 +32,7 @@ pub static EMMABODA_ELNAT_AB: GridOperator = GridOperator::builder()
(250, Money::new(108375, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(6.5))
.transfer_fee(TransferFee::fixed_subunit(32.87))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
5 changes: 4 additions & 1 deletion src/registry/sweden/falbygdens_energi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,16 @@ pub static FALBYGDENS_ENERGI: GridOperator = GridOperator::builder()
"https://falbygdensenergi.se/privat/vart-elnat/elnatsavgifter-samt-villkor",
".pagecontent",
)
.feed_in_revenue_info_default(
"https://falbygdensenergi.se/foretag/elnatsavgifter/prislista-for-producenter",
)
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fixed(343, 42))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(3.02))
.transfer_fee(TransferFee::fixed_subunit(37.2))
.power_tariff(PowerTariff::new(
TariffCalculationMethod::AverageDaysDifferentiated { base: 1, peak: 1 },
Expand Down
11 changes: 9 additions & 2 deletions src/registry/sweden/filipstad_energinat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,14 @@ pub static FILIPSTAD_ENERGINAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE556517499101")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 63))
.links(Links::builder().fee_info(FEE_LINK, ".pagecontent").build())
.links(
Links::builder()
.fee_info(FEE_LINK, ".pagecontent")
.feed_in_revenue_info_default(
"https://www.filipstadenerginat.se/forkunder/avgifterochvillkor.64.html",
)
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fuses(&[
Expand All @@ -19,7 +26,7 @@ pub static FILIPSTAD_ENERGINAT_AB: GridOperator = GridOperator::builder()
(63, Money::new(1730, 0)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(2.62))
.transfer_fee(TransferFee::fixed_subunit(30.75))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
7 changes: 6 additions & 1 deletion src/registry/sweden/gavle_energi_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ pub static GAVLE_ENERGI_ELNAT_AB: GridOperator = GridOperator::builder()
.vat_number("SE559397122801")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 50))
.links(Links::builder().fee_info_default(FEE_LINK).build())
.links(
Links::builder()
.fee_info_default(FEE_LINK)
.feed_in_revenue_info_default("https://www.gavleenergi.se/elnat/elnatspriser/")
.build(),
)
.price_lists(&[
PriceList::builder()
.variant("Standard")
Expand Down
9 changes: 7 additions & 2 deletions src/registry/sweden/gotene_elforening.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,12 @@ pub static GOTENE_ELFORENING: GridOperator = GridOperator::builder()
.vat_number("SE769000061201")
.country(Country::SE)
.main_fuses(MainFuseSizes::new_range(16, 63))
.links(Links::builder().fee_info_default(FEE_LINK).build())
.links(
Links::builder()
.fee_info_default(FEE_LINK)
.feed_in_revenue_info_default("https://kinnekulleenergi.se/mikroproduktion/")
.build(),
)
.price_lists(&[PriceList::builder()
.from_date(2025, 1, 1)
.monthly_fee(Cost::fuses(&[
Expand All @@ -19,7 +24,7 @@ pub static GOTENE_ELFORENING: GridOperator = GridOperator::builder()
(63, Money::new(29420, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(2.4))
.transfer_fee(TransferFee::fixed_subunit(23.13))
.power_tariff(PowerTariff::NotImplemented)
.build()])
Expand Down
3 changes: 2 additions & 1 deletion src/registry/sweden/gotlands_elnat_ab.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const BASE_PRICELIST: PriceListBuilder = PriceListBuilder::new()
(200, Money::new(100930, 0).divide_by(12)),
]))
.monthly_production_fee(Cost::Unverified)
.feed_in_revenue(FeedInRevenue::Unverified)
.feed_in_revenue(FeedInRevenue::fixed_subunit(5.6))
.power_tariff(PowerTariff::NotImplemented);

pub static GOTLANDS_ELNAT_AB: GridOperator = GridOperator::builder()
Expand All @@ -29,6 +29,7 @@ pub static GOTLANDS_ELNAT_AB: GridOperator = GridOperator::builder()
"https://geab.se/elnat/avgift/elnatspriser/",
r#"[data-elementor-post-type="page"] > section:nth-child(n + 4)"#,
)
.feed_in_revenue_info_default("https://geab.se/elnat/avgift/elnatspriser/")
.build(),
)
.price_lists(&[
Expand Down
Loading
Loading