Spot-hinta.fi - Yksinkertainen pörssiohjaus API ja sitä käyttävät automaatioskriptit

Mikki

Hyperaktiivi
En ehtinyt vielä tuota uusinta versiota laittaa, joten en tiedä johtuuko ongelma siitä mutta nyt oli klo 10 liipaistu lämmitys päälle näillä parametreilla kun olisi pitänyt mennä vasta joskus klo 13-16 välillä.

Ok, yritän tutkaista jos keksin jonkun syyn. Laitan vaikka vähän lokitusta lisää päälle tuohon API:in että voin katsoa serveripäästäkin enemmän debug tietoa.
 

kayttajatunnus

Aktiivinen jäsen
Ok, yritän tutkaista jos keksin jonkun syyn. Laitan vaikka vähän lokitusta lisää päälle tuohon API:in että voin katsoa serveripäästäkin enemmän debug tietoa.
Nyt teki saman klo 12. Sain lokiakin talteen.

Response JSON: {"httpStatusCode":200,"statusCodeReason":"Current hour rank is small enough.","monthAndDayAllowed":true,"rankNow":5,"calculatedRank":6,"priceWithTaxNow":8.06,"maxPriceLimitExceeded":false,"priceAlwaysAllowedResult":false,"averageTemperature
12:00:14
:11.08,"maxTemperatureLimitExceeded":false}
12:00:14
Changing relay status. Hour is cheap enough. New relay status (true/false): false
 

kayttajatunnus

Aktiivinen jäsen
Laitoin uuden version samoilla asetuksilla niin nyt toimi ainakin tämä klo 12 uudelleen oikein. Average temerature jostain syystä pätkäisee välillä lokissa.

Response JSON: {"httpStatusCode":400,"statusCodeReason":"Current hour rank is too large.","monthAndDayAllowed":true,"rankNow":17,"calculatedRank":6,"priceWithTaxNow":8.06,"maxPriceLimitExceeded":false,"priceAlwaysAllowedResult":false,"averageTemperature":
12:13:04
1.08,"maxTemperatureLimitExceeded":false}
12:13:04
Changing relay status. Hour is too expensive. New relay status (true/false): true
12:13:04


Edit: Tämä ei nyt pitänytkään paikkaansa koska oli jäänyt MinimumHoursPeriod_IsActive: true pois päältä.

Aina jotain unohtuu kun näitä manuaalisesti rämppää uuteen versioon.
 
Viimeksi muokattu:

Mikki

Hyperaktiivi
Laitoin nyt tämän "SmartHeating" skriptin masteriin, ja kirjoittelin samalla suomenkielistä selitystekstiä parametreille. Ensimmäinen versio siitä.

Jos joku otti BETA version käyttöön jo, niin suosittelen vaihtamaan sen tähän masteriin vietyyn versioon. Tänään vielä korjattiin skriptistä yksi bugi, mikä kannattaa korjata (hakee liian tiheästi tietoja).

Skripti löytyy Githubista: https://github.com/Spot-hinta-fi/Shelly/blob/main/Scripts/Shelly-SmartHeating.js
Tai Shellyn kirjaston kautta: https://api.spot-hinta.fi/shelly/scripts


Ps. Voi että olen tätä päivää odottanut, että pääsen eroon siitä vanhasta Outdoor -skriptistä. Koko skripti kyllä toimi, mutta heti koodattuani sen aloin vihaamaan sitä prosenttilaskentaa. :)
 

Jimi

Jäsen
Mikki, voisiko noihin scripteihin saada lisäfeaturen shelly add-on lämpöanturille niin että voisi rajoittaa releen vetämistä halvimpina tunteina lämpötilan avulla eli voisi toteuttaa lämpötilan pudotustoiminnon. Toimisi ikäänkuin myös termostaattina. Yksi parametri lisää että rele vetää halpoina tunteina vain jos sisälämpötila on alle max. rajan.
Nyt on keskitetty kontaktori joka ohjaa päälle halpoina tunteina ja seinätermarit hoitaa lämpötilan säädön n. 21 asteessa, mutta lämmön pudotustilassa poissaollessa seinätermarit ei ole pelissä vaan scriptin pitäisi osata lopettaa lämmitys n. 12 asteessa.
 

