HomeAssistant ja sähköpörssiohjaus

Luukku

Vakionaama
Huaweilta tuli päivitysohjeet. Iltapäivällä kokeillaan.
E: ei auttanu, uusimmat versiot oli
 
Viimeksi muokattu:

Luukku

Vakionaama
Pörssihinnat vähän myöhässä, mitenkähän automaatiot reagoi? Osaako ne hakea vielä myöhään illalla huomiset hinnat?
 

Apulanta

Jäsen
Huaweilta tuli päivitysohjeet. Iltapäivällä kokeillaan.
E: ei auttanu, uusimmat versiot oli
Tämän Huawein TCP/IP modbus väylän toiminta on jollakin tavalla huonompaa verrattuna muihin käyttämiini modbus TCP/IP laitteisiin, en saanut Ouman Ouflexia lukemaan yhtään TCP/IP rekisteriä ja hankin modbus TCP/IP-->RTU muuntimen kiinasta jolla sain luettua tuota Huawein TCP/IP modbus väylää Ouflexille.

Huawei kyllä vastaa kyselyyn OK TCP/IP väylässä portissa 502 kun sitä pollasin ModScan32 sovelluksella.. ESIM
Teho reg 32081 U32
Minulla on Huawein Dongle versio "V100R001C00SPC130" enkä ole lähtenyt sitä päivittämään kun se toimii kuitenkin tuolla ..
 

Liitteet

  • Huawei.JPG
    Huawei.JPG
    98,3 KB · Katsottu: 43

Luukku

Vakionaama
Minulla on Huawein Dongle versio "V100R001C00SPC130"
Mulla SPC125:hmm: eikä uudempaa tarjoa edes.
Nyt tuli Huaweilta ohje, että joku asiakas oli aikaisemmin ratkaissut ongelman ottamalla dongle irti/takaisin kolme kertaa peräkkäin jolloin dongle resetoituu. No, kokeillaan taas työpäivän jälkeen.
 

Luukku

Vakionaama
Ei onnistu! Invertterin tai donglen asetuksissa ei ole missään mitään mahdollisuutta muuttaa Modbus asetuksia. Huawein ohjeen mukainen donglen irrottelu ei auta eivätkä osaa parempia ohjeita antaa. Dongle näkyy verkossa ja pingaus toimii, Fusion solar äppi toimii ja kokeilin myös SUN2000 äppiä ja samat valikot.
Täytyy koittaa sitä pilvihommaa seuraavaksi tai pitää loma koko hommasta.
E: ....kele nyt toimii! Selaimella Fusion solar kirjautuminen ja sieltä pääsee donglen asetuksiin josta valitaan Modbus Enable ja boom! Sitten löyty heti. :D
 
Viimeksi muokattu:

Apulanta

Jäsen
E: ....kele nyt toimii! Selaimella Fusion solar kirjautuminen ja sieltä pääsee donglen asetuksiin josta valitaan Modbus Enable ja boom! Sitten löyty heti. :D
Hienoa että sait toimimaan.. olin juuri kirjoittamassa, katsoa reitittimen Dongle IP ja kokeilla pingata IP:tä..jos vastaa niin hyvät mahkut saada modbusTCP/IP yhteys..
 

Blur

Jäsen
Täältäkin kiitokset tämän tekijöille. Huikeaa duunia.
Omat Assistantin viritykset on alussa ja aikaa on n. 1,5kk kunnes pörssisähköelämä alkaa.
Helpotin nyt alkuun omaa virittelyä laskemalla siirrot, verot ja marginaalit tuonne SHF Price1 ja 2 alle, mutta ei tahtonut jäädä millään paikalleen. Ilmeisesti omat kikkailut laukaisi validaattorin :)
EDIT: No niin tietenkin, halvempi siirto piti olla ykkösessä ja kalliimpi kakkosessa, pikkasen on mennyt hassusti viirusilmillä väsyneenä ajatukset ettei tuota tajunnut.
 
Viimeksi muokattu:

Anagonda

Tulokas
Myös täältä kiitokset tekijöille. Hetken nyt tutustunut HA:n maailmaan, on se vaan kryptinen paikka kun aikaisemmin tehnyt python skripteillä ohjaukset.
Mutta nyt tuli ongelma, "Rank on" automaatio hajosi viime yönä. Koko HA oli mykkä, eli portaali ei vastannut. Käytin purkin kylmänä ja datat se on kirjannut talteen mutta ei tosiaan reagoinut mihinkään. Tämän jälkeen huomasin että "Rank on" automaatio on kyllä ajettu mutta ohjaukset ei ole muuttuneet 01:00 jälkeen.
1. Poistin automaation ja loin uuden. Ei eroa
2. Poistin kaikki omat kokeilut missä käytettiin SHF:ää. Ei eroa
3. Poistin spot-price.yaml ja latasin githubista uudelleen. Ei eroa
4. Poistin blueprintin ja latasin uudelleen, ei eroa.

Varmasti jokin amatöörimoka mutta nyt loppuu omat ideat. Kun katson automaation sisään niin se sanoo että result on false ja tähän päädytään kun automaatio ei aja "value template" -kohtaa. Jos siis tulkkaan oikein näitä:
1722407813691.png


Ja kun klikkaan ylhäältä "tähtiä":

1722407858020.png



Olen nyt kahden tunnin puolella koittanut näitä korjailla. Automaation "rank on" on ollut 1-23 välillä (alun perin 18.) kokeiluissa ja tuntien rank now arvo 10 tai 14.

Eli hintatiedot piirtyy graafeihin ja rankit yms näkyy. Automaatio ei vaan tee mitään kun ajautu "falseen".

