Roadmap
Elsignal utvecklas stegvis från en enkel öppen elpris- och dataprodukt till en öppen signalplattform för flexibel elanvändning i Sverige.
Målet är inte bara att visa elpriser, utan att omvandla elprisdata och framtida energidata till begripliga rekommendationer, energisignaler och automationsvänliga flaggor.
Elsignal ska hjälpa användare att förstå när det är ett bra läge att använda flexibel el, exempelvis för att:
- tvätta
- köra diskmaskinen
- ladda elbilen
- värma varmvattenberedaren
- förvärma huset
- ladda batteri
- använda egen solel
- flytta förbrukning till mer systemvänliga perioder
Elsignal ska vara API-first, data-first och open ecosystem.
Home Assistant, Homey och liknande system är viktiga klienter, men de är inte huvudprodukten. API:t och signallagret är kärnan.
Strategisk riktning
Elsignal ska fylla gapet mellan rå elprisdata och faktisk flexibel elanvändning.
Rå prisdata svarar på frågan:
Vad kostar elen?
Elsignal ska svara på frågor som:
Är det en bra tid att använda flexibel el?
Är det läge att tvätta, diska eller ladda bilen?
Är det bättre att vänta?
Vilka perioder bör undvikas?
När är bästa sammanhängande körfönster?
Hur ser morgondagens energiplan ut?
Är rekommendationen baserad på pris, systemnytta, sol, väder eller en kombination?
Elsignal ska i första versionerna inte fjärrstyra användarens utrustning direkt.
Elsignal ska i stället:
- leverera data
- ge signaler
- ge praktiska rekommendationer
- rekommendera tidsfönster
- förklara varför en signal ges
Användarens lokala system, app, integration eller anslutna produkt avgör själv hur signalen används.
Användaren väljer ambitionsnivå
Elsignal ska fungera både för vanliga användare och avancerade användare.
En vanlig användare ska kunna använda Elsignal utan teknisk kunskap.
Exempel:
Nu är det ett bra läge att tvätta.
Vänta gärna med elbilsladdning till i natt.
Det här är ett bra fönster för varmvattenberedaren.
Den här perioden är bra om du vill stödja elnätet.
En avancerad användare ska senare kunna använda samma signaler för automation via exempelvis:
- API
- MQTT
- webhooks
- Home Assistant
- Homey
- Shelly
- Ohmigo
- smarta reläer
- egna script
- partnerprodukter
Automation ska alltid vara frivillig.
Grundtanken är:
Elsignal ger signalen.
Användaren eller ansluten produkt väljer vad som ska hända.
Användaren väljer mål
Elsignal ska på sikt kunna anpassa rekommendationerna efter användarens mål.
Grundläggande optimeringsmål:
cost
grid_support
solar_self_consumption
balanced
Svenska etiketter:
| API-värde | Svensk text |
|---|---|
cost |
Spara pengar |
grid_support |
Stödja elnätet |
solar_self_consumption |
Använda mer egen solel |
balanced |
Balanserat |
Det gör att Elsignal kan vara relevant även för användare som inte har timpris.
För användare med fastpris ska Elsignal inte beskriva nyttan som direkt timvis ekonomisk besparing. Fokus ska i stället vara att användaren med enkla medel kan bidra till ett mer balanserat elsystem genom att flytta flexibel elanvändning.
Fas 0 – Projektgrund
Mål: skapa en tydlig och strukturerad grund för projektet.
Uppgifter
- Skapa GitHub-repository
- Lägg till
README.md - Lägg till
ROADMAP.md - Lägg till
ARCHITECTURE.md - Lägg till
API.md - Lägg till
DATA_MODEL.md - Lägg till enkel dokumentationssida
- Definiera första MVP
-
Definiera projektets principer:
- API-first
- data-first
- open ecosystem
- Sweden first
- 15-minutersperioder först
- inga direkta styrkommandon i första versionerna
- användaren behåller kontrollen
- enkla råd först, automation senare
Status: Pågår
Fas 1 – Kärnmodell och prisdata
Mål: skapa en stabil grund för svensk elprisdata med stöd för 15-minutersperioder.
Funktioner
-
Stöd för svenska elområden:
SE1SE2SE3SE4
- Hämta dagens elpriser
- Hämta morgondagens elpriser när de finns tillgängliga
- Visa aktuellt elpris
- Normalisera prisdata
- Hantera 15-minutersperioder som grundmodell
- Returnera data som JSON
-
Hantera status för prisdata:
pendingpartialcompletestaleerror
Viktig princip
Elsignal ska inte bygga sin interna modell på fasta timmar.
Varje prispost ska vara en period med:
- starttid
- sluttid
- pris
- valuta
- elområde
- prisnivå
- eventuella signaler
Exempel på period
{
"start": "2026-05-19T00:00:00+02:00",
"end": "2026-05-19T00:15:00+02:00",
"spot_price": 0.48,
"currency": "SEK",
"area": "SE3",
"price_level": "cheap"
}
Status: Planerad
Fas 2 – Summary API och daily plan
Mål: skapa de viktigaste API-svaren som klienter kan använda direkt.
Elsignal ska tidigt erbjuda ett enkelt men användbart API som kan användas av webbplats, appar, script, smarta hem och framtida produkter.
Viktiga endpoints
GET /api/v1/public/areas
GET /api/v1/public/prices/{area}/today
GET /api/v1/public/prices/{area}/tomorrow
GET /api/v1/public/prices/{area}/current
GET /api/v1/public/prices/{area}/summary
GET /api/v1/public/plans/{area}/today
GET /api/v1/public/plans/{area}/tomorrow
Summary endpoint
Den viktigaste enkla endpointen är:
GET /api/v1/public/prices/{area}/summary
Den ska samla det viktigaste för enkla klienter:
- aktuellt pris
- aktuell prisnivå
- P30
- P80
- billigaste perioder
- dyraste perioder
- bästa sammanhängande tidsfönster
- enkel rekommendation
- automationsvänliga flaggor
- status för morgondagens priser
Exempel på enkel rekommendation:
{
"recommendation": {
"level": "good",
"message": "Bra läge att använda flexibel el.",
"recommended_uses": [
"washing_machine",
"dishwasher",
"ev_charging",
"water_heater"
],
"reason": "Priset är lågt och perioden är lämplig för flexibel elanvändning."
}
}
Daily plan endpoint
Daily plan är viktig för system som inte ska behöva polla API:t hela tiden.
En klient ska normalt kunna hämta en komplett dagsplan och sedan använda den lokalt.
Exempel:
GET /api/v1/public/plans/SE3/tomorrow
En daily plan ska innehålla:
- elområde
- datum
- tidszon
- genereringstid
- giltighetstid
- alla prisperioder
- P30/P80
- prisnivåer
- billigaste perioder
- dyraste perioder
- bästa tidsfönster
- enkla rekommendationer
- enkla flaggor
- status för datakvalitet
Rekommenderat klientbeteende
Klienter bör normalt hämta data:
- vid uppstart
- när cache saknas
- efter att morgondagens priser finns
- vid manuell uppdatering
- när lokal data är för gammal
Status: Planerad
Fas 3 – Smart prisanalys
Mål: omvandla rå elprisdata till användbara prissignaler.
Funktioner
- Billigaste X perioder
- Dyraste X perioder
- Bästa sammanhängande tidsfönster
- Sämsta sammanhängande tidsfönster
- Aktuell prisnivå
- Aktuell periods prisrankning
- P30- och P80-nivåer
- Enkla rekommendationsflaggor
- Enkla automationsflaggor
Exempel på signaler
cheapest_3h_window
cheapest_5h_window
most_expensive_3h_window
best_3h_window
worst_3h_window
is_cheap_now
is_expensive_now
is_in_best_window
good_time_to_consume
avoid_consumption
price_level
p30
p80
Prisnivåer
Elsignal ska klassificera prisnivåer med enkla och begripliga begrepp.
cheap
normal
expensive
Grundmodell:
cheap= pris under P30normal= pris mellan P30 och P80expensive= pris över P80
I svenskt gränssnitt visas detta som:
- Billigt
- Normalt
- Dyrt
Status: Planerad
Fas 4 – Publik webbplats och visuell demo
Mål: göra Elsignal begripligt och säljande även utan teknisk kunskap.
Webbplatsen ska inte bara vara dokumentation. Den ska också visa vad Elsignal gör.
En snygg graf, elprisklocka och tydliga signaler fungerar som en visuell demonstration av API:t.
Funktioner
- Välja elområde
- Visa aktuellt elpris
- Visa dagens elpriser
- Visa morgondagens elpriser när de finns
- Visa elprisgraf
- Visa P30- och P80-nivåer i grafen
- Färgmarkera prisnivåer
- Visa billigaste perioder
- Visa dyraste perioder
- Visa bästa tidsfönster
-
Visa enkel rekommendation:
- bra läge
- vänta gärna
- undvik om möjligt
-
Visa exempel på vad signalen passar för:
- tvätt
- disk
- elbil
- varmvatten
- värmepump
- Visa enkel förklaring av signalerna
- Låta användaren kopiera API-länkar
- Fungera bra på mobil, surfplatta och desktop
Elprisgraf
Förstasidan ska visa dagens elpriser i en tydlig graf.
Grafen ska innehålla:
- 15-minuterspriser
- P30-referenslinje
- P80-referenslinje
- grön färg för priser under P30
- gul färg för priser mellan P30 och P80
- röd färg för priser över P80
- markering för aktuell period när användaren tittar på dagens priser
Elprisklocka
Användaren ska även kunna välja en elprisklocka.
Elprisklockan visar dygnet som en cirkulär 24-timmarsvy där perioderna färgsätts efter prisnivå:
- grön = billig
- gul = normal
- röd = dyr
Aktuell period ska kunna markeras tydligt.
Visningsläge
Användaren ska kunna välja mellan:
graph
price_clock
both
I första versionen kan detta sparas lokalt i webbläsaren.
Status: Planerad
Fas 5 – Grundläggande användarinställningar
Mål: låta användaren anpassa visningen och signalerna utan att konto krävs.
Elsignal ska fungera utan konto, men användaren ska ändå kunna göra enkla val lokalt i webbläsaren.
Grundinställningar
- Elområde
- Avtalstyp
- Elleverantör
- Elnätsbolag
- Föredraget visningsläge
- Optimeringsmål
- Om hushållet har solceller
- Om hushållet har batteri
- Om hushållet har flexibel elanvändning
- Vilka råd användaren vill se
Exempel på flexibla användningsområden
washing_machine
dishwasher
ev_charging
water_heater
heat_pump_preheating
battery_charging
solar_self_consumption
generic_flexible_load
Svenska etiketter:
| API-värde | Svensk text |
|---|---|
washing_machine |
Tvättmaskin |
dishwasher |
Diskmaskin |
ev_charging |
Elbilsladdning |
water_heater |
Varmvattenberedare |
heat_pump_preheating |
Förvärmning av hus |
battery_charging |
Batteriladdning |
solar_self_consumption |
Använda egen solel |
generic_flexible_load |
Annan flexibel förbrukning |
Elområden
SE1
SE2
SE3
SE4
Svenska etiketter:
Elområde 1 – SE1
Elområde 2 – SE2
Elområde 3 – SE3
Elområde 4 – SE4
Avtalstyper
hourly
variable
fixed
mixed
unknown
| API-värde | Svensk text |
|---|---|
hourly |
Timpris |
variable |
Rörligt pris |
fixed |
Fastpris |
mixed |
Mixavtal |
unknown |
Vet ej |
Optimeringsmål
cost
grid_support
solar_self_consumption
balanced
| API-värde | Svensk text |
|---|---|
cost |
Spara pengar |
grid_support |
Stödja elsystemet |
solar_self_consumption |
Använda mer egen solel |
balanced |
Balanserat |
Viktigt om fastpris
För användare med fastpris ska Elsignal inte beskriva nyttan som direkt timvis ekonomisk besparing.
För fastpris ska fokus vara:
- systemnytta
- jämnare belastning
- flytt av flexibel elanvändning från belastade perioder
- bättre användning av elsystemet
Status: Planerad
Fas 6 – Energisignalmotor
Mål: gå från elprisanalys till bredare energisignaler.
Elsignal ska stegvis utvecklas från en elpristjänst till en signalmotor för flexibel elanvändning.
Första signalerna
price_score
grid_support_score
combined_score
Senare signaler
solar_score
weather_score
device_score
battery_score
Exempel på signaler
good_time_to_consume
avoid_consumption
best_window
solar_friendly
grid_friendly
supports_grid
high_load_risk
wait
Exempel på automationsflaggor
is_cheap_now
is_expensive_now
is_good_time_to_consume
is_in_best_window
is_solar_friendly
avoid_consumption
supports_grid_now
Förklarbara signaler
Signaler ska kunna förklaras.
Exempel:
{
"signal": "good_time_to_consume",
"combined_score": 91,
"reason": "Low electricity price and favorable grid-support signal."
}
Svenskt gränssnitt:
Bra tid att använda flexibel el. Priset är lågt och perioden är systemvänlig.
Status: Planerad
Fas 7 – Enhetstyper och rekommenderade körfönster
Mål: göra signalerna mer användbara för olika typer av flexibel elanvändning.
Olika enheter har olika behov. En elbilsladdare, värmepump, varmvattenberedare och ett batteri ska inte nödvändigtvis tolka signalerna på samma sätt.
Enhetstyper
washing_machine
dishwasher
water_heater
ev_charger
heat_pump
battery
solar_inverter
generic_switch
smart_relay
energy_manager
home_automation
Rekommendationer per enhet
Elsignal ska kunna ge rekommenderade tidsfönster baserat på:
- elområde
- datum
- prisnivå
- önskad körlängd
- optimeringsmål
- avtalstyp
- framtida solsignal
- framtida vädersignal
- framtida systemnyttosignal
Exempel
GET /api/v1/public/recommendations?area=SE3&device_type=water_heater&duration=PT3H
Svar kan innehålla:
- rekommenderad starttid
- rekommenderad sluttid
- genomsnittspris
- prisnivå
- score
- rekommenderade användningsområden
- förklaring
Status: Framtid
Fas 8 – Väderpåverkan, solceller och prognosbaserade signaler
Mål: göra Elsignal smartare genom att väga in väder, solproduktion och prognoser.
Väder och sol ska inte ersätta elprissignalen. De ska fungera som kompletterande signaler i framtida combined_score.
Möjliga väderdata
- Utomhustemperatur
- Vind
- Solinstrålning
- Molnighet
- Nederbörd
- Väderprognos för kommande timmar
- Upplevd temperatur
- Värmebehov
- Kylbehov
- Förväntad solcellsproduktion
Framtida sol- och batterisignaler
- bra tid att använda egen solel
- bra tid att ladda batteri
- bra tid att undvika import
- bra tid att minska export
- bra tid att flytta förbrukning till solfönster
Exempel för värmepump
Elen är billig nu, men kvällen väntas bli kall.
Elsignal kan rekommendera förvärmning före dyra timmar.
Exempel för solceller
Solproduktion väntas mitt på dagen.
Elsignal kan rekommendera att flexibel elanvändning flyttas till solfönstret.
Exempel på vädersignal
{
"weather_score": 72,
"weather_reason": "Cold evening expected. Preheating may be useful before expensive hours."
}
Svenskt gränssnitt:
Kall kväll väntas. Förvärmning kan vara lämpligt före dyra timmar.
Status: Framtid
Fas 9 – Frivilliga konton och sparade profiler
Mål: göra det möjligt att spara inställningar mellan enheter.
Grundläggande elprisdata ska fortsatt kunna användas utan konto.
Konto ska vara frivilligt och användas för mer avancerade funktioner.
Funktioner
- Skapa konto
- Spara elområde
- Spara avtalstyp
- Spara optimeringsmål
- Spara flera hem
- Spara föredraget visningsläge
- Spara vilka råd användaren vill se
- Spara API-nycklar
- Förbereda personliga signaler
- Förbereda framtida mobilapp
Framtida profilinformation
- Solceller
- Batteri
- Elbilsladdare
- Varmvattenberedare
- Värmepump
- Smarta hem-system
- Föredragna tider
- Flexibel förbrukning
- Notisinställningar
- Automationsnivå
Status: Framtid
Fas 10 – Notiser och enkla användarsignaler
Mål: låta användare ta del av Elsignals råd utan att behöva bygga automationer.
Detta är ett mellansteg mellan enkel webbvisning och avancerad automation.
Funktioner
- Notis när morgondagens plan är klar
- Notis när det är ett bra läge att använda flexibel el
- Notis när det är lämpligt att ladda elbil
- Notis när det är lämpligt att köra VVB
- Notis när det är bättre att vänta
- Notis för systemvänliga perioder
- Notiser baserat på användarens valda mål
Möjliga kanaler
- e-post
- appnotis
- webhook
- framtida SMS
- framtida integrationsnotiser
Viktig princip
Notiser ska vara användarstyrda.
Användaren ska själv kunna välja:
- vilka råd som ska skickas
- hur ofta notiser ska skickas
- vilka kanaler som ska användas
- om notiser ska baseras på pris, systemnytta, solel eller balanserat läge
Status: Framtid
Fas 11 – Klienter och integrationer
Mål: göra Elsignal användbart i verkliga system utan att låsa projektet till ett ekosystem.
Integrationer ska ses som klienter till API:t.
Affärslogiken ska ligga i Elsignals backend och signalmotor, inte dupliceras i varje integration.
Planerade klienter och integrationer
- Exempelklient för Python
- Exempelklient för JavaScript/TypeScript
- MQTT
- Webhooks
- Home Assistant
- Homey
- Shelly-exempel
- Ohmigo-exempel
- Dokumenterade API-exempel
- Framtida PWA/mobilapp
Home Assistant
Home Assistant kan senare exponera data som sensorer och binära sensorer.
Exempel:
sensor.elsignal_current_price
sensor.elsignal_price_level
sensor.elsignal_price_score
sensor.elsignal_grid_support_score
sensor.elsignal_combined_score
binary_sensor.elsignal_cheap_now
binary_sensor.elsignal_expensive_now
binary_sensor.elsignal_good_time_to_consume
binary_sensor.elsignal_is_in_best_window
Men Home Assistant är inte huvudprodukten.
Det är en klient bland flera.
MQTT
MQTT kan användas för lokala system och smarta hem.
Exempel på framtida topics:
elsignal/SE3/signal
elsignal/SE3/price_level
elsignal/SE3/good_time_to_consume
elsignal/SE3/avoid_consumption
elsignal/SE3/recommended_window
Webhooks
Webhooks kan användas för enklare kopplingar till andra system.
Exempel:
good_time_to_consume
avoid_consumption
tomorrow_plan_ready
recommended_window_started
recommended_window_ending
Shelly och Ohmigo
Shelly, Ohmigo och liknande produkter ska ses som exempel på avancerade klienter eller styrvägar.
Elsignal ska inte behöva vara låst till en viss tillverkare.
Rekommenderad modell:
Elsignal signal
↓
lokal integration, webhook, MQTT eller script
↓
Shelly, Ohmigo eller annan enhet utför åtgärden
Status: Framtid
Fas 12 – Partner-API och tillverkare
Mål: göra det möjligt för tillverkare och tjänsteleverantörer att använda Elsignal i sina produkter.
Målgrupper
- Elbilsladdare
- Värmepumpsstyrningar
- Varmvattenberedare
- Batterisystem
- Solcellsinvertrar
- Energitjänster
- Aggregatörer
- Smarta hem-plattformar
- Tillverkarnas egna molntjänster
Funktioner
- Partner-API
- API-nycklar för partners
- Scopes
- Högre rate limits
- Enhetsprofiler
- Stabil API-versionering
- Partnerdokumentation
- Exempelintegrationer
- Statussida
- Changelog
- Kommersiell användningsmodell
Strategiskt värde
Tillverkare ska kunna ansluta sina produkter till Elsignals API och få färdiga energisignaler utan att själva behöva bygga elprisanalys, P30/P80, daily plans, systemnyttosignaler och framtida kombinerade signaler från grunden.
Status: Framtid
Fas 13 – Avancerade tariffmodeller
Mål: beräkna mer realistiska elkostnader.
Spotpris är inte hela elkostnaden. I framtiden ska Elsignal kunna ta hänsyn till fler kostnadsdelar.
Funktioner
- Moms
- Elhandlarens påslag
- Energiskatt
- Elnätsavgift
- Fast månadsavgift
- Tidsbaserade elnätsavgifter
- Effekttariffer
- Effektvarningar
Denna fas är viktig för användare som vill förstå sin verkliga elkostnad, inte bara spotpriset.
Status: Framtid
Fas 14 – Produktionsmognad
Mål: göra Elsignal stabilt nog för verkliga användare, appar och partners.
Funktioner
- Övervakning
- Loggning
- Backuper
- Felrapportering
- API-statussida
- Rate limiting
- Säkerhetsgranskning
- Dokumentation
- Användarvillkor
- Integritetspolicy
- Licensbeslut
- Changelog
- Versionspolicy
- Deprecation-policy
Status: Framtid
Föreslagen utvecklingsordning
MVP
1. Projektgrund
2. Prisdata SE1–SE4
3. 15-minutersperioder
4. Summary endpoint
5. Daily plan endpoint
6. P30/P80
7. Price levels
8. Billigaste och dyraste perioder
9. Bästa sammanhängande tidsfönster
10. Enkel rekommendation: bra läge / vänta / undvik
11. Enkel responsiv webbplats
12. Elprisgraf
13. Elprisklocka
Nästa steg
1. Lokala användarinställningar
2. Avtalstyp
3. Optimeringsmål
4. Fastpris som systemnytta
5. Rekommenderade användningsområden
6. price_score
7. grid_support_score
8. combined_score
9. Förklarbara signaler
10. Enkel notislogik
Senare
1. Enhetstyper
2. Rekommenderade körfönster
3. Väderpåverkan
4. Solcellssignaler
5. Batterisignaler
6. Frivilliga konton
7. Sparade profiler
8. Notiser via flera kanaler
9. MQTT och webhooks
10. Home Assistant och Homey
11. Shelly- och Ohmigo-exempel
12. Partner-API
13. Avancerade tariffmodeller
14. Produktionsmognad
Viktig avgränsning
Elsignal ska i början inte styra användarens utrustning direkt.
Skriv hellre:
Elsignal ger en signal.
Elsignal rekommenderar ett tidsfönster.
Elsignal förklarar varför perioden är lämplig.
Ansluten produkt avgör själv vad den gör.
Användarens lokala system utför faktisk styrning.
Undvik att beskriva Elsignal som en molntjänst som direkt slår på eller av privata enheter.
Sammanfattning
Elsignal börjar enkelt med svensk elprisdata, P30/P80, smarta tidsfönster, enkla rekommendationer och en tydlig publik webbplats.
Därefter växer projektet till en bredare signalplattform för flexibel elanvändning.
Den långsiktiga styrkan ligger inte i rå prisdata, utan i att Elsignal kan översätta eldata till tydliga, öppna och begripliga signaler som kan användas av många olika typer av klienter och produkter.
Elsignal ska göra det enkelt för vanliga användare att förstå när det är lämpligt att använda el, och samtidigt ge avancerade användare, integrationer och tillverkare möjlighet att bygga vidare på samma signaler.
```