Mikki

Hyperaktiivi
Mikki, voisiko noihin scripteihin saada lisäfeaturen shelly add-on lämpöanturille niin että voisi rajoittaa releen vetämistä halvimpina tunteina lämpötilan avulla eli voisi toteuttaa lämpötilan pudotustoiminnon. Toimisi ikäänkuin myös termostaattina. Yksi parametri lisää että rele vetää halpoina tunteina vain jos sisälämpötila on alle max. rajan.

Hmm... täytyisi tutkia asiaa vähän. Minulla ei tuollaista anturia ole, mutta ihan mielenkiinnosta voisihan sellaisen hommatakin. Tehtävissä varmastikkin tuollainen skriptillä.
 

kayttajatunnus

Aktiivinen jäsen
Tässä kun on vähän aikaa taas testaillut säiden viiletessä niin tällainen havainto. Skripti itsessään on toiminut ihan moitteetta.

Nyt kun on ulkoilma jäähtynyt niin Minimum hours periodiin kaipaisi lisää säädettävyyttä. Alunperinhän olit aikonut jakaa vuorokauden kolmeen osaan mutta sekään ei olisi tähän toiminut. Ongelmana on siis se, että päivän ajalle ei saa riittävän tarkasti jaettua lämmittäviä tunteja. Vaikka sisälämpötila ei hirveästi ehdi tippumaan niin sisään ehtii kuitenkin tulla jo vähän kalsea.

Varmaan 99% päivästä menee kaavalla että halvimmat tunnit ovat 21-07 välillä ja kalleimmat tunnit keskellä päivää ja ehkä 18-20 välillä. Nollan paikkeilla kun on vaikka 14 lämmittävää tuntia ja 10 ei lämmittävää niin aika iso osa niistä osuu siihen 8-18 aikaan ja jos koko sen ajan on lämmitys pois, alkaa sisälämpö tippua.

Miten vaikea olisi tehdä useampi Minimum hours period johon voisi asettaa eri tunnit? Eli esim aamupäivälle saisi sitten yhden ja iltapäivälle yhden. Jos käyttää aamu- ja iltapäivän kattavaa asetusta niin hyvin usein ne kaksi tuntia osuvat peräkkäisille tunneille iltapäivän loppuun.
 

Mikki

Hyperaktiivi
Tässä kun on vähän aikaa taas testaillut säiden viiletessä niin tällainen havainto. Skripti itsessään on toiminut ihan moitteetta.
Hyvä kuulla tämä.

Miten vaikea olisi tehdä useampi Minimum hours period johon voisi asettaa eri tunnit? Eli esim aamupäivälle saisi sitten yhden ja iltapäivälle yhden. Jos käyttää aamu- ja iltapäivän kattavaa asetusta niin hyvin usein ne kaksi tuntia osuvat peräkkäisille tunneille iltapäivän loppuun.

Joo... tätä kohtaa voi vielä kehitellä eteenpäin. Voisin tuumia tätä kanssa, että voisiko tehdä asian jotenkin helpommin kuin lisäämällä uuden periodin. Tyyliin lisäparametri, joka sanoo että nämä minimumhour-tunnit ei saa olla peräkkäin.
 

Salzi

Jäsen
toimisiko jos määrittelisi maksimivälin tauolle? Vaikka 6h taukoa, jonka jälkeen valitsee halvimman tunnin kolmesta seuraavasta tms?
 

B12

Aktiivinen jäsen
Päivittelin releiden firmikset. Onko tuossa "Minimal" skriptissä halvimmat tunnit ilmoitettu "1,2,3" vai "3" jos haluaa esim kolme halvinta? Defaulttina näkyy olevan "4" ja ohje sanoo halvimpien lukumäärän.

"booster hours" myös näkyy hävinneen ominaisuuksista.
 
Tässä kun on vähän aikaa taas testaillut säiden viiletessä niin tällainen havainto. Skripti itsessään on toiminut ihan moitteetta.