Logiin tulee joskus erroreita, mutta ei joka ajolla(???). Tuosta mistä ylläolevat kuvat ei tullut erroria, mutta sitä edellisestä tuli:
1722408191662.png

Tämä error saattoi tulla HA uudelleen käynnistyksen jälkeen. Välillä koittanut ihan täys boottia kun ladannut tiedostoja uusiksi yms.

Keksiikö kukaan mitä seuraavaksi korjata? Vuosia sitten HA kokeilut loppui siihen kun vastaavat keikat vaativat koko HA:n nollaamisen ja muutaman kerran kun olin saanut HA:n täysin jumiin siirryin takaisin pythoniin.
Automaatioihin ei taida saada mitään steppejä että se huutaisi jokaisen rivin jälkeen että missä mennään. Näkisi mihin toi ajautuu ja miksi...

EDIT: Tuijotin lisää ja vaikuttaa siltä että automaatio menee aina "Off" puolelle. Joten kokeilin niin että laitoin releen käsin päälle ja ajoin automaation. Ilman erroreita meni ja veti releen pois. Eli päätyi Offille. Parametrit oli "Rank on" ja "18" kun tunnin "rank now" oli 14.

EDIT2: Kokeilin vielä; Laitoin releet käsin päälle ja koitin vielä muokata automaatiota että se on:
1722409275820.png

Oikeasti HA näytti että rank oli 14 ja hinta 3,11c/kwh. Joten molemmat ehdot ok.
Silti automaatio vetää kaiken seis, nyt ne tulee näkyviin kun tila muuttuu (käsin laitettu päälle)
1722409379792.png


Eli toi automaatio ei nyt saa oikeita hinta/rank tietoja? Mutta miksi kun HA ne näyttää oikein.

EDIT3: Seuraavan päivän hintatiedot tuli ok, kuten myös rankit. Ei mitään eroa. Poistin taas kaiken mistä löysin SHF ja latasin uudelleen. Ei mitään eroa.
Sen huomasin että ylläkuvattu virhe tulee jos heti HA bootin jälkeen koitan tehdä jotain, kun hintatiedot eivät vielä ole latautuneet.
Noh, koska kokoajan epäillyt että skritpi ei edes pyöri vaan tulee false ja skriptin rakenne kun on että jos ei ehdot toteudu on se aina rele pois päältä. Eli käänsin blueprintistä turn on ja turn off ehdot toisinpäin. Eli nyt jos homma menee alusta loppuun oikein olisi ohjaus käänteinen. Ei mene, aina tulee ulos false ja rele vetää ittensä pois päältä. Eli kuten alkupään kuvassa näkyy niin HA:n viesti: "Tätä vaihetta ei suoritettu, joten muita jäljitystietoja ei ole saatavilla." pitää paikkaansa.
Nyt alkaa epätoivo iskemään!

EDIT4: Uusi päivä kadonneella motivaatiolla... Koitin tehdä käsin automaatiot. Eli jos rank on pienempi kuin 19 niin rele päälle. Jos suurempi kuin 18 niin rele pois. Kun rank on 18 niin molemmat automaatiot vetävät relettä suuntaansa. Kokeilin jopa niin että jos rank on pienempi kuin 10 niin rele päälle ja jos suurempi kuin 22 niin pois. Edelleen "rank now" on 18 ja silti molemmat automaatiot vaihtavat releen tilaa.
Jos katon kehittäjätyökalujen "malli" sivulla mitä rank on niin sieltä tulee että rank on 18. Mutta miten hitossa rank ei nyt toimi numerona?

EDIT5: Ei nyt millään anna omatunto periksi luovuttamisessa... Rakensin template sensorin if elsellä että jos "rank now" on <19 niin sensori on ja else niin off. Tämä alkoi puskemaan logiin tiuhaan samaa erroria kuin yllä kuvattuna. Errorissahan vain sanotaan että jokin arvo on "unavailable" (ei numero)? Siitä sain idean että pistin kaikki shf kontrollit dashboardille ja ne missä vipuja/arvoja syötettävissä niin muutin kaikkia. Tämän jälkeen boottasin koko HA ja nyt ainakin mun template sensor toimii ilman erroreita. Tein SHF blueprintistä nyt uuden automaation, harmi vain kun nyt tunti on rank 21 niin liipaisi releen pois päältä. Katsotaan myöhemmin miten kävi, kun en näiden testailujen jälkeen uskalla muokata automaatiota.
 
Viimeksi muokattu:

amnk

Jäsen
Myös täältä kiitokset tekijöille. Hetken nyt tutustunut HA:n maailmaan, on se vaan kryptinen paikka kun aikaisemmin tehnyt python skripteillä ohjaukset.
Mutta nyt tuli ongelma, "Rank on" automaatio hajosi viime yönä. Koko HA oli mykkä, eli portaali ei vastannut. Käytin purkin kylmänä ja datat se on kirjannut talteen mutta ei tosiaan reagoinut mihinkään. Tämän jälkeen huomasin että "Rank on" automaatio on kyllä ajettu mutta ohjaukset ei ole muuttuneet 01:00 jälkeen.
1. Poistin automaation ja loin uuden. Ei eroa
2. Poistin kaikki omat kokeilut missä käytettiin SHF:ää. Ei eroa
3. Poistin spot-price.yaml ja latasin githubista uudelleen. Ei eroa
4. Poistin blueprintin ja latasin uudelleen, ei eroa.

Varmasti jokin amatöörimoka mutta nyt loppuu omat ideat. Kun katson automaation sisään niin se sanoo että result on false ja tähän päädytään kun automaatio ei aja "value template" -kohtaa. Jos siis tulkkaan oikein näitä:
katso liitettä 98789

