Pörssisähköohjaus made easy

  • Keskustelun aloittaja Keskustelun aloittaja tk-
  • Aloitettu Aloitettu
Jaahas.
Onkohan joku hässäkkä kun ohjaustiedot ei näy?
Lattialämmitys tuli lisättyä Shellyn ja pörssärin taakse kuluneella viikolla.
Tuli taas todettua Shellyn päivityksen tarpeellisuus ennenkuin lisää skriptejä:)
Oli varmaan joku ongelma tuon highchartsin serverin kanssa? Ohjaustiedot kyllä tietokannassa oli normaalisti. Ollaan tehty tuo niin, että hakee javascriptin sieltä highchartsista, mutta varmaan pitää jatkoa ajatellen kopioida se serverille jos tuollaista ongelmaa tekee toisinaan.
 
Itsellä on myös kompuran esto AUX1:ssä ja lämpimän veden esto AUX2:ssa.

Vastukset pitää muistaa ottaa tavalla tai toisella pois päältä, jos käyttää kompuran estoa. Muuten alkaa lämmittää vastuksilla, kun asteminuutit laskevat riittävän alas.
Tuossa edellä kaba hyvin avaa asiaa. Valmiiksi asennetuilla skripteillä Shellyjä saa esim Nurkan takaa -verkkokaupasta ja Shellykaupasta, molemmat luotettavia kotimaisia toimijoita, olen henkilökohtaisesti ollut yhteydessä molempiin kauppiaisiin. Toki skriptin laitto Shellyyn sinällään ei ole kovin kummoinen juttu tehdä itsekään. Tuolla ohjesivustolla on siihenkin kuvalliset ohjeet olemassa.
 
Oli varmaan joku ongelma tuon highchartsin serverin kanssa? Ohjaustiedot kyllä tietokannassa oli normaalisti. Ollaan tehty tuo niin, että hakee javascriptin sieltä highchartsista, mutta varmaan pitää jatkoa ajatellen kopioida se serverille jos tuollaista ongelmaa tekee toisinaan.
Joo, ei näy ohjaustiedot tälläkään hetkellä.
Ei siitä tosin haittaakaan ole sillä ohjaus toimii muuten normaalisti.
 
Joo, ei näy ohjaustiedot tälläkään hetkellä.
Ei siitä tosin haittaakaan ole sillä ohjaus toimii muuten normaalisti.
Testasin itse ongelmitta, ja samoin teki Attekin useammalla eri laitteella ja selaimella. En tiedä onko tuo nyt sitten vaatinut vielä selaimen välimuistin tyhjentämisen kertaalleen jos js on jäänyt joku kerta latautumatta, ja sitten sitä ei haetakaan uusiksi.

Mutta tosiaan sen olemassaolo on täysin informatiivisuutta varten, se hakee tietonsa siitä samasta ohjaustiedosta mikä on palvelimelle muodostettu ja mistä sitten laitteetkin sen kyselee. Toki käyttäjänä on mahdotonta tietää, että onko kyse ohjaustiedon puuttumisesta vai sivuston graafiongelmasta, eli hyvä kuitenkin kun nämä aina tuodaan esiin, niin tarkistetaan tilanne.
 
Onkohan ongelma vain minulla vai mistä syystä tuossa ei enää näy kellonajat?

Screenshot 2024-12-04 at 18.55.39.png
 
Onkohan ongelma vain minulla vai mistä syystä tuossa ei enää näy kellonajat?

Screenshot 2024-12-04 at 18.55.39.png
Graafin kanssa on ollut jotain hässäkkää viime päivinä, epäilyksenä oli ettei olisi saanut ladattua javascript-kirjastoa oikein tuolta highchartsin palvelimelta ja siksi se ei osalla näkynyt ollenkaan. Täytyy siis jatkossa siirtää kirjasto omalle serverille, useimmilla on graafiongelmiin auttanut selaimen välimuistin tyhjennyt. Ajat tuossa kuitenkin oikein on tulleet kun kerran palkitkin on oikein piirtyneet.
 