Nyt kun on ulkoilma jäähtynyt niin Minimum hours periodiin kaipaisi lisää säädettävyyttä. Alunperinhän olit aikonut jakaa vuorokauden kolmeen osaan mutta sekään ei olisi tähän toiminut. Ongelmana on siis se, että päivän ajalle ei saa riittävän tarkasti jaettua lämmittäviä tunteja. Vaikka sisälämpötila ei hirveästi ehdi tippumaan niin sisään ehtii kuitenkin tulla jo vähän kalsea.

Varmaan 99% päivästä menee kaavalla että halvimmat tunnit ovat 21-07 välillä ja kalleimmat tunnit keskellä päivää ja ehkä 18-20 välillä. Nollan paikkeilla kun on vaikka 14 lämmittävää tuntia ja 10 ei lämmittävää niin aika iso osa niistä osuu siihen 8-18 aikaan ja jos koko sen ajan on lämmitys pois, alkaa sisälämpö tippua.

Miten vaikea olisi tehdä useampi Minimum hours period johon voisi asettaa eri tunnit? Eli esim aamupäivälle saisi sitten yhden ja iltapäivälle yhden. Jos käyttää aamu- ja iltapäivän kattavaa asetusta niin hyvin usein ne kaksi tuntia osuvat peräkkäisille tunneille iltapäivän loppuun.
Olisi kätevää, jos olisi rajaus siitä, että kuinka monta blokattua tuntia saa olla peräkkäin.

Yksinkertaisessa mallissa tuo olisi säädettävä liukukytkin, esim jos max peräkkäiset tunnit olisi 3, niin aina neljän tunnin välein järjestelmä sallii yhden tunnin. Tähän saa kyllä optimoinnin.

Jatkokehityksenä voi sitten tehdä tuosta säädöstä lämpötilariippuvaisen. Tässä olisi python-puolen koodi ja tuloste lopputuloksesta. Tuloste saatu aikaan valitsemalla 10 tuntia keksitystä 24 tunnin jaksosta siten, että yli 3 tunnin blokkijaksoja ei saa olla. Tulosteen tekee koodin kohta

prices = [50, 45, 40, 35, 30, 80, 90, 100, 85, 55, 50, 45, 40, 35, 30, 80, 90, 100, 85, 55, 50, 45, 40, 35]
allowed_hours = create_list_of_allowed_hours(prices, 10, 3) # (hinnat, valittavien tuntien lkm, pisin sallitut blokkijakso)

HUOM. Koodi ei oikeasti optimoi tehokkaasti, havainnollistaa vain periaatteen

Koodi:
C:\koodi\porssi_optimointi
λ python optimoi_tunnit.py
Hour    Price   Selected        Blocked
------------------------------------
0       50              BLOCKED
1       45              BLOCKED
2       40      SELECTED
3       35      SELECTED
4       30      SELECTED
5       80      SELECTED
6       90              BLOCKED
7       100             BLOCKED
8       85              BLOCKED
9       55      SELECTED
10      50              BLOCKED
11      45      SELECTED
12      40      SELECTED
13      35      SELECTED
14      30      SELECTED
15      80      SELECTED
16      90              BLOCKED
17      100             BLOCKED
18      85              BLOCKED
19      55      SELECTED
20      50              BLOCKED
21      45      SELECTED
22      40      SELECTED
23      35      SELECTED
------------------------------------
Total price for allowed hours: 645
Average price for allowed hours: 46.00
Average price for the day: 57.00

Koodi:
def create_list_of_allowed_hours(prices, amount_of_hours_to_be_blocked, max_amount_of_continuos_blocked_hours):
    """
    Create a list of hours to be blocked based on the given constraints.
  
    Parameters:
    - prices (list of float): A list of 24 hourly electricity prices.
    - amount_of_hours_to_be_blocked (int): Number of hours to block.
    - max_amount_of_continuos_blocked_hours (int): Maximum number of continuous hours that can be blocked.
  
    Returns:
    - list of int: A list of indices representing the hours to block.
    """
  
    if len(prices) != 24:
        raise ValueError("The prices list should have 24 elements.")
  
    indexed_prices = [(price, index) for index, price in enumerate(prices)]
    indexed_prices.sort(key=lambda x: x[0], reverse=True)
  
    blocked_hours = []
  
    for _, index in indexed_prices:
        if can_block_hour(blocked_hours, index, max_amount_of_continuos_blocked_hours):
            blocked_hours.append(index)
      
        if len(blocked_hours) == amount_of_hours_to_be_blocked:
            break
  
    return [i for i in range(24) if i not in blocked_hours]
