talotekniikkaa.fi

⚡ SähköNyt API

Pörssisähkön hintatiedot kotiautomaatioon

🚀 Aloitus

API-avain

API-avain luodaan SähköNyt-sovelluksen asetuksista (Premium-käyttäjille).

Avain on muotoa snyt_xxx...

Perus-URL

Kaikki pyynnöt osoitteeseen:

https://www.talotekniikkaa.fi/sahkonyt/api.php
Rate Limit

1000 pyyntöä päivässä per API-avain.

Nollautuu keskiyöllä (UTC+2).

📡 Endpointit

GET /api.php?key=API_KEY

Palauttaa nykyisen hinnan ja päivän tilastot.

Parametri Tyyppi Kuvaus
key pakollinen string API-avaimesi
Vastaus
{
  "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 }
  }
}
GET /api.php?key=API_KEY&hours=3

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)
Vastaus
{
  "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"
  }
}
GET /api.php?key=API_KEY&threshold=5

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
Vastaus
{
  "success": true,
  "result": {
    "is_cheap": true,
    "current_price": 3.21,
    "cheap_until": "2025-12-15 20:00:00",
    "next_cheap": null
  }
}

💡 Käyttöesimerkit

🔌
Sähköauton lataus

Hae halvin 4 tunnin jakso yölle:
?hours=4&day=tomorrow

🌡️
Lattialämmitys

Lämmitä kun hinta alle 5 c/kWh:
?threshold=5

🧺
Pyykinpesukone

Hae halvin 2h jakso tänään:
?hours=2&day=today

💻 Esimerkkikoodit

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"

⚠️ Virhekoodit

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
Huomisen hinnat saatavilla klo 14 jälkeen.