Pörssisähkön hintatiedot kotiautomaatioon
API-avain luodaan SähköNyt-sovelluksen asetuksista (Premium-käyttäjille).
Avain on muotoa snyt_xxx...
Kaikki pyynnöt osoitteeseen:
https://www.talotekniikkaa.fi/sahkonyt/api.php
1000 pyyntöä päivässä per API-avain.
Nollautuu keskiyöllä (UTC+2).
Palauttaa nykyisen hinnan ja päivän tilastot.
| Parametri | Tyyppi | Kuvaus |
|---|---|---|
key pakollinen |
string | API-avaimesi |
{
"success": true,
"current": {
"price": 5.23,
"time": "2025-12-15 19:00:00",
"valid_until": "2025-12-15 19:15:00"
},
"today": {
"stats": { "min": 1.23, "max": 15.67, "avg": 6.45 }
}
}
Etsi halvin yhtenäinen aikajakso (1-8 tuntia). Täydellinen esim. auton lataukseen.
| Parametri | Tyyppi | Kuvaus |
|---|---|---|
key pakollinen |
string | API-avaimesi |
hours pakollinen |
integer | Jakson pituus tunteina (1-8) |
day valinnainen |
string | today, tomorrow tai tyhjä (molemmat) |
{
"success": true,
"result": {
"start": "2025-12-16 02:00:00",
"end": "2025-12-16 05:00:00",
"hours": 3,
"avg_price": 2.45,
"day": "tomorrow"
}
}
Tarkista onko nykyinen hinta alle asetetun rajan. Palauttaa myös seuraavan halvan jakson.
| Parametri | Tyyppi | Kuvaus |
|---|---|---|
key pakollinen |
string | API-avaimesi |
threshold pakollinen |
number | Hintaraja c/kWh |
{
"success": true,
"result": {
"is_cheap": true,
"current_price": 3.21,
"cheap_until": "2025-12-15 20:00:00",
"next_cheap": null
}
}
Hae halvin 4 tunnin jakso yölle:?hours=4&day=tomorrow
Lämmitä kun hinta alle 5 c/kWh:?threshold=5
Hae halvin 2h jakso tänään:?hours=2&day=today
import requests
API_KEY = "snyt_xxxxxxxx..."
BASE_URL = "https://www.talotekniikkaa.fi/sahkonyt/api.php"
# Nykyinen hinta
response = requests.get(f"{BASE_URL}?key={API_KEY}")
data = response.json()
print(f"Hinta nyt: {data['current']['price']} c/kWh")
# Halvin 3 tunnin jakso
response = requests.get(f"{BASE_URL}?key={API_KEY}&hours=3")
data = response.json()
result = data['result']
print(f"Halvin jakso: {result['start']} - {result['end']}")
# Onko nyt halpa? (alle 5 c/kWh)
response = requests.get(f"{BASE_URL}?key={API_KEY}&threshold=5")
data = response.json()
if data['result']['is_cheap']:
print("✅ Nyt on halpa sähkö!")
sensor:
- platform: rest
name: "Sähkön hinta"
resource: "https://www.talotekniikkaa.fi/sahkonyt/api.php?key=API_AVAIN"
value_template: "{{ value_json.current.price }}"
unit_of_measurement: "c/kWh"
scan_interval: 900 # 15 min
json_attributes_path: "$.current"
json_attributes:
- time
- valid_until
- platform: rest
name: "Halvin 3h jakso"
resource: "https://www.talotekniikkaa.fi/sahkonyt/api.php?key=API_AVAIN&hours=3"
value_template: "{{ value_json.result.start }}"
scan_interval: 3600 # 1h
json_attributes_path: "$.result"
json_attributes:
- end
- avg_price
- day
const API_KEY = 'snyt_xxxxxxxx...';
const BASE_URL = 'https://www.talotekniikkaa.fi/sahkonyt/api.php';
async function getCurrentPrice() {
const response = await fetch(`${BASE_URL}?key=${API_KEY}`);
const data = await response.json();
console.log(`Hinta nyt: ${data.current.price} c/kWh`);
return data;
}
async function getCheapestPeriod(hours) {
const response = await fetch(`${BASE_URL}?key=${API_KEY}&hours=${hours}`);
const data = await response.json();
console.log(`Halvin ${hours}h: ${data.result.start}`);
return data.result;
}
async function isCheapNow(threshold) {
const response = await fetch(`${BASE_URL}?key=${API_KEY}&threshold=${threshold}`);
const data = await response.json();
return data.result.is_cheap;
}
# Nykyinen hinta
curl "https://www.talotekniikkaa.fi/sahkonyt/api.php?key=API_AVAIN"
# Halvin 3 tunnin jakso
curl "https://www.talotekniikkaa.fi/sahkonyt/api.php?key=API_AVAIN&hours=3"
# Onko alle 5 c/kWh?
curl "https://www.talotekniikkaa.fi/sahkonyt/api.php?key=API_AVAIN&threshold=5"
| Koodi | Virhe | Ratkaisu |
|---|---|---|
401 |
API-avain puuttuu tai virheellinen | Tarkista avain |
403 |
API-avain deaktivoitu | Ota yhteyttä tukeen |
429 |
Päivittäinen raja ylitetty | Odota keskiyöhön |
500 |
Palvelinvirhe | Yritä myöhemmin |