def can_block_hour(blocked_hours, hour, max_continuous):
    for i in range(1, max_continuous + 1):
        if (hour - i) % 24 not in blocked_hours and (hour + i) % 24 not in blocked_hours:
            return True
    return False
def print_allowed_hours_info(prices, allowed_hours):
    """
    Print the price for each hour, indicating which hours are selected and which are blocked.
  
    Parameters:
    - prices (list of float): A list of 24 hourly electricity prices.
    - allowed_hours (list of int): A list of indices representing the hours that are allowed.
    """
    total_price = 0
    print("Hour\tPrice\tSelected\tBlocked")
    print("------------------------------------")
    for hour in range(24):
        selected = "SELECTED" if hour in allowed_hours else ""
        blocked = "BLOCKED" if hour not in allowed_hours else ""
        print("{}\t{}\t{}\t{}".format(hour, prices[hour], selected, blocked))
        if hour in allowed_hours:
            total_price += prices[hour]
  
    average_price_for_day = sum(prices) / 24
    average_price_for_allowed_hours = total_price / len(allowed_hours)
  
    print("------------------------------------")
    print("Total price for allowed hours: {}".format(total_price))
    print("Average price for allowed hours: {:.2f}".format(average_price_for_allowed_hours))
    print("Average price for the day: {:.2f}".format(average_price_for_day))

# Example usage:
prices = [50, 45, 40, 35, 30, 80, 90, 100, 85, 55, 50, 45, 40, 35, 30, 80, 90, 100, 85, 55, 50, 45, 40, 35]
allowed_hours = create_list_of_allowed_hours(prices, 10, 3)
print_allowed_hours_info(prices, allowed_hours)
Average price for the day: 57.00
 
Viimeksi muokattu:

Jimi

Jäsen
Jos on termostaattitoiminto tai scene päällä yhtäaikaa scriptin kans ja niiden logiikka poikkeaa, mitä tapahtuu ? Ohjaavatko kilpaa ja räpsyttelevät relettä edestakaisin niin nopeasti kuin ehtivät ? Vai onko shellyissä jokin prioriteetti tms. toiminto estämään tälläistä ? onko joku testaillut tälläistä.
 

Mikki

Hyperaktiivi
Jos on termostaattitoiminto tai scene päällä yhtäaikaa scriptin kans ja niiden logiikka poikkeaa, mitä tapahtuu ? Ohjaavatko kilpaa ja räpsyttelevät relettä edestakaisin niin nopeasti kuin ehtivät ? Vai onko shellyissä jokin prioriteetti tms. toiminto estämään tälläistä ? onko joku testaillut tälläistä.

Teknisesti spot-hinta.fi skriptit tekevät ohjauksen kerran tunnissa. Ennen seuraavan tunnin vaihtumista, ei se puutu mihinkään muuhun ohjaukseen. Ja jos seuraavien tuntien ohjaus olisi sama kuin kuluvan tunnin, ei sittenkään skripti koske releeseen.

Eli kyllä voit katkaista lämmityksen scenellä jos haluat vaikka huonelämpötilan mukaan rajoittaa lämmitystä. Mitään räpsymistä ei tule ainakaan näiden spot-hinta.fi skriptien kanssa.
 
Viimeksi muokattu:

kayttajatunnus

Aktiivinen jäsen
Kyllä tämä nyt tuntuu toimivan aika kivasti. Lämmöt kun laski niin ei ihan meinaa systeemit pysyä perässä lämmityksen kanssa mutta pitää vain lisätä tunteja oikealle asteluvulle.

Lyhensin vielä sitä keskipäivän lämmitysikkunaa niin ei pääse lämmöt heilumaan. Aika hyvin uudehkossa talossa kuitenkin vielä nollakeleillä pysyy lämmöt.

Täytyy odotella 10 asteen pakkasia niin sitten osaa taas sanoa paremmin olisiko sille aikaikkunan jaolle vielä tarvetta.
 

Peppe