Ja kun klikkaan ylhäältä "tähtiä":

katso liitettä 98790


Olen nyt kahden tunnin puolella koittanut näitä korjailla. Automaation "rank on" on ollut 1-23 välillä (alun perin 18.) kokeiluissa ja tuntien rank now arvo 10 tai 14.

Eli hintatiedot piirtyy graafeihin ja rankit yms näkyy. Automaatio ei vaan tee mitään kun ajautu "falseen".

Logiin tulee joskus erroreita, mutta ei joka ajolla(???). Tuosta mistä ylläolevat kuvat ei tullut erroria, mutta sitä edellisestä tuli:
katso liitettä 98791
Tämä error saattoi tulla HA uudelleen käynnistyksen jälkeen. Välillä koittanut ihan täys boottia kun ladannut tiedostoja uusiksi yms.

Keksiikö kukaan mitä seuraavaksi korjata? Vuosia sitten HA kokeilut loppui siihen kun vastaavat keikat vaativat koko HA:n nollaamisen ja muutaman kerran kun olin saanut HA:n täysin jumiin siirryin takaisin pythoniin.
Automaatioihin ei taida saada mitään steppejä että se huutaisi jokaisen rivin jälkeen että missä mennään. Näkisi mihin toi ajautuu ja miksi...

EDIT: Tuijotin lisää ja vaikuttaa siltä että automaatio menee aina "Off" puolelle. Joten kokeilin niin että laitoin releen käsin päälle ja ajoin automaation. Ilman erroreita meni ja veti releen pois. Eli päätyi Offille. Parametrit oli "Rank on" ja "18" kun tunnin "rank now" oli 14.

EDIT2: Kokeilin vielä; Laitoin releet käsin päälle ja koitin vielä muokata automaatiota että se on:
katso liitettä 98792
Oikeasti HA näytti että rank oli 14 ja hinta 3,11c/kwh. Joten molemmat ehdot ok.
Silti automaatio vetää kaiken seis, nyt ne tulee näkyviin kun tila muuttuu (käsin laitettu päälle)
katso liitettä 98793

Eli toi automaatio ei nyt saa oikeita hinta/rank tietoja? Mutta miksi kun HA ne näyttää oikein.

EDIT3: Seuraavan päivän hintatiedot tuli ok, kuten myös rankit. Ei mitään eroa. Poistin taas kaiken mistä löysin SHF ja latasin uudelleen. Ei mitään eroa.
Sen huomasin että ylläkuvattu virhe tulee jos heti HA bootin jälkeen koitan tehdä jotain, kun hintatiedot eivät vielä ole latautuneet.
Noh, koska kokoajan epäillyt että skritpi ei edes pyöri vaan tulee false ja skriptin rakenne kun on että jos ei ehdot toteudu on se aina rele pois päältä. Eli käänsin blueprintistä turn on ja turn off ehdot toisinpäin. Eli nyt jos homma menee alusta loppuun oikein olisi ohjaus käänteinen. Ei mene, aina tulee ulos false ja rele vetää ittensä pois päältä. Eli kuten alkupään kuvassa näkyy niin HA:n viesti: "Tätä vaihetta ei suoritettu, joten muita jäljitystietoja ei ole saatavilla." pitää paikkaansa.
Nyt alkaa epätoivo iskemään!

EDIT4: Uusi päivä kadonneella motivaatiolla... Koitin tehdä käsin automaatiot. Eli jos rank on pienempi kuin 19 niin rele päälle. Jos suurempi kuin 18 niin rele pois. Kun rank on 18 niin molemmat automaatiot vetävät relettä suuntaansa. Kokeilin jopa niin että jos rank on pienempi kuin 10 niin rele päälle ja jos suurempi kuin 22 niin pois. Edelleen "rank now" on 18 ja silti molemmat automaatiot vaihtavat releen tilaa.
Jos katon kehittäjätyökalujen "malli" sivulla mitä rank on niin sieltä tulee että rank on 18. Mutta miten hitossa rank ei nyt toimi numerona?

EDIT5: Ei nyt millään anna omatunto periksi luovuttamisessa... Rakensin template sensorin if elsellä että jos "rank now" on <19 niin sensori on ja else niin off. Tämä alkoi puskemaan logiin tiuhaan samaa erroria kuin yllä kuvattuna. Errorissahan vain sanotaan että jokin arvo on "unavailable" (ei numero)? Siitä sain idean että pistin kaikki shf kontrollit dashboardille ja ne missä vipuja/arvoja syötettävissä niin muutin kaikkia. Tämän jälkeen boottasin koko HA ja nyt ainakin mun template sensor toimii ilman erroreita. Tein SHF blueprintistä nyt uuden automaation, harmi vain kun nyt tunti on rank 21 niin liipaisi releen pois päältä. Katsotaan myöhemmin miten kävi, kun en näiden testailujen jälkeen uskalla muokata automaatiota.
Lukematta tuota ihan kokonaan (sorry) näyttäisi olevan ZeroDivisionErroria ja tänään on ainakin yksi hinta ollut tasan 0. Voisiko joku osa ongelmista mitenkään johtua tuosta? Automaatioihin saanee jotain steppejä vaikka joillain laskurilla, mihin lisätään jokaisen vaiheen jälkeen 1. Tai vaikka monilla kytkimillä, joita laitetaan eri vaiheissa päälle.
 

Anagonda