Graafin kanssa on ollut jotain hässäkkää viime päivinä, epäilyksenä oli ettei olisi saanut ladattua javascript-kirjastoa oikein tuolta highchartsin palvelimelta ja siksi se ei osalla näkynyt ollenkaan. Täytyy siis jatkossa siirtää kirjasto omalle serverille, useimmilla on graafiongelmiin auttanut selaimen välimuistin tyhjennyt. Ajat tuossa kuitenkin oikein on tulleet kun kerran palkitkin on oikein piirtyneet.
Itsellä myös tämä ongelma näkyvissä. Olin juuri tyhjentänyt välimuistin koska oli ongelmana, että koko graafi jäi näkymättä.
Lisäksi tuo kellonaikojen puuttuminen tulee toisellakin selaimella.
 
Jos Shellyn apista laittaa laitteen päälle, niin ajaako tuo pörssärin ohjauksen yli? Ja laitteen apista sammuttamisen jälkeen menee taas pörssärin ohjauksen mukaisesti.
 
Jos Shellyn apista laittaa laitteen päälle, niin ajaako tuo pörssärin ohjauksen yli? Ja laitteen apista sammuttamisen jälkeen menee taas pörssärin ohjauksen mukaisesti.
Oman kokemukseni mukaan taitaa skripti ajaa kaiken yli.

Mielestäni toimii siis siten, että jos Pörssäri käynnistäisi vaikkapa lämmityksen yöllä neljän halvimman tunnin ajaksi (klo 00-04) ja haluaisit väliaikaisesti, että lämmitys onkin päällä koko yön (vaikkapa klo 21-07). Illalla laitat sen Shellyn appista lämmityksen päälle klo 21, niin skriptistä tuleva poiskytkentäkäsky sammuttaa lämmityksen joka tapauksessa klo 04.
 
Jotenkin noin järkeilin myös ja varmaan kehittäjätkin. Kuinkahan usein nuo skriptit haetaan?
Nyt siis laitoin 2 h ennen pörssärin ohjausta apista päälle. Pörssärin ohjauksen aikana sitten pois. Tuntiin ei ainakaan mennyt päälle joten laitoin taas apista koska halpoja tunteja.
Eiköhän tuo lähde rullaamaan ajallaan.
 
Jotenkin noin järkeilin myös ja varmaan kehittäjätkin. Kuinkahan usein nuo skriptit haetaan?
Nyt siis laitoin 2 h ennen pörssärin ohjausta apista päälle. Pörssärin ohjauksen aikana sitten pois. Tuntiin ei ainakaan mennyt päälle joten laitoin taas apista koska halpoja tunteja.
Eiköhän tuo lähde rullaamaan ajallaan.
Se manuaalinen ohjaus pysyy halutussa tilassa kunnes vastakkainen ohjaus tulee seuraavan kerran vastaan. Eli juuri noin, että jos pitäisi olla 00-04 ja laitat päälle jo 22, niin päälläoloaika on 22-04. Yksi vaihtoehto on sitten laittaa skripti pois päältä tilanteessa missä haluaa manuaalisen ohjauksen toimivan pidempään.

Tähänkin on pohdittu josko jatkoon pitäisi tuoda valinta, että kuinka kauan odotellaan, että palataan seuraamaan Pörssäri-ohjausta, mutta se toki vaatii vähän skriptin uudistamista. Ehkä seuraavaan skriptiversioon yritetään lisätä se.
 
Viimeksi muokattu:
Graafin kanssa on ollut jotain hässäkkää viime päivinä, epäilyksenä oli ettei olisi saanut ladattua javascript-kirjastoa oikein tuolta highchartsin palvelimelta ja siksi se ei osalla näkynyt ollenkaan. Täytyy siis jatkossa siirtää kirjasto omalle serverille, useimmilla on graafiongelmiin auttanut selaimen välimuistin tyhjennyt. Ajat tuossa kuitenkin oikein on tulleet kun kerran palkitkin on oikein piirtyneet.
Olen tyhjennellyt välimuistit, koittanut eri laitteilla ja eri selaimilla mutta en saa aikoja näkyviin. Kosmeettinen ongelma toki vain kun ohjaus toimii.
 