Tulokas
Myös minulla positiiviset kokemukset SmartHeating scriptistä. Toimii hienosti (kuten muutkin scriptit, joita kaikkia olen kokeillut).
Aikansa toki kestää, ennen kuin lämpötila-asetukset saa fiilattua sopiviksi.

Scriptin asetusten ryhmittely on hieno juttu, helpottaa kummasti säätöjen tekemistä!

Suuret kiitokset näistä!
 

janik

Tulokas
Moi,
Mietin tässä kun katselin että miten lämminvesivaraaja on ollut päällä ja onhan se sähkö ollut nytten halpaa mutta saisiko se olla näin kauan päällä yhtä putkeen? :)
Käytän scriptipä: Shelly-Rank_and_Price_limit.js
 

Liitteet

  • Screenshot 2023-10-16 at 7.29.03.png
    Screenshot 2023-10-16 at 7.29.03.png
    147 KB · Katsottu: 87

Mikki

Hyperaktiivi
Moi,
Mietin tässä kun katselin että miten lämminvesivaraaja on ollut päällä ja onhan se sähkö ollut nytten halpaa mutta saisiko se olla näin kauan päällä yhtä putkeen? :)
Käytän scriptipä: Shelly-Rank_and_Price_limit.js

Jos on käytössä aina sallittu hinta, vaikka "nolla" ja ollaan miinuksella, niin kyllä se sitten päällä on.

Ei varaaja siitä välitä että se on päällä pitkään: termostaatti katkaisee lämmityksen kuitenkin jos ei ole tarvetta lämmittää.

On kyllä hulppean halpaa sähkö ollut :)
 

Lappanen

Vakionaama
Ollut kyllä epänormaali tilanne sähkönhinnan osalta, MLP saanut pyöriä nyt 38 tuntia putkeen nollatuntien aikana, yksi tunnin tauko asteminuuttien takia ollut mutta muuten tehnyt lämmintä käyttövettä 2 kertaa ja muuten lattiaan lämpöä koko ajan. Ainakin on rakenteet nyt lämpiminä, kestää olla jokusen aikaa taas huililla kun sähkö kallistuu yli nollaan senttiin :)
 

Mikki

Hyperaktiivi
Juurikin nyt on hyvä aika kunnolla lämmittää rakenteet. Varsinkin kivitalossa lämpöpumput töihin vaan ja shortsikelit sisälle :)
 

Mikki

Hyperaktiivi
Mitä uutta Spot-hinta.fi palvelussa?

Tein vaihteeksi pientä katsantoa, että paljonko on käyttäjiä tällä palvelulla. Ja lopputulos oli, että yhden satunnaisen päivän aikana oli kyselyitä rajapintoihin noin 2900 eri IP osoitteesta. Mielestäni ihan mukava määrä, kun taustalla on kuitenkin selkeästi suurempi määrä eri laitteita.

Uutena toiminnallisuutena Shelly-skriptin muodossa ja rajapintana tuli joku aika sitten "Pikakoodit". Tämä vain 24 rivinen skripti hoitaa 24 erilaista pörssiohjausta, vain valitsemalla haluttu pikakoodi listalta. Täältä lisätietoa aiheesta: https://spot-hinta.fi/pikakoodit/

Melko hyvin tälle on tullut käyttäjiä kanssa jo, mutta tarkempaa tilastoa en ole vielä tehnyt. Tarkoitettu kuitenkin madaltamaan kynnystä skriptin käyttöönottoon, kun voi lukea suomeksi, mitä koodi tekee.

Ja sitten kolmantena juttuna ihan parin päivän sisällä tehtynä Facebookin puolelle on uusi sivu ja keskusteluryhmä. Tuntuu että tänne Lampopumppuihin moni arkailee rekisteröityä. Tuollainen ryhmä löytyy täältä: https://www.facebook.com/groups/spothintafi

Työn alla ja ideoinnissa on joitain uusiakin juttuja.... ehkä tiiivistetysti liittyen etävalvontaan ja kenties pieneen etäohjaukseenkin.
 

Ponde