Tulokas
Homma näyttää nyt toimivan! Ihan blueprintin automaatiollakin.
Johonkin muistiin oli jäänyt jokin arvo mitä ei siellä voi olla, luultavasti ei numeerinen. Toi käsin jokaista vipua muuttamalla auttoi, eli määritin max rank allowed, control factor, max price allowed yms jonkun järkevän numeron. Varmaan siis HA:n jumiin meno ja sen jälkeen virrat raa-asti irroittamalla sotki jonkin sisällön.

Joku jos jaksaa githubiin päivitellä niin tietääkseni HA:ssa voi määrittää että bootissa arvot on nollia. Tällä ehkä tulevaisuudessa voisi välttää näin ison hiuksien irti repimisen.
 

Jamo70

Aktiivinen jäsen
Todellinen aloittelija nyt yrittää tutustua HA maailmaan.
Olisiko joku niin ystävällinen sielu, että avaisi tämän automaation toimintaa oikein rautalangasta vääntäen? :)
Kovin montaa viikkoa ei ole kokemusta takana ja tämän automaatiot menee hieman yli hilseen. Eilen illalla tuli asennettua tämä ja yritin tehdä sähköautolle latausta halvimmilla tunneilla. Olipa se näemmä jopa ladannut edellisenä yönä niin halvimpina tunteina, mutta en vain ymmärrä miten tätä hallinnoidaan ja säädetään.


Olen laittanut alla olevat, mutta lataus ei lähde päälle nyt, vaikka rank ja hintaehto täyttyvät. Mitä teen tai ymmärrän väärin tästä?
Eikö latauksen pitäisi lähteä päälle näillä nyt ja tuleeko automaatiota säätää Asetukset/Automaatiot vai näistä kuvan säätimistä?

Aloitetaan nyt tästä ja seuraavaksi siitä cheapest period start. Sitä en saa lainkaan toimimaan, eikä sellaista vaihtoehtoa edes löydy, kun yritän asettaa triggeriin aikaperusteisena.

1723059471747.png


Automaatioissa on sitten alla oleva:

1723059608581.png
 
Viimeksi muokattu:

Ville-Veikko

Aktiivinen jäsen
Itse käytän tuota halvinta aikajaksoa esimerkiksi kuumavesivaraajan kanssa. Kun 2h lämmitys riittää, yksinkertaisuuden vuoksi tuossa on 2h viive ja virrat veks samassa automaatiossa. Noita When ehtoja saa samaan automaatioon useita. Itse tykkään laittaa When ehtoon "liikaa" triggereitä ja And if -ehdossa estoilla estän sitten toiminnan esimerkiksi jos rank on liian suuri. Esimerkissä ei ole And if ehtoa kun lämmintä vettä tarvitsen joka päivä.


1723103933869.png
 

Luukku

Vakionaama
Olen laittanut alla olevat, mutta lataus ei lähde päälle nyt, vaikka rank ja hintaehto täyttyvät. Mitä teen tai ymmärrän väärin tästä?
Itsekin olen vielä aloittelija tuon kanssa, mutta oletko testannut tuon "Tesla kytkimen"? Toimiiko se oikein. Muutenhan tuo näyttäisi kai sellaiselta, että pitäis toimia. Lokikirjasta näkee myös hyvin mitä se tekee, yrittää tai ei tee. Onko jotain muuta entiteettiä käytettävissä latauksen aloitukseen?
Ja koita vaikka ensin pelkällä "rank" vaihtoehdolla. Onko hintatiedoissa pelkkä pörssihinta vai myös siirto ja verot? Tuliko hintaraja vastaan? Itse käytän pelkkää pörssihintaa, selvemmin näkee milloin on halpaa.
Myös vois vähentää noita ehtoja aluksi esim sijainti. Omassa on vaan ehtona, että johto on kytketty.
E: ei olekaan mitään ehtoa mulla.
Mulla ei tuossa "cheapest price" -piirustuksessa ole tuota aikahommaa ollenkaan. Saako sen jätettyä tuosta pois ja ohjaa sitten erikseen automaation "voimassaoloaikaa"?
 
Viimeksi muokattu:

Luukku

Vakionaama
Mun automaatio näyttää tältä.
Kuva kahdessa osassa.
 

Liitteet

  • IMG_4174.png
    IMG_4174.png
    129,4 KB · Katsottu: 43
  • IMG_4175.png
    IMG_4175.png
    124,1 KB · Katsottu: 44

Jamo70

Aktiivinen jäsen
Itsekin olen vielä aloittelija tuon kanssa, mutta oletko testannut tuon "Tesla kytkimen"? Toimiiko se oikein. Muutenhan tuo näyttäisi kai sellaiselta, että pitäis toimia. Lokikirjasta näkee myös hyvin mitä se tekee, yrittää tai ei tee. Onko jotain muuta entiteettiä käytettävissä latauksen aloitukseen?
Ja koita vaikka ensin pelkällä "rank" vaihtoehdolla. Onko hintatiedoissa pelkkä pörssihinta vai myös siirto ja verot? Tuliko hintaraja vastaan? Itse käytän pelkkää pörssihintaa, selvemmin näkee milloin on halpaa.
Myös vois vähentää noita ehtoja aluksi esim sijainti. Omassa on vaan ehtona, että johto on kytketty.
E: ei olekaan mitään ehtoa mulla.
Mulla ei tuossa "cheapest price" -piirustuksessa ole tuota aikahommaa ollenkaan. Saako sen jätettyä tuosta pois ja ohjaa sitten erikseen automaation "voimassaoloaikaa"?

Pitäisi olla ihan vain pelkkä pörssihinta, kun en ole muokannut siirtoja mukaan.