Olen tyhjennellyt välimuistit, koittanut eri laitteilla ja eri selaimilla mutta en saa aikoja näkyviin. Kosmeettinen ongelma toki vain kun ohjaus toimii.
Itselläkin sama homma puhelimen kanssa nyt. Kerran sain toimimaan kun tyhjensin välimuistin mutta nyt ei auta sekään. Toisella selaimella puhelimella pelaa graafi kuten tietokoneella myöskin. Tosin kellonajat puuttuu tuosta uudesta graafista.
 
Itselläkin sama homma puhelimen kanssa nyt. Kerran sain toimimaan kun tyhjensin välimuistin mutta nyt ei auta sekään. Toisella selaimella puhelimella pelaa graafi kuten tietokoneella myöskin. Tosin kellonajat puuttuu tuosta uudesta graafista.
Tämä on kaikin puolin kummallinen ongelma, kun ei tule esiin minulla tai Atella millään laitteella, ja siksi sen debuggaus on äärimmäisen vaikeaa. Mutta jotenkin sen pitää liittyä graafikirjaston ja/tai nettiselainten päivittymiseen. Pyritään lähiviikkoina saamaan tuo selvitettyä.

Jos joku onnistuu kaivamaan sieltä selaimesta jotain JavaScript-virheitä, niin niitä voi palautelomakkeella laittaa, voisi auttaa asiassa eteenpäin.
 
Voi toimia joko tuon sovelluksen ansioista tai sitten tänään tehty pieni fixi tuohon graafin päivämäärämuodostukseen poisti sen jumituksen. En vielä uskaltanut siitä kovaan ääneen huudella ennenkuin somekansa vahvistaa vian poistuneen! :D
Nyt toimii! :thumbsup:
 
@tk- ajattelin vaan huikata uudelleen, että se viime keväänä yhdessä huurustelemamme lämmitysalgoritmi todellakin on kick-ass -tasoa. Lämmitys on nyt mallia hands off, kun aikaisemmin tein siihen pientä hienosäätöä säännöllisesti. Sisälämpötila pysyy nyt tasaisena about +/- 0.5 asteen hahlolla, kun algoritmi tööttää lisää lämpöä etukäteen jos sääennusteessa näkyy isompia lämpötilapudotuksia. Tämä ennakkolämmitys toimii minulla tällä hetkellä tällaisilla parameterilla ja tällaisella konseptilla:
  • Vuorokausi on jaettu 4 x 6h osiiin
  • Jokaiselle osalle lasketaan ensin lämmitystarve, josta 50% kiinnitetään kyseiselle 6h ajalle
  • Jokaisen osan lämmitystarpeesta 50% sallitaan siirto saman vuorokauden sisällä halvimmille ajankohdille
  • Jos sääennusteessa näkyy 2 asteen pudotus kolmen perättäisen 6h osion keskilämpötilassa, on kyseessä "iso lämpötilapudotus"
    • Tällöin lämmitystarpeet kuplivat ylöspäin, eli osion A lämmitystarpeeksi laitetaan osion B lämmitystarve ja osion B lämmitystarpeeksi laitettaan osion C lämmitystarve.
    • Lisäksi tuo lämmitystarpeen jousto laitetaan 0%:iin, eli näiden 6h osioiden lämmitystarvetta ei voi siirtää muille vuorokauden ajanhetkille halvemman hinnan perässä.
Tämän lisäksi minulla on vielä maalämpöpumpun kompressorin käynnistykertoja säästävä logiikka:
  • Olen parametroinut että lyhin sallittu lämmitysjakso on 0.5h. Jos olisi tulossa lyhyt vartin lämmitysjakso, niin se yhdistetään joko aiempaan tai seuraavaan lämmitysjaksoon riippuen siitä kumpi on halvempi.
  • Olen parametroinut että jos kahden lämmitysjakson väli on 1h tai lyhyempi, niin lämmitysjaksot yhdistetään, ettei jää lyhyttä paussia lämmitysjaksojen väliin.
  • Näissä kummassakin siirrossa on parametroituna 2 c/kWh hintaraja, eli yhdistämisiä ei tehdä, jos silloin sattuisi olemaan päivän isoin hintapiikki
Koko komeudelle on parisen sataa testiautomaatiokeissiä, eli logiikan pitäisi olla aikalailla ehjää. Härveli on kokonaan avointa lähdekoodia jos haluat prujata sieltä Pörssäriin jotain: Home

Cheers,
Markus
 
  • Tykkää
Reactions: tk-
@tk- ajattelin vaan huikata uudelleen, että se viime keväänä yhdessä huurustelemamme lämmitysalgoritmi todellakin on kick-ass -tasoa. Lämmitys on nyt mallia hands off, kun aikaisemmin tein siihen pientä hienosäätöä säännöllisesti. Sisälämpötila pysyy nyt tasaisena about +/- 0.5 asteen hahlolla, kun algoritmi tööttää lisää lämpöä etukäteen jos sääennusteessa näkyy isompia lämpötilapudotuksia. Tämä ennakkolämmitys toimii minulla tällä hetkellä tällaisilla parameterilla ja tällaisella konseptilla:
  • Vuorokausi on jaettu 4 x 6h osiiin
  • Jokaiselle osalle lasketaan ensin lämmitystarve, josta 50% kiinnitetään kyseiselle 6h ajalle
  • Jokaisen osan lämmitystarpeesta 50% sallitaan siirto saman vuorokauden sisällä halvimmille ajankohdille
  • Jos sääennusteessa näkyy 2 asteen pudotus kolmen perättäisen 6h osion keskilämpötilassa, on kyseessä "iso lämpötilapudotus"
    • Tällöin lämmitystarpeet kuplivat ylöspäin, eli osion A lämmitystarpeeksi laitetaan osion B lämmitystarve ja osion B lämmitystarpeeksi laitettaan osion C lämmitystarve.
    • Lisäksi tuo lämmitystarpeen jousto laitetaan 0%:iin, eli näiden 6h osioiden lämmitystarvetta ei voi siirtää muille vuorokauden ajanhetkille halvemman hinnan perässä.
Tämän lisäksi minulla on vielä maalämpöpumpun kompressorin käynnistykertoja säästävä logiikka:
  • Olen parametroinut että lyhin sallittu lämmitysjakso on 0.5h. Jos olisi tulossa lyhyt vartin lämmitysjakso, niin se yhdistetään joko aiempaan tai seuraavaan lämmitysjaksoon riippuen siitä kumpi on halvempi.
  • Olen parametroinut että jos kahden lämmitysjakson väli on 1h tai lyhyempi, niin lämmitysjaksot yhdistetään, ettei jää lyhyttä paussia lämmitysjaksojen väliin.
  • Näissä kummassakin siirrossa on parametroituna 2 c/kWh hintaraja, eli yhdistämisiä ei tehdä, jos silloin sattuisi olemaan päivän isoin hintapiikki
Koko komeudelle on parisen sataa testiautomaatiokeissiä, eli logiikan pitäisi olla aikalailla ehjää. Härveli on kokonaan avointa lähdekoodia jos haluat prujata sieltä Pörssäriin jotain: Home

Cheers,
Markus
Mahtavaa kuulla! Meillä on tuossa ohjaustiedon muodostuksen uudistus meneillään, niin tämä aiemmin keskusteltu oli jo tulossa aiemminkin osaksi sitä. Täytyy vielä hioa sitä esimerkkiesi avulla.

Ilmeisesti mitään isompaa tarvetta parametroinnille ei ole ilmaantunut? Esimerkiksi, että käyttäjä saisi määrittää fiksoitujen tuntien osuuden itse tai tuon ”suuren lämmönvaihtelun” itse? Oletko huomannut ulkolämmön lämmetessä ylilämmitystaipumusta, eli pitäisikö tuota tarpeen muutosta tehdä myös toiseen suuntaan?
 
Ai niin, unohtu mainita edellisestä viestistä että jos sääennusteessa näkyy 2 asteen pudotus kahden perättäisen 6h osion keskilämpötilassa, mutta sitten keskilämpötila tasaantuu eikä putoa enää lisää, niin kyseessä "tavallinen lämpötilapudotus".

Tällöin osioiden lämmitystarpeet pysyvät ennallaan, mutta tuo joustavuus menee nollaan. Eli näiden 6h osioiden lämmitystarvetta ei voi siirtää muille vuorokauden ajanhetkille halvemman hinnan perässä.
 
Ilmeisesti mitään isompaa tarvetta parametroinnille ei ole ilmaantunut? Esimerkiksi, että käyttäjä saisi määrittää fiksoitujen tuntien osuuden itse tai tuon ”suuren lämmönvaihtelun” itse?
Nämä on kaikki parametroitavia, kun kaikki talot ovat erilaisia. Kaikki parametrit on dokumentoitu täällä: 4.x ‐ Usage example: Heating period optimizer

Ja valinnaiset parametrit samalla sivulla heti noiden pakollisten parametrien alapuolella.
 
Oletko huomannut ulkolämmön lämmetessä ylilämmitystaipumusta, eli pitäisikö tuota tarpeen muutosta tehdä myös toiseen suuntaan?
Ehkä lievää, mutta olen toistaiseksi antanut tuon mennä täysin automaatilla kun ideana on kerätä nyt tämä talvi käytännön kokemusta siitä kuinka hyvin tämä toimii hands off.

Tuon ylilämmityksen kompensoinnin suhteen olen ehkä enemmän kallellaan todellisen sisälämpötilan takaisinkytkentään kuin että algoritmi alkaisi vähentää oma-aloitteisesti lämmitystarvetta lämpenevän sääennusteen perusteella. Siinä kun voi käydä kirjaimellisesti kylmät, jos lämpötilan nousu viivästyy tai ei tapahdu ollenkaan.

Tällainen takaisinkytkentä on tuolla minun toteutuksellani jo nyt mahdollinen, mutten käytä sitä itse. Testasin deviympäristössä sellaista ja kirjoitin siitä proof of conceptin openHABin foorumille tähän viestiin (tuo esimerkki on tosin takaisinkytkentä toiseen suuntaan, eli miten lämmitystä voidaan lisätä jos sisälämpötila putoaa alemmas kuin olisi suotavaa, mutta samalla logiikka toimii myös toiseen suuntaan)

 
Ehkä lievää, mutta olen toistaiseksi antanut tuon mennä täysin automaatilla kun ideana on kerätä nyt tämä talvi käytännön kokemusta siitä kuinka hyvin tämä toimii hands off.

Tuon ylilämmityksen kompensoinnin suhteen olen ehkä enemmän kallellaan todellisen sisälämpötilan takaisinkytkentään kuin että algoritmi alkaisi vähentää oma-aloitteisesti lämmitystarvetta lämpenevän sääennusteen perusteella. Siinä kun voi käydä kirjaimellisesti kylmät, jos lämpötilan nousu viivästyy tai ei tapahdu ollenkaan.

Tällainen takaisinkytkentä on tuolla minun toteutuksellani jo nyt mahdollinen, mutten käytä sitä itse. Testasin deviympäristössä sellaista ja kirjoitin siitä proof of conceptin openHABin foorumille tähän viestiin (tuo esimerkki on tosin takaisinkytkentä toiseen suuntaan, eli miten lämmitystä voidaan lisätä jos sisälämpötila putoaa alemmas kuin olisi suotavaa, mutta samalla logiikka toimii myös toiseen suuntaan)

Itse olen ajatellut tuota takaisinkytkentää todellisen lämpötilan mukaan 5%/aste -tavalla, mutta toteutukseksi saakka se ei vielä ole kerennyt. Mutta teoreettieslla tasolla menisi niin, että jos ollaan tavoitelämpötilan alla, niin seuraavien periodien lämmitystarvetta lisättäisiin suunnitelmaan ja jos yläpuolella, niin toisinpäin. Tuossa voitaisiin taklata esimerkiksi takan tuoma lisälämmitys. Ehkä jollain parametroinnilla pitäisi sitten voida määrittää montako periodia "lämpötilapoikkeamaa" huomioidaan ennenkuin palataan takaisin tavanomaiseen algoritmiin ja toisena parametrina, että jos prosentti onkin esimerkiksi 3-7 tuon yleisesti ajatellun 5 sijaan.

Miltä tällainen ajatus kuulostaisi?
 
Viimeksi muokattu:
Itse olen ajatellut tuota takaisinkytkentää todellisen lämpötilan mukaan 5%/aste -tavalla, mutta toteutukseksi saakka se ei vielä ole kerennyt. Mutta teoreettieslla tasolla menisi niin, että jos ollaan tavoitelämpötilan alla, niin seuraavien periodien lämmitystarvetta lisättäisiin suunnitelmaan ja jos yläpuolella, niin toisinpäin. Tuossa voitaisiin taklata esimerkiksi takan tuoma lisälämmitys. Ehkä jollain parametroinnilla pitäisi sitten voida määrittää montako periodia "lämpötilapoikkeamaa" huomioidaan ennenkuin palataan takaisin tavanomaiseen algoritmiin. Miltä tällainen ajatus kuulostaisi?
Joku tällainen kuvio varmaan voisi olla toimiva.

Tämä takaisinkytkentä on sillä tavalla aika haastava konsepti, että se on about täysi vastakohta tuolle etukäteen lasketulle lämmityksen ajastukselle. Meidän maalämpöpumpussa ainakin on asteminuuttien konsepti, jolla hommaa hanskataan, mutta en ehkä lähtisi ihan siihen.

Eka kysymys on tietty että pollaako joku härveli lämpötilasensoria ajoittain vai onko mittari sellainen, joka puskee uuden arvon kun lämpötila muuttuu. Niin tai näin, niin tämä takaisinkytkentälogiikka pitää rakentaa niin että ei ajauduta jatkuvaan ylös/alas kilpajuoksuun. Mutta erityisesti jos on tiheä pollausväli / sensorsi puskee lukemia aina kun lämpötila muuttuu tietyn thresholdin verran.

Anyway, seuraavan 6h alkuun odottelu voi olla pitkä aika, jos liian kylmä tilanne havaitaan juuri jakson alussa. Mietin tuon tuossa proof of conceptissani siten, että jos tavoitelämpö on alaraja on vaikka 19.5, niin jos lämpötila on tämän alle, niin siinä tilanteessa lasketaan now + 6h jakson (pyöristettynä tasavarttiin) lämmitystarve uusiksi tuoreimman sääennusteen mukaan. Ja sitten siihen tarpeeseen lisätään naksu lisää. (Minun ratkaisussani ohjaussignaali ei enää tiedä mistä jaksosta on kyse sen jälkeen kun ohjaukset on tallennettu tietokantaan, se on vain yksi vuorokauden mittainen aikasarja, joten on täysin OK laskea siitä joku mielivaltainen pätkä uusiksi ja ylikirjoittaa se osuus).

Minulla ei ollut tuossa nopsassa PoCissa mukana mitään aikaa, jonka sisällä tämä logiikka ei alkaisi uudelleen, which is not good, koska on enemmän kuin todennäköistä että esim. 20 min päästä tulee uusi lukema joka on edelleen alarajan alapuolella. Eli joku "tarve lasketaan uusiksi max kerran kuuteen tuntiin" (tämä olisi ehkä luonnollista olla sama parametrit kuin lämmitysosioiden määrä) pitäisi olla.

Itse en ehkä lähtisi tekemään tätä siten, että lämmitystarvetta lasketaan uusiksi pidemmälle kuin tuo 1 jakson pituus. Jos logiikka laukeaa silloin uudelleen, niin lauetkoot, mutta tilanne voi olla silloin jo tosi erilainen jos ylilämpö johtui vaikkapa kiertoilmatakasta, jossa ei ole varaavaa elementtiä.

Markus
 

Statistiikka

Viestiketjuista
262 417
Viestejä
4 555 820
Jäsenet
74 964
Uusin jäsen
LinogeFly

Hinta.fi

Back
Ylös Bottom