Tulokas
Pieni askel ihmiskunnalle, mutta iso askel minulle. https://github.com/T3m3z/spotprices2ha ja api.spot-hinta.fi avulla HA ohjaa esp32 johon esphome.io avulla on viety koodi joka ohjaa relettä joka tulee ohjaamaan IVT lämpöpumpun external ohjaus ominaisuutta joka estää lattialämmityksen kun hinta on sietämätön. HA pyörii pienessä Ubuntu koneessa Docker containerissa.
 

Liitteet

  • Screenshot_20231017_233646_Gallery.jpg
    Screenshot_20231017_233646_Gallery.jpg
    95,4 KB · Katsottu: 76

tk-

Aktiivinen jäsen
Pieni askel ihmiskunnalle, mutta iso askel minulle. https://github.com/T3m3z/spotprices2ha ja api.spot-hinta.fi avulla HA ohjaa esp32 johon esphome.io avulla on viety koodi joka ohjaa relettä joka tulee ohjaamaan IVT lämpöpumpun external ohjaus ominaisuutta joka estää lattialämmityksen kun hinta on sietämätön. HA pyörii pienessä Ubuntu koneessa Docker containerissa.
Avaatko vähän tarkemmin miten tuo esphome sinulla on konfiguroituna ja minkälaisella mikrokontrollerilla ja relemoduulilla ohjaat? Vai onko tämä väärä ketju siihen ja pitäisi mieluummin jatkaa keskustelua aiheesta tuossa homeassistant-ketjussa? Voi jatkaa tarvittaessa sinnekin.
 

Ponde

Tulokas
Esphome pyörii python venv ympäristössä tarvittaessa eli silloin kun vaikka lisää lämpötila mittarin tai joku tulo/lähtö. Hoitaa hyvin uuden koodin upload myös wifi kautta. Uusi komponentti ilmestyy sitten HA käyttöliittymäään automaagisesti. Malli on perus esp32 ja rele on halvin 3€ mitä eBay tarjoaa kun ei ohjata mitään verkkovirtaa. Toimii myös ilman HA, mutta silloin koko logiikka ml. entsoe pitää pyöriä esp32. spot-hinta.fi tekee senkin paljon helpommaksi
 

Salzi

Jäsen
Tällä hetkellä sähkön hinta muuttuu isona loivana muutoksena, joka tekee selkeästi ongelmaksi sen että lämmitystunnit kasaantuu liikaa kapealle alueelle. Kalliin ajan seassa ei ole edullisia tunteja eikä tuntimäärän kasvattaminen auta ja lämmityksen jälkeen tulee liian pitkä tauko. Varaaja viilenee ja pelletti lähtee käyntiin, vaikka hetken päästä olisi taas halvempaa. Loppujen lopuksi 500l ei riitä kovin pitkälle. Olisiko tuohon ulkolämpötilan mukaan ohjautuvaan mahdollista saada esimerkiksi toinen ja miksei kolmaskin MinimumHoursPeriod tai joku muu toiminto joka jakaisi tunteja enemmän pitkin päivää?
 

Mikki

Hyperaktiivi
Tällä hetkellä sähkön hinta muuttuu isona loivana muutoksena, joka tekee selkeästi ongelmaksi sen että lämmitystunnit kasaantuu liikaa kapealle alueelle. Kalliin ajan seassa ei ole edullisia tunteja eikä tuntimäärän kasvattaminen auta ja lämmityksen jälkeen tulee liian pitkä tauko. Varaaja viilenee ja pelletti lähtee käyntiin, vaikka hetken päästä olisi taas halvempaa. Loppujen lopuksi 500l ei riitä kovin pitkälle. Olisiko tuohon ulkolämpötilan mukaan ohjautuvaan mahdollista saada esimerkiksi toinen ja miksei kolmaskin MinimumHoursPeriod tai joku muu toiminto joka jakaisi tunteja enemmän pitkin päivää?

Täytyy tuumia josko tätä puolta voisi vielä kehittää. Mutta oletko tämän tyyppistä parametrointia kokeillut/ajatellut?
1697697405034.png

Eli käytännössä että jakaa tuon "minimumHoursPeriodin" kolmeen kolmen tunnin pätkään ja asettaa tuntimääräksi esim. 4. Näin se takaa, että tunteja osuu ainakin kahteen näistä pätkistä. Päiväaika voi olla tosiaan aika kenkkumainen, että on tyyliin aamu 9:stä ilta 9:ään kallista. Ja sitten molemmissa päissä liki ilmaista.
 