Se miksi mulla on myös sijainti auton latauskaapelin kytkennän kanssa, niin halusin välttää tilannetta jossa unohdan ottaa automaation pois päältä ja vaimo autolla liikkeellä…eli eikös tuo aktivoidu muutoin myös julkisilla latausasemilla? :)

Teslan latauskytkin toimii, kun juuri päivällä olin ladannut omatekemälläni automaatiolla, jossa ladataan aurinkopaneelien tuottaman ylijäämän mukaisesti (vaihtaa latausvirtaa ylijäämän mukaan 1A-8A).

Mutta siis pitääkö ne ehdot siis käydä muuttamassa aina siellä asetukset/automaatio? Eikö noilla slidereillä, mitkä mulla oli kuvassa, niin ole vaikutusta tähän automaation?
 

Jamo70

Aktiivinen jäsen
Itse käytän tuota halvinta aikajaksoa esimerkiksi kuumavesivaraajan kanssa. Kun 2h lämmitys riittää, yksinkertaisuuden vuoksi tuossa on 2h viive ja virrat veks samassa automaatiossa. Noita When ehtoja saa samaan automaatioon useita. Itse tykkään laittaa When ehtoon "liikaa" triggereitä ja And if -ehdossa estoilla estän sitten toiminnan esimerkiksi jos rank on liian suuri. Esimerkissä ei ole And if ehtoa kun lämmintä vettä tarvitsen joka päivä.


katso liitettä 98920

Tämän haluaisin itsekin ottaa käyttöön, mutta en ymmärtänyt vielä kuinka tämä edes otetaan käyttöön. :)
Tämä näkyy siellä Blueprints ja yritin tätä, mutta tyhmänä en ymmärrä kuinka se valjastetaan käyttöön niin, että saa valittua ne halutut tunnit.
En tiedä puuttuuko mulla jotain File editor…vai tarviiko sinne erikseen mitään edes uploadata, jos ladannut blueprint?
 

Luukku

Vakionaama
Tämän haluaisin itsekin ottaa käyttöön, mutta en ymmärtänyt vielä kuinka tämä edes otetaan käyttöön.
Onks sulla tämä käytössä?
 

Luukku

Vakionaama
Se miksi mulla on myös sijainti auton latauskaapelin kytkennän kanssa, niin halusin välttää tilannetta jossa unohdan ottaa automaation pois päältä ja vaimo autolla liikkeellä…eli eikös tuo aktivoidu muutoin myös julkisilla latausasemilla?
Voit tehdä erikseen automaation, joka kytkee automaation päälle, kun auto tulee kotiin ja poispäältä, kun lähtee.
Mutta tuskin se sijainti siinä se ongelma on.
Onko sulla siellä File editorissa semmonen kansio/tiedosto kuin spotprice.yaml? Siellä missä on niitä muitakin kansioita.
 
Viimeksi muokattu:

Jamo70

Aktiivinen jäsen
Onks sulla tämä käytössä?

Kyllä. Ja kun tuolla "Piirrustukset" teen siitä automaation ja uudelleen nimeän sen, niin se näkyy sen jälkeen "Automaatiot".
Kun se automaatio sitten on päällä esim. valittuna pelkästään "Rank OK", niin mä kuvittelin voivani säätää sitä Rankia eniteetillä "SHF Max Rank allowed"...
Eli eikö sitä voikaan säätää siitä, vaan aina on mentävä erikseen Automaatioihin muuttamaan pelkästään aikaa?
Tuossa automaatiossahan EI ole Rank säätöä lainkaan. Siksi olen nyt ymmälläni, että miksi "SHF Max Rank allowed" liukusäätimellä tehty muutos ei kytkeydy tuohon automaatioon ja vaikuta mitään.

Toivon mukaan joku osaisi valaista tämän toimintoa itselleni, kun oma logiikka ei vaan ymmärrä tätä nyt lainkaan :)
Kovasti haluaisin myös määritellä niitä tunteja milloin menee päälle, mutta en ymmärrä miten saisin tämän toimimaan ja kuinka asettaa (kts. kuva). Mulla on tehty helpersiin "Aika-apuri"...

1723125203615.png
 

Ville-Veikko

Aktiivinen jäsen
Tämän haluaisin itsekin ottaa käyttöön, mutta en ymmärtänyt vielä kuinka tämä edes otetaan käyttöön. :)
Tämä näkyy siellä Blueprints ja yritin tätä, mutta tyhmänä en ymmärrä kuinka se valjastetaan käyttöön niin, että saa valittua ne halutut tunnit.
En tiedä puuttuuko mulla jotain File editor…vai tarviiko sinne erikseen mitään edes uploadata, jos ladannut blueprint?
Onhan sulla scripti Cheapest hours (se on osa tuota Luukun linkkaamaa pakettia) ja automaatio jota kutsumalla nuo halvimpien jaksojen alkuajat päivitetään? Tuo mun aikaisemmin linkkaama kuumavesivaraajan päällelaittoheti päivittyy joka päivä klo 15:10 kuvan mukaisella automaatiolla. Tuossa keltaisella yliviivattuna ne kohdat joilla saa säädettyä halutun ajanjakson ( esimerkissä yösiirron ajalle).
1723125164816.png

Ja tässä koodi ( saat automaation YAML -muokkaustilassa pastetettua tuon suoraan uudeksi automaatioksi)

YAML:
alias: SHF_halvin_2h_22-07
description: ""
trigger:
  - platform: time
    at: "15:10:00"
condition: []
action:
  - service: script.cheapest_hours
    data:
      start: "{{ today_at('22:00') }}"
      stop: "{{ today_at('22:00') + timedelta(hours=9)}}"
      hours: 2
    response_variable: result
  - service: input_datetime.set_datetime
    data:
      timestamp: "{{ result['start'] }}"
    target:
      entity_id: input_datetime.shf_halvin_2h_jakso_22_07
mode: single
 

Jamo70

Aktiivinen jäsen
Voit tehdä erikseen automaation, joka kytkee automaation päälle, kun auto tulee kotiin ja poispäältä, kun lähtee.
Mutta tuskin se sijainti siinä se ongelma on.
Onko sulla siellä File editorissa semmonen kansio/tiedosto kuin spotprice.yaml? Siellä missä on niitä muitakin kansioita.

Kyllä mun logiikalla se on ongelma, kun auton latausta ohjataan auton (ei laturin) kautta. Eli jos mulla ei olisi ehtoa "Koti", niin mistä ihmeestä tuo automaatio ymmärtäisi sen, että olen julkisella laturilla, kun autoon kytketään pistoke? :)
 

Luukku

Vakionaama
Kyllä mun logiikalla se on ongelma, kun auton latausta ohjataan auton (ei laturin) kautta. Eli jos mulla ei olisi ehtoa "Koti", niin mistä ihmeestä tuo automaatio ymmärtäisi sen, että olen julkisella laturilla, kun autoon kytketään pistoke? :)
Tietysti on tehtävä tuo "kotipiste" ja sen myötä voi sitten hallita sitä automaatiota, kun auto on kotona tai poissa.
 

Jamo70

Aktiivinen jäsen
Voit tehdä erikseen automaation, joka kytkee automaation päälle, kun auto tulee kotiin ja poispäältä, kun lähtee.
Mutta tuskin se sijainti siinä se ongelma on.
Onko sulla siellä File editorissa semmonen kansio/tiedosto kuin spotprice.yaml? Siellä missä on niitä muitakin kansioita.

Löytyy File editorista tuo "spot-price.yaml.
1723130668656.png


Edelleenkään mä en vaan ymmärrä, että miksi lataus ei lähde päälle, vaikka automaatiossa on valinta "Rank OK" ja SHF Rank acceptable mukaan ehto täyttyy.
Miten tuo SHF Rank acceptable liitetään automaatioon? Siinä lienee syy, kun ei tuo SHF Max Rank allowed ja SHF Rank allowed liity automaatioon lainkaan?
Tunnen itseni aika tyhmäksi tämän kanssa, kun en ymmärrä miten tätä säätää ja hallita milloin lupa kytkeä lataus päälle tai pois.

1723130871192.png

1723131020241.png
 

Jamo70

Aktiivinen jäsen
Vai pitääkö tehdä kaksi erillistä automaatiota manuaalisesti ”Rank OK”-automaatioon?

Eli 1. Automaatio, jossa SHF Rank acceptable tila muuttuu ”Havaittu”, niin kytkee päälle.

ja 2. Automaatio, jossa SHF Rank acceptable tila muuttuu ”Ei havaittu”, niin kytkee pois päältä?

Tällä se lataus nyt ainakin lähti päälle, mutta ei sammu, kun tila muuttuu…

1723132862091.png
 
Viimeksi muokattu:

Luukku

Vakionaama
Mulla ainakin porealtaan lämmitys lähti ihan tällä päälle. Auton latausta en tosin ole vielä kokeillut tuolla "rankilla".
 

Liitteet

  • IMG_4180.png
    IMG_4180.png
    125,8 KB · Katsottu: 32
  • IMG_4181.png
    IMG_4181.png
    117,6 KB · Katsottu: 33

Luukku

Vakionaama
Vai pitääkö tehdä kaksi erillistä automaatiota manuaalisesti ”Rank OK”-automaatioon?
Kun tekee jonkun automaation vaikka invertterin tehon mukaan niin siinä ainakin pitää olla toinen automaatio mikä sitten sammuttaa. Ainakin näin mä olen vielä tehnyt, voi olla viisaampiakin tapoja.
 

Ville-Veikko

Aktiivinen jäsen
Kun tekee jonkun automaation vaikka invertterin tehon mukaan niin siinä ainakin pitää olla toinen automaatio mikä sitten sammuttaa. Ainakin näin mä olen vielä tehnyt, voi olla viisaampiakin tapoja.
En tiedä onko tämä sen viisaampi, mutta on mahdollista tehdä If-lause jossa triggerin tilan perusteella kytketään jotain päälle tai pois. Ehkä selvempää ylläpidon kannalta kun toiminnallisuus on yhdessä automaatiossa. Esimerkiksi näin:
1723189132317.png
 

Luukku

Vakionaama
Vinkkinä, automaatioiden jakamiseen täällä yaml formaatti on ystävällisempi kuin kuvakaappaukset
Varmasti helpompi niin, jos tarkoitus kopioida. Meille vähemmän koodin kanssa pelanneille tuo visuaalinen esitys on selkeämpi, jos ei halua suoraan koodia kopsata vaan yrittää vääntää itse.
 

Luukku

Vakionaama
Eli jos mulla ei olisi ehtoa "Koti", niin mistä ihmeestä tuo automaatio ymmärtäisi sen, että olen julkisella laturilla, kun autoon kytketään pistoke?
Jos tekis kytkimen joka menee päälle, kun auto kotona ja lataa. Kun auto poissa ja lataa niin kytkin off. Automaatio seuraisi sitten tuota kytkintä.
 

Luukku

Vakionaama
Tuli tuosta mieleen, että vois olla yksi "dashboard" tehtynä "kytkinkaapiksi" ja laitteiden eri tilat ohjaisivat kytkimiä ja automaatiot seuraisi/ohjaisi tarvittavia kytkimiä. "Kytkinkaapista" saisi helposti sitten laitettua manuaalisestikin päälle ja yhdellä silmäyksellä näkisi eri laitteiden tilat. Yksinkertaisissa automaatioissa varmaan toimisi. Itse "ihastuin" noihin kytkimiin, kun sen kautta sain virtuaalisen energiankulutusseurannan toimimaan.
 

Anagonda

Tulokas
Vastaavaa tässä nyt pohtinut muutaman illan sängyssä. Eli sähköauton latauksen... Blueprinttiä löytyy että jos rank alle jotain tai sitten halvin esim 4h jakso. Mutta mitä jos haluan tehdä dashboardilta ohjauksen. Eli esim illalla laitan että haluan että autoa on ladattu 3h aamu 08:00 mennessä, hae halvimmat tunnit ja lataa niinä tunteina. Haluan halvimmat tunnit, mutta niiden ei tarvitse olla putkeen.
1. Rank ohjaus ei toimi, koska en tiedä mitä rankkeja osuu tuohon ajanjaksoon
2. En halua peräkkäisiä tunteja vaan halvimmat
Koitin lueskella noita blueprinttejä ja en keksi miten voisin rank ohjauksesta tuon hakea. Eli hintoja täytyy jotenkin pyöritellä. Seuraava ongelma onkin että olen vasta oppinut miten käytän halvinta jaksoa, eli ['Start'], mutta miten saan scriptin palauttamaan kaikki halutut tunnit yms.
Varmasti joku rakentanut SHF tai nordpoolin päälle tälläisen? Voisiko tönäistä eteenpäin tai jopa jakaa yamlia aiheesta?
Mulla menee jo helppereihin lopetus päivä +aika sekä montako tuntia ladataan. Tähän tökkäs :)
 

-Teme-

Vakionaama
Vastaavaa tässä nyt pohtinut muutaman illan sängyssä. Eli sähköauton latauksen... Blueprinttiä löytyy että jos rank alle jotain tai sitten halvin esim 4h jakso. Mutta mitä jos haluan tehdä dashboardilta ohjauksen. Eli esim illalla laitan että haluan että autoa on ladattu 3h aamu 08:00 mennessä, hae halvimmat tunnit ja lataa niinä tunteina. Haluan halvimmat tunnit, mutta niiden ei tarvitse olla putkeen.
1. Rank ohjaus ei toimi, koska en tiedä mitä rankkeja osuu tuohon ajanjaksoon
2. En halua peräkkäisiä tunteja vaan halvimmat
Koitin lueskella noita blueprinttejä ja en keksi miten voisin rank ohjauksesta tuon hakea. Eli hintoja täytyy jotenkin pyöritellä. Seuraava ongelma onkin että olen vasta oppinut miten käytän halvinta jaksoa, eli ['Start'], mutta miten saan scriptin palauttamaan kaikki halutut tunnit yms.
Varmasti joku rakentanut SHF tai nordpoolin päälle tälläisen? Voisiko tönäistä eteenpäin tai jopa jakaa yamlia aiheesta?
Mulla menee jo helppereihin lopetus päivä +aika sekä montako tuntia ladataan. Tähän tökkäs :)
Katso tämä Tonin postaus
 

Keki-

Tulokas
Minkälaisia pörssisähköohjauksia olette tehteen mitsun ecodan vilpille? Ensi viikolla vaihtuisi pörssiin ja olisi kiva jos saisin jotain säästöjä HA:n kautta. Vilppi on tällä hetkellä kytketty melcloudin pilveen. Alustavasti mietin, että yön halvempina tunteina voisi vain nostaa patteriverkoston lämpötilaa ja sitten aamun aikana sitä laskea. Käyttövedellekin tuossa voisi pakkolämmityksen kytkeä päälle.

En ole vielä sen tarkemmin tutkinut saako tuonne yksikköön itsessään tuotua mitään reletietoja, joiden kautta sitten voisi myös ohjauksia tehdä. Muita ideoita otetaan vastaan.

Tällä hetkellä HA:ssa asennettuna https://github.com/kotope/aio_energy_management pörssisähköohjauksia varten.

Laitteen tarkka malli on EHST20D-YM9D
 

jämä67

Aktiivinen jäsen
Python:
{##### Settings #####}
{% set heaters = [
 {"name": "ILP", "cop+7": 4, "cop-15": 1, "mincop": 1, "maxcop": 4 },
 {"name": "Sähkö"},
 {"name": "OIL", "cost": 0.04},
 {"name": "Wood", "cost": 0.04}]
%} {# Heater settings. Price of kWh in cost. #}
{# Electricity prices, list of prices €/kWh #}
{% set data = state_attr('sensor.shf_electricity_price_now', 'all_prices')[0:24] %}
{# Weather data #}
{% set weather = (state_attr("weather.sijainti", "forecast"))[0:24] %}

{##### SCRIPT STARTS #####}

{# Calculate needed energy #}
{% set output = namespace(value=[], temps=[]) %}
{% for value in weather %}
  {%- set output.temps = output.temps + [value["temperature"]| float] -%}
{%- endfor -%}
{% set output.value = output.value | sum %}
{%- set costs = namespace(value=[], output=[], sorted=[], powers=[], index=0) %}

{# Calculate hourly price for each heater #}

{%- for value in range(0,data|length) %}
  {%- set costs.index = loop.index-1 -%}
  {%- for heater in heaters %}
    {%- if heater["cost"] | default(0) %}
      {%- set power = heater["power"] -%}
      {%- set t = heater["cost"] - 0.000001*sin(loop.index/24*pi) -%} {# Daytime preferred #}
    {%- else -%}
      {%- set t = output.temps[loop.index-1] %}
      {%- set mincop = heater["mincop"] | default(1) %}
      {%- set maxcop = heater["maxcop"] | default(5) %}
      {%- set cop7 = heater["cop+7"] | default(1) %}
      {%- set cop15 = heater["cop-15"] | default(1) %}
      {%- set cop = max(min((t+15)*(cop7-cop15)/22+cop15,maxcop),mincop) %}
      {%- set t = data[costs.index]/cop %}
    {%- endif %}
    {%- set costs.value = costs.value + [t] -%}
  {%- endfor %}
    {%- set idx = costs.value.index(costs.value|min) -%}
{#- MUOKKAA TÄSTÄ -#}
{#- {{ costs.value }} -#}
{{ heaters[idx]["name"] + "\r\n" }}
{#- MUOKKAA TÄHÄN -#}
  {%- set costs.value = [] -%}
{%- endfor %}
Tässä voisi olla jotain pohjaa. Puskee ulos tämmöisen listan eli 24h ajalla halvin lämmitystapa noista yläosan määritelmistä:


Pääset tämän perusteella ehkä alkuun? Koodissa merkitty kohta "MUOKKAA TÄSTÄ/TÄHÄN", josta saa myös ne tuntikohtaiset kWh-hinnat tarvittaessa printtautumaan.
Tämä hieno koodi, joka ilmoittelee vuorokauden tunneille onko vilp vai öljy kannattavampaa, lakkasi toimimasta jo keväällä, kun lämmityskauden jälkeen latailin HA:n päivityksiä. Onkohan @Temez vielä linjoilla? Olitko omissa systeemeissä tätä käyttänyt ja mahdollisesti jo korjannut? Koitin jo tuota tutkailla ja testailla mutta ei vaan taidot tahdo riittää.

Joka tapauksessa tuohon Weather data systeemin muutokseen ongelma liittyy ja vaikka esim Met.no sääennusteessa näkee tunneittain hinnat, niin se ei pysty tuota enään hyödyntämään.
 

Temez

Aktiivinen jäsen
Satunnaisesti lueskelen foorumia ennen nukkumaanmenoa, mutten ole hirveän aktiivinen ollut. Vanhempainvapaa ei ole mitään lomaa :)

Minulla on käytössä tämmöinen (ruma ja kommentoimaton) Python-koodi, joka lueskelee FMI:n avoimen datan rajapinnasta ennustetta (place-muuttujaan haluttu paikannimi ja alla oleva koodi HA:ssa vaikka tiedostoon /config/fmi-forecast.py):
Python:
import requests, sys, datetime, json, collections
import dateutil.parser as dp
import xml.etree.ElementTree as ET

query = "fmi::forecast::harmonie::surface::point::timevaluepair"
place = "Helsinki"

def get_data(param = "Temperature"):
    starttime = datetime.datetime.utcnow().replace(minute=0, second=0, microsecond=0).isoformat()
    endtime = (datetime.datetime.utcnow() + datetime.timedelta(hours=48)).replace(microsecond=0).isoformat()
    r = requests.get("https://opendata.fmi.fi/wfs?request=getFeature&storedquery_id=%s&place=%s&parameters=%s&endtime=%s&timestep=60&starttime=%s" %
        (query, place, param, endtime, starttime), timeout = 60)
    root = ET.fromstring(r.text)
    out = {"forecast": []}
    arr = root.findall(".//{http://www.opengis.net/waterml/2.0}MeasurementTimeseries")
    tmp = collections.defaultdict(dict)
    for i in arr:
      key = i.get('{http://www.opengis.net/gml/3.2}id').split("-")[-1]
      points = i.findall('./{http://www.opengis.net/waterml/2.0}point/{http://www.opengis.net/waterml/2.0}MeasurementTVP')
      for k in points:
        t = dp.parse(k[0].text).timestamp()
        value = float(k[1].text)
        tmp[t][key] = value

    for key, value in tmp.items():
      value["Timestamp"] = key
      out["forecast"].append(value)

    return json.dumps(out)

if __name__ == '__main__':
    param = "Temperature,RadiationGlobal"
    if len(sys.argv) == 2:
      param = sys.argv[1]
    print(get_data(param))

Ja sitten HA:n puolella tämmöinen konffipätkä tiedostoon /config/configuration.yaml (command-rivillä voi halutessaan määritellä tulemaan eri suureita, mutta siihen voi jättää pelkän "Temperature"-arvon, jos haluaa vain lämpötilaa):
Koodi:
command_line:
  - sensor:
      name: FMI Forecast
      command: "python3 /config/fmi-forecast.py Temperature,RadiationGlobal,WindSpeedMS,WindDirection"
      unit_of_measurement: "°C"
      value_template: '{{ value_json["forecast"][0]["Temperature"] }}'
      json_attributes:
      - forecast
      command_timeout: 60
      scan_interval: 1:00:00

Tämä on siis vanha toteutus, joka vaan jäänyt pyörimään. Toinen vaihtoehto on soveltaa tämän Youtube-videon ohjetta siitä, että miten voi kysellä esim. met.no:lta sitä ennustedataa ja syöttää se tuolle minun koodilleni:

Sivuhuomio: tuo alkuperäinen Jinja-koodini olettaa, että lämpötilat sekä sähkönhinnat ovat alkaen vuorokauden alusta. Eli pitää olla tarkkana, että laskennan ajankohdalla sille saa syötettyä 24kpl sähkönhintoja ja 24kpl lämpötiloja alkaen kellonajasta 0:00. Muuten voi tulla hassuja tuloksia.
 
Viimeksi muokattu:
Back
Ylös Bottom