Salzi

Jäsen
Toihan voisi toimia. 9-21 välillä kattilan käynnistyminen olisi ihan ok, mutta 8-15 välillä ei jos 15 jälkeen on riittävän edullista lämmitykseen. Mutta jos kuudelta on vielä edullisempaa niin vastus ei lämmitä vielä kolmelta. Tähän mulla tulee avuksi home assistantin automaatio, joka lämmittää jos varaaja kylmenee ylhäältä liikaa ja sähkö on riittävän edullista. Mutta kumpikaan ei osaa ennustaa liian pitkää taukoa päivän aikana ja lämmittää viimeisellä halvalla tunnilla ennen kalliimpaa jaksoa.

Kävipä sekin mielessä että jos vain sallisi lämmityksen aina kun ollaan keskihinnan alapuolella, tietyn hintarajan alapuolella ja sopivan ulkolämpötilan alapuolella. Average ei taida toimia tässä scriptissä?

Mikäänhän ei estä laittamasta shellyä ohjaamaan myös kattilan anturia tai virtakytkintä jos sille keksii sopivan logiikan.
 

mobbe

Vakionaama
Pienen varauskapasiteetin lämmitysjärjestelmä ei oikein taivu tuohon lämpökäyräskriptiin pientä lämmitystarvetta kun on jo muutaman tunnin välein.Olisiko ideaa spesiaalista skriptistä jossa koko vuorokausi jaetaan sektoreihin ja jossa joka sektorille on oma rank lisäksi pakko-ohjaustunnit jolloin lämmitys päällä.Miinuksena tuossa mahdolliset kalliit tunnit jos oma rank sektorissa yli 0 sekä lämpötila on tavoitteessa täsmällisesti vain ajoittain plussana energiansäästö kun sektorin sisällä kodin lämpötila voi hieman laskea halutusta mutta tuota ei välttämättä edes huomaa
 
Viimeksi muokattu:

Mikki

Hyperaktiivi
Jos lämmityksessä ei voi pitää juuri taukoja, niin sitten toki on aika vaikea saada myös kunnon säästöjä. Joten tämmöisessä tilanteessa ihan kelvollisen tuloksen voi saada yksinkertaisesti niinkin, että lämmittää vaikka 18 halvinta tuntia.

Jo tuolla saa useimmista päivistä selkeästä kalleimmat tunnit pois ja maksimissaankin tulee vain 6h tauko. Ja tuotakaan taukoa ei tule yhtenäisenä joka päivä läheskään. Ja niinäkin päivinä kun tulee, niin sisälämpö tuskin suorastaan romahtaa.

Tuohon kun yhdistää vielä käyttöveden lämmityksen oikeasti halvimmille tunneille, niin kyllä oma pörssihinnan keskiarvo varmasti laahaa kaukana todellisesta keskiarvosta.
 

Salzi

Jäsen
Ongelma on siinä että vastus lämmittää varaajasta vain yläosaa ja pilp lämmittää alaosaa. 1,8kW pilp ei riitä yksinään niin lämmitys ottaa lämpöä myös varaajan ylhäältä ja imaisee lämmöt säästä riippuen melko nopeasti. Vastusta ei viitsisi laittaa alas kun se syö pilpin copin ja yläosassa se on turhan ylhäällä. Kovin montaa tuntia ei tarvitse lämmittää, mutta ehkä sen kolme kertaa päivässä tällä säällä. Tunti sieltä ja tunti täältä.

Varauskyky on hieman puutteellinen, mutta toisaalta pelletti lämmittää kalliina aikana ja leikkaa hintapiikit. Se pitää vain saada sovitettua niin ettei kävisi turhaan.

Kävin pannuhuoneessa ihailemassa ja silittämässä varaajaa ja huomasin, että kattilan varaaja-anturi oli noussut poterosta reilun sentin. Kun sen työnsi takaisin niin kattilan näytöstä nousi lukemat useamman asteen. Nostin myös vastusten termostaattia 75 asteeseen, joka lämmittää yläosan hiljalleen 80 asteeseen. Jospa näillä selviäisi hieman pidempään lämmittämättä.

Jottei liikaa karkaisi scripteistä niin minkälaisella scriptillä tuota kattilaa pitäisi hämätä ettei käynnisty turhaan? Pahimmillaan se on lähtenyt käyntiin varttia etten halvan tunnin alkamista
 
Viimeksi muokattu:

Mikki

Hyperaktiivi
Tuo PiLP on ehkä hieman kokonaisuudessa rajoittavana tekijänä. Talvikaudella sen lämpö voisi olla jopa fiksumpaa ajaa lämmityskierron paluuseen ennenmmin kuin varaajaan. Se hukkuisi sinne kiertoon vaikka levylämmönvaihtimen avulla.

Sitten olisi koko 500l varaaja käytössä vastuksille ja pelletille. Saisi aika paljon tukevamman varaston ja PILP venyttäisi sen varaston riittävyyttä kummasti ja sen COP olisi viileämmällä vedellä parempi.

Olisi skriptitkin helpommat :)
 

Salzi

Jäsen
Niin se voisi olla, mutta sitten menetetään käyttöveden teko pilpillä kesällä. Varaajan alaosa on nyt aikalailla lämmityksen paluun lämpöinen eli 25c luokkaa. Melkoinen ero yläosaan, mutta kerrostuu siististi.
 

Mikki

Hyperaktiivi
Niin se voisi olla, mutta sitten menetetään käyttöveden teko pilpillä kesällä. Varaajan alaosa on nyt aikalailla lämmityksen paluun lämpöinen eli 25c luokkaa. Melkoinen ero yläosaan, mutta kerrostuu siististi.
Suluilla se hoituisi että voisi vaihtaa lömmityskohdetta kesäksi. Mutta tosiaan saisi sen 500l varauskykyä käyttöön talveksi niin saisi kunnolla lämmöt halvasta sähköstä talteen.
 

Jimi

Jäsen
Vielä rank&price parametreistä, vaikka tavasin ohjetta niin jäi epäselväksi mikä on PriorityHoursRank parametrin merkitys jos PriceModifier on käytössä ? Saanko ao. konfigilla 4 halvinta tuntia koko vrk yön siirtohintaero huomioiden.
esim.
RanksAllowed ”1,2,3,4”
PriorityHours ”1,2,3,4,5,6,7,23,24”
PriorityHoursRank 4
PriceModifier -1.12
 

Mikki

Hyperaktiivi
Vielä rank&price parametreistä, vaikka tavasin ohjetta niin jäi epäselväksi mikä on PriorityHoursRank parametrin merkitys jos PriceModifier on käytössä ? Saanko ao. konfigilla 4 halvinta tuntia koko vrk yön siirtohintaero huomioiden.
esim.
RanksAllowed ”1,2,3,4”
PriorityHours ”1,2,3,4,5,6,7,23,24”
PriorityHoursRank 4
PriceModifier -1.12

Hyvä kysymys ja tosiaan tuo ei ole ihan selvä kohta. Kun teen joskus uuden version tästä, niin parantelen just tätä kohtaa.

Eli jos priceModifier on käytössä niin se hintamuutos tehdään noille kaikille tunneille ja oikeastaan tuolla priorityHoursRankilla ei ole merkitystä. Se rank merkitsee vain jos PriceModifier = 0.

Eli kyllä... saat noilla parametreilla juurikin koko vuorokaudelta neljä halvinta tuntia, tuo hintaero huomioiden.
 

Jimi

Jäsen
Hyvä kysymys ja tosiaan tuo ei ole ihan selvä kohta. Kun teen joskus uuden version tästä, niin parantelen just tätä kohtaa.

Eli jos priceModifier on käytössä niin se hintamuutos tehdään noille kaikille tunneille ja oikeastaan tuolla priorityHoursRankilla ei ole merkitystä. Se rank merkitsee vain jos PriceModifier = 0.

Eli kyllä... saat noilla parametreilla juurikin koko vuorokaudelta neljä halvinta tuntia, tuo hintaero huomioiden.
Huomioidaanko PriceModifier arvo myös PriceAlwaysAllowed hintarajassa eli se että yöhinta on tuon -1.12 halvempi siirtohinnan vaikutuksesta.
 
Back
Ylös Bottom