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

Mikki

Hyperaktiivi

jamo1

Jäsen
Hienosti scriptit kehittynyt! Itse jäänyt kaipaaman paria lisäominaisutta. Oisko mahdollista muuttaa outdoor temperature Scriptiä että sillä voisi ohjata 4 relettä 3 sijaan? Onnistuisiko lämpötilasta tehdä vastaavan rajoittavan parametrin kuin maxprice? Olisi kätevä itsesäätyvissä lattialämmityksien ohjauksissa joita ei tarvitsi kuin esim -5 astetta ja kylmemmällä. Ei tarvitsisi katkasijoista sammutella ja kytkeä ilmojen mukaan kun termareita ei ole.
Itseasiassa onnistuu jo nyky scriptien parametreillä aika hyvin ohjaus. Outdoor temperature adjusted scriptiin 1 tunti 0 asteessa ja korjaus 30%, minimum rank 1, ollaan melkolähellä tavoitteessa!
 

Mikki

Hyperaktiivi
En äkkiseltään keksi muuta kuin että Shelly ei tue muuta kuin yksittäisiä json-elementtejä ja lista ei ole tuettuna. En tosin mitään speksiä tästä löytänyt. Voiskohan tuon apin muuttaa palauttamaan ihan stringinä tuon datan? Tai varmaan pitäisi uusi api tehdä jos joku tätä käyttää.

Sama tilanne näyttäisi olevan kun kutsuu Shellystä esim. https://jsonplaceholder.typicode.com/posts/1/comments, joka palauttaa myös listan. Taitaa siis olla Shellyn rajoitus tämä. Mahtaisiko toimia, jos json olisi muotoa {"data":[]}.

HomeAssistant parametrilla se tulee noin jos haluat kokeilla: https://api.spot-hinta.fi/TodayAndDayForward?HomeAssistant=true

Mutta jos sinulla on tarve päivän keskiarvohinnalle, ja vaikka lisäksi päivän min/max hinnat, niin voisin tehdä vaikka tuohon /JustNow rajapintaan jokun lisäparametrin, jolla nuo lisätiedot saisi tulemaan.

Jos riittäisi se, että ajat kerran tunnisa logiikan ja lasket pitääkö käynnistyä tai ei.
 

Sukke

Aktiivinen jäsen
Mietiskelin miten tämä voisi toimia. Esim. jaetaan vuorokausi vaikkapa klo 18-06 ja klo 06-18. Noihin molempiin aikoihin voisi määritellä hinnat, rankit jne. mitä kuka haluaa. Eli purettaisi päiväkohtainen ohjaus ja tilalle tällainen niin pitkälle kuin mahdollista katsova ohjaus.

Osuisiko tunnit illan ja yön tunnit paremmin kohdilleen, jos 0-24 vuorokauden sijaan tarkastelu olisi esim. klo 14-14?

Toki tuntihintojen päivitysajankohta tuo tuohon klo 14-14 tarkasteluun vähän epävarmuutta, jos hintatiedot päivittyykin vasta esim. klo 15.

En tiedä kuinka yksinkertainen olisi toteuttaa rajapinta siten, että käyttäjä saisi valita tarkastelun nollahetken? Jos oletuksena siitä hetkestä olisi 24 h tunteja eteenpäin?

Askartelin oman alustavan ohjauksen pohjan siten, että tarkastelu tehdään aina tiedossa olevien tuntihintojen loppuun saakka.
 

pumpisti

Aktiivinen jäsen
HomeAssistant parametrilla se tulee noin jos haluat kokeilla: https://api.spot-hinta.fi/TodayAndDayForward?HomeAssistant=true

Mutta jos sinulla on tarve päivän keskiarvohinnalle, ja vaikka lisäksi päivän min/max hinnat, niin voisin tehdä vaikka tuohon /JustNow rajapintaan jokun lisäparametrin, jolla nuo lisätiedot saisi tulemaan.

Jos riittäisi se, että ajat kerran tunnisa logiikan ja lasket pitääkö käynnistyä tai ei.
Tämä voisi olla ihan hyvä. Tein tähän nyt kuitenkin workaroundina pienen flask-apin kaverin palvelimelle, joka konvertoi jsonin stringiksi. Sillä toimii. Varmaan tähän joku muukin ratkaisu olisi mutta en jaksa enempää selvitellä.
 

Sammypiru

Vakionaama
@Mikki Oliko scripteissä nyt joku toiminto että Shelly lukee rajapintaa harvemmin? Eli jos tekee scriptiin jonkun muutoksen, niin toimivuuden näkee vasta seuraavan tasatunnin jälkeen?
 

Mikki

Hyperaktiivi
@Mikki Oliko scripteissä nyt joku toiminto että Shelly lukee rajapintaa harvemmin? Eli jos tekee scriptiin jonkun muutoksen, niin toimivuuden näkee vasta seuraavan tasatunnin jälkeen?

Kun skriptin käynnistää, niin se tekee aina operaation ensimmäisen minuutin aikana ja siitä sitten tasatunnein eteenpäin. Eli pitää odottaa ainakin minuutti, että se skripti "herää".
 

Mikki

Hyperaktiivi
Jottei syrjitä muita alustoja Shellyn kanssa, niin välillä jotain muutakin kuin Shellyä... eli IFTTT Webhookeja voi nyt kutsua "BETA" tasoisella systeemillä Spot-hinta.fi alustasta käsin.


Ideana on siis se, että Spot-hinta.fi 200/400 REST-kutsun voi määritellä työkalun avulla triggeröimään IFTTT Webhookin. Siis tyyliin "Rele päälle", "Rele pois". Tai "Astianpesukone" päälle, kuten yksi beta-testaaaja on viritelly hommaa pelaamaan.

Työkalu löytyy täältä: https://api.spot-hinta.fi/IFTTT
 

Sammypiru

Vakionaama
Mikähän tässä inverted -käytössä olevassa scriptissä tökkii. Tarkoitus oli ohjata rele OFF -tilaan kun alla olevat toteutuvat ja ON -tilaan kun eivät toteudu. Juuri nyt (30.1.23 klo 15:30) ollaan järkeni mukaan tilanteessa, että alla olevat ehdot eivät toteudu ja releen pitäisi vetää ja sitä kautta ohjata koko lämmitykseni "säästömoodiin".

Scripti (Haettu spot-hinta.fi kirjastosta):
let SETTINGS_1 =
{
RelayIsInUse: true, // Change this to true/false depending if you want to use this relay or not
Region: "FI", // See all supported regions from Swagger documentation: https://api.spot-hinta.fi/swagger/ui
RankAtZeroDegrees: "5", // "Rank" (number of cheapest hours) when outdoor temperature is 0?C
RankAdjusterPercentage: "4", // Percentage how much "Rank" is adjusted when outdoor temperature changes by one degree
MinimumRank: "3", // Minimum 'Rank' when temperature goes above zero and Rank is getting smaller
PriceAlwaysAllowed: "1", // "Allow always cheap prices". Price when relay is always ON.
MaxPrice: "999", // This is the maximum allowed price in Euro cents.
AllowedDays: "1,2,3,4,5,6,7", // Allowed days from Monday to Sunday. Modify only if you don't want everyday execution.
PostalCode: "xxxxx", // Postal code (Finland only!), which area temperature is used in calculations
Latitude: "xxxxx", // Latitude. Overrides PostalCode. Simple service to check the coordinates: https://www.latlong.net/
Longitude: "xxxx", // Longitude. Overrides PostalCode. Simple service to check the coordinates: https://www.latlong.net/
BackupHours: ["00", "01", "02", "03", "20", "21"], // Backup hours if API is not answering or Internet connection is down.
BoosterHours: "99,99", // During these hours relay is always ON. If you don't want this, use "99,99"
PriorityHours: "99,99", // List here hours you want to prioritize. With PriceModifier: "0", these hours always get the smallest 'rank'
PriorityHoursRank: "3", // This limits how many hours are prioritized (i.e. 3 cheapest hours from priority hours)
PriceModifier: "-2,50", // Put here the difference in Euro cents if priority hours have lower price, like 'night electricity'
Relay: "0", // Number of the relay within Shelly. Make sure this is correct
RelayName: "Halvat tunnit", // Whatever name for this relay. Used in debug logging mostly.
Inverted: true, // If "true", relay logic is inverted
};

Osoite jolla tarkastan mitä tulee vastaukseksi:

Ja vastaukseksi tulee tämä ja kun Invertted = True, niin eikö relee pitäisi olla tilassa ON, mutta ei ole.
1675085436433.png


Missä kohtaa minulla menee vikaan?
 
Viimeksi muokattu:

Mikki

Hyperaktiivi
@Sammypiru: jos stoppaat skriptin ja käynnistät, niin mitä se printtailee, eli minuutin sisällä se suorittaaa ajon. API kyllä palautti 400, eli sinänsä kyllä... inverted true pitäisi kytkeä releen päälle.
 

Sammypiru

Vakionaama
Stoppasin ja käynnistiin uudelleen, niin rele kytkeytyi päälle ja piirteli logiin tämän. EN ole ihan varman oliko minulla monitoring -scripti pois päältä, voiko se vaikuttaa?

URL to call (dynamic 1): https://api.spot-hinta.fi/JustNowRa...rityHoursRank=3&priceModifier=-2,50&region=FI

15:52:31
mg_rpc.c:314 HTTP.GET via loopback


15:52:31
shelly_http.cpp:184 0x3ffda46c HTTPS GET https://api.spot-hinta.fi/JustNowRa...stalCode=32700&latitude=61.162005&longitude=2


15:52:31
2.712498&boosterHours=99,99&priorityHours=99,99&priorityHoursRank=3&priceModifier=-2,50&region=FI (SSL CA *)


15:52:31
shelly_http.cpp:68 0x3ffda46c HTTP got 400 Bad Request and 3 byte response


15:52:33
Performing control for relay: Halvat tunnit


15:52:33
Relay 'Halvat tunnit' ON (INVERTED)


15:52:33
mg_rpc.c:314 Switch.Set via loopback


15:52:33
 

Mikki

Hyperaktiivi
Joo ei saisi parse erroria olla. En näe nyt tuossa vikaa, mutta jostain se nyt marisee ja tuskin siis Monitoring toimii. Voin testata myöhemmin tänään että onko vikaa skriptissä.

Joskus voi olla tilanne, että on myös jotain näkymättömiä merkkejä ilmestynyt copy-pastessa
 

Sammypiru

Vakionaama
Ykkös-Shellyyn Libraryn kautta hakemani monitoring ilmeisesti kenkkuilee. Eikö tuo painike kuuluisi olla Pause (II) kuten kakkos-Shellyssäkin on (joku vanhempi copy-pastettu valvojasctipti).

1675101821131.png



1675101933919.png



Kopioin tuon kakkos-Shellyn vanhan valvojan myös ykköseen, katotaas mitä tapahtuu.
 

Mikki

Hyperaktiivi
Ykkös-Shellyyn Libraryn kautta hakemani monitoring ilmeisesti kenkkuilee. Eikö tuo painike kuuluisi olla Pause (II) kuten kakkos-Shellyssäkin on (joku vanhempi copy-pastettu valvojasctipti).

Kopioin tuon kakkos-Shellyn vanhan valvojan myös ykköseen, katotaas mitä tapahtuu.

Tein juuri pienen päivityksen Monitoring scriptiin. Eli skripti asettaa nyt valvottavan skriptin käynnistyksen yhteydessä sen "enabled" statuksen päälle. Sitä ei ole aiemmin asetettu. Se on tämmöinen rivi mistä uuden skriptin tunnistat:

1675102768690.png


Kyllä tuo uusi skripti pitäisi toimia ihan hyvin. Jos skriptiä starttailee/stoppailee, niin joskus näemmä voi saada "Parse errorin", se varmaan liittyy jotenkin javascript enginen tilaan. Eli ei vaarallista.

Se "Enabled" liukukytkin tarkoittaa käytännössä sitä, että käynnistetäänkö skripti Shellyn bootissa. Käytännössä siis pitäisi olla aina se Enabled, koska Shelly nyt voi päättää jostain syystä bootata.
 

Sammypiru

Vakionaama
Latasin Librarystä uuden monitoroinnin ja näytti tuo rivi olevan mukana.

Edellisessä viestissä en tarkoittanut liukukytkintä vaan scriptin nimen edessä olevaa "Play" ja "Pause" -kuvaketta. Miksi librarystä ladatun scriptin kaverina oleva monitoring menee Pauselle ja painike muuttuu Play -nappulaksi ja taas vanhan copy-pastetun scriptin kaverina oleva monitoring on ja pysyy Play -tilassa ja kuvake pysyy Pause -painikkeena. Tätä ihmettelen että onko sillä jotain merkitystä.
 

Mikki

Hyperaktiivi
Latasin Librarystä uuden monitoroinnin ja näytti tuo rivi olevan mukana.

Edellisessä viestissä en tarkoittanut liukukytkintä vaan scriptin nimen edessä olevaa "Play" ja "Pause" -kuvaketta. Miksi librarystä ladatun scriptin kaverina oleva monitoring menee Pauselle ja painike muuttuu Play -nappulaksi ja taas vanhan copy-pastetun scriptin kaverina oleva monitoring on ja pysyy Play -tilassa ja kuvake pysyy Pause -painikkeena. Tätä ihmettelen että onko sillä jotain merkitystä.

Hmm... enpä osaa sanoa. Mutta ainakin uudella firmiksellä tuohan on ihan aktiivinen nappi, josta voi käynnistää tai pysäyttää skriptin. Se on nyt käynnissä tuossa kuvassa ja jos painaa, skripti pysähtyy ja siihen tulee "Play" nappi.

Jos tuo vaihtuu Play napiksi, niin se pitäisi kyllä tarkoittaa että skripti on stopannut. Minulla kyllä tuo pysyy päällä ihan normaalisti, just otin uudestaan Librarystä.

1675104097143.png
 

Sammypiru

Vakionaama
Nyt tuntuu pysyvän monitoring -scripti käynnissä kun asensin sen tuossa 18:38 uudelleen. Voi olla että meni vähän sekasin siinä kun lisäsin aiemmin scriptit librarystä ja vasta sen jälkeen poistin vanhat.
 

HannuP

Jäsen
Shelly Plus Plug S:t saapuivat postissa. Koskaan mikään käyttöönotto ei ole ollut näin helppoa ja havainnollista. Tosin olin jo harjoitellut Shelly 1 PM plussan kanssa. Nyt on ensimmäinen viidestä tilaamastani koekäytössä scripteinä Shelly-Minimal_water_heating.js ja varmuuden vuoksi Shelly-Monitoring.js
 

Mikki

Hyperaktiivi
Shelly Plus Plug S:t saapuivat postissa. Koskaan mikään käyttöönotto ei ole ollut näin helppoa ja havainnollista. Tosin olin jo harjoitellut Shelly 1 PM plussan kanssa. Nyt on ensimmäinen viidestä tilaamastani koekäytössä scripteinä Shelly-Minimal_water_heating.js ja varmuuden vuoksi Shelly-Monitoring.js
Hienoa, minä vielä odotan tuotetta että kertokaa jos havaitsette jotain outoa tuon Plugin kanssa. Mutta olettaisin kyllä että homma pelittää. Toivotaan että itse tuote on laadukas.
 

HannuP

Jäsen
Nyt minulla on mökillä Shelly PlusPlugS’t Nobön lämmittimien edessä. Plugeissa Shelly-Minimal_water_heating.js-scriptit leikkaavat kalliit tunnit pois ja Nobön nettiohjatut termostaatit hoitavat hommat omalta osaltaan. Toimii hienosti!
Mökillä on useita rakennuksia ja kaikenlaisia sähkönsyöjiä siellä täällä ynnä yksi Tesla Y. Pulmaksi nousee 3x25 A jonkun vaiheen ylikuormittuminen, kun kuormat sattuvat päälle miten sattuu.
Olen nyt opetellut käyttämään Webhookkeja. Toisin sanottuna Plugi tai joku muu Shelly lähettää esim Webhookin vaikkapa “192.168.1.110/relay/0?turn=off” toiselle laitteelle, jolloin se väistyy. Tosi kätevää.
Shellytä tulee 28.2.2023 myyntiin scripttatava ja Webhookkeja lähettävä Shelly Pro 3EM, joka mittaa kaiken mahdollisen sähköverkosta. Ajattelin sijoittaa tällaisen pääkeskukseen vahtimaan vaihevirtoja ja tarvittaessa Webhookeilla leikkaamaan toisarvoisia kuormia.
Ja nyt tämän johdatuksen jälkeen kysymykseen komentosuhteista, kumpi voittaa, kun samaa relettä komentaa alatason scripti ja ylätason Shelly Cloud tai joku Webhook. Testasin pari tilannetta.

Testi 1.
Alkutilanne: Scripti on tasatunnilla ohjannut “Relay ON” ja seuraavalla tunnilla scriptin tulisi jatkaa ohjausta “Relay ON”.
Sitten Cloud pudottaa tilaan “Relay OFF”. Testin tulos: Seuraavana tasatuntina scripti palautti tilan “Relay ON”. Siis scripti voitti.

Testi 2.
Scripti ohjaa tilaan “Relay OFF” ja seuraavaksi tunniksi on odotettavissa edelleen “Relay Off”. Sitten Cloud ohjaa tilan “Relay ON”. Testin tulos: Tasatunnilla “Relay ON” jää päälle. Siis Shelly Cloud voitti. (Tämähän on nähtävissä scriptistä, joka uskoo edelliseen ohjaukseensa).

Olisiko hyvä hiukan muuttaa scriptiä niin, että aina tasatunnein scripti voittaisi ja autonominen alataso jatkaisi häiriintymättä?
 

Mikki

Hyperaktiivi
Ja nyt tämän johdatuksen jälkeen kysymykseen komentosuhteista, kumpi voittaa, kun samaa relettä komentaa alatason scripti ja ylätason Shelly Cloud tai joku Webhook. Testasin pari tilannetta.

Testi 1.
Alkutilanne: Scripti on tasatunnilla ohjannut “Relay ON” ja seuraavalla tunnilla scriptin tulisi jatkaa ohjausta “Relay ON”.
Sitten Cloud pudottaa tilaan “Relay OFF”. Testin tulos: Seuraavana tasatuntina scripti palautti tilan “Relay ON”. Siis scripti voitti.

Testi 2.
Scripti ohjaa tilaan “Relay OFF” ja seuraavaksi tunniksi on odotettavissa edelleen “Relay Off”. Sitten Cloud ohjaa tilan “Relay ON”. Testin tulos: Tasatunnilla “Relay ON” jää päälle. Siis Shelly Cloud voitti. (Tämähän on nähtävissä scriptistä, joka uskoo edelliseen ohjaukseensa).

Olisiko hyvä hiukan muuttaa scriptiä niin, että aina tasatunnein scripti voittaisi ja autonominen alataso jatkaisi häiriintymättä?

Tuo on nyt tarkoituksella tehty niin, että skripti ei sulje relettä kuin kerran. Tähän on oikeastaan kaksi käyttötarkoitusta:
- Haluaa käsin laittaa releen päälle vaikka ylimääräistä saunaporukkaa varten
- Haluaa asentaa kaksi skriptiä/sääntöä ohjaamaan samaa relettä. Tällä logiikalla mikä nyt on, eivät skriptit häiritse toisiaan.

Eli tuo on tietoisesti tehty toiminnallisuus, että skripti käynnistää kerran ja sulkee kerran. Jos jatkuvasti tasatunnein suljettaisiin, ei mitään muuta voisi tehdä. Jos ehdottomasti tarvitse tuollaista, niin se ei kovin iso muutos ole.

Esim tuohon "minimal" skriptiin lisäät tuon keltaisella olevan rivin.... niin rele sulkeutuu kyllä joka tunti jos ei ole sallittu tunti.


1675880284831.png
 

HannuP

Jäsen
Kiitos vastauksesta. Nyt ymmärrän toiminnan ja se on ihan ok. Nämä ohjaukset monesta paikasta tai jostain ylemmästä automaatiosta ovat kinkkisiä. Täytyy tietää miten alasysteemi toimii, jottei tee asioita hullusti. Olen sitä mieltä, että on parempi olla tekemättä scriptiin omia muutoksia, koska silloin päivitysten ym kanssa joutuu vaikeuksiin, vaan ottaa alatason faktat huomioon ylätason ratkaisuissa.
 

Kaj

Tulokas
NO Vihdoin on mulla postipaketti kotona , ei mene näköjään postien NL ja Postipekan lähetykset yhteen, noin kolme viikkoa kestää paketi tulo Sellyltä kotiin . nyt alkaa se ohjelmointi ja näköjään siellä on tehty sopivasti kolmen kärjen ohjaus tähän Prokolmekärkiseen , pitääpi alkaa tutkiin tarkemmin miten tämä alkaa sujuun että voisi jopa tänä keväänä hyödynnellä tätä hinnanvaihtelu ohjailua.
 
Hei, olen ihan uusi tulokas tällä foorumilla. Törmäsin tähän keskusteluun googlatessa sopivaa api-rajapintaa sähkön pörssihintojen hakemiseksi ESP32 mikrokontrollerille.
Tarkoitus olisi tehdä älykäs termostattiohjaus sähköpatterille mökin peruslämmön ylläpitoon. Ohjausparametrit annetaan Android puhelimella/tabletilla joko Bluetoothilla tai etänä netin kautta.
Olisi siis pari kehitysehdotusta rajapintaan:
Lähettää parametrina annetun tuntimäärän (esim 12h) mukaan kyselyajankohdasta lähtien seuraavat (12) tuntia hintadatan. (Iltapäivällä ennen uusien hintojen julkaisua hintoja olisi tietysti vähemmän) Toinen parametri olisi "hintaryhmien lukumäärä", esim 4.
Tarkoittaen sitä, että jakson minimi- ja maxhinta jaetaan 4:ään osaan ja jokaiselle hinnalle annetaan ryhmä onko hinta 1. 2. 3. vai 4. neljänneksessä. Tarkoitus olisi painottaa lämmitystä alempien hintaryhmien aikaan. Voihan tämän tehdä nykyiselläkin liittymällä mikrokontrollerissa, mutta saisi valmiiksi "pureskeltua" dataa.
Toinen kehitysehdotus on vähän isompi:
tuki MQTT broker sanomavälitykseen, eli liittymä julkaisisi tunnin välein JSON-sanoman MQTT brokerille. Topicceina olisi nykyisen liittymän vaihtoehdot (1 tunti, 1 päivä , säädata ym.)
Yleinen ilmainen vapaassa käytössä oleva MQTT sanomavälitys on HiveMQ josta voisi lähteä.
Käytän HiveMQ:ta jo nyt tiedon välittämiseen puhelimesta ESP32 termostaatille ja seurantadatan lähetykseen takasin puhelimeen. Ei tarvis tehdä pörssihintojen hakua erikseen.
Tämä ratkaisu ei kuormittaisi omaa palvelinta tuhansilla kyselyillä vaan kuorma olisi HiveMQ:n palvelimilla, joissa on varmaan isommat resurssit.
Kommentteja ?
 
Hei, otin juuri pörssisähkön.

Haluaisin ohjata lämminvesivaraajan optimiin ja rajoittaa muita laitteita kun hinta ylittää X
Saisin keskukseen jonkin releen yösähkön tilalle, Mikä on sopiva?
Mekaaninen asennus onnistuu, mutta tuosta koodista en ymmärrä...
Olen koittanut lukea ketjua edes takaisin niin että päähän koskee. Vääntäisikö joku rautalankaa?


Mutta saako tätä tietoa myös domoticziin?
Onko olemassa jotakin pluginia josta saisi esim dummy sensorin?

Minulla on pari lämpöpumppua ja muita ohjauksia domoticzin perässä joihin saisi enemmän älyä.
 
Viimeksi muokattu:

pamppu

Vakionaama
Mutta saako tätä tietoa myös domoticziin?
Onko olemassa jotakin pluginia josta saisi esim dummy sensorin?

MQTT:n kautta shellyt saa ihan näppärästi domoticsiin ja niitä voi myös sieltä ohjata. Eli logiikan voi tehdä myös sinne päätyyn ja unohtaa nuo shellyscriptit, jos se tuntuu mukavammalta.
 
Mqtt on uusi tuttavuus jota en osaa juuri soveltaa. Sen verran olen saanut sitä pystyyn että ilpeiltä tulee statukset domolle.

Eli tilaan Shelly Plus 1PM.
Asennan sen keskukseen tariffin tilalle.
Sitten
ohjeilla scripti sisään.

Jos tuo meni oikein niin saan jo LVV ja koko talon suorat lämmitykset ohjaukseen.
Ilpit vaatisi että Shellyn tila päivittyyisi domon esin luotavaan dummy sensoriin.
Onko tämä mahdollista?

Vaihtoehto b on antaa shellyn elää omaa elämäänsä ja lukea domoticziin lähtevä jännitetieto binääritulona.
 

pamppu

Vakionaama
Domoticzin MQTT autosiscovery ei tue shellyjä, mutta tämä. scripti hoitaa homman pakettiin:


Eli MQTT servu pystyssä, MQTT autodscovery domoticzissa päälle, sitten tuo scripti päälle ja shellylle restartti, niin domoticziin ilmaantuu devicet.
 

japapa

Jäsen
Tänään tapahtuu tämä skenaario eli releet menee klo 21-24 päälle eli ottaa vuorokauden 3 halvintatuntia vaikka edullisinta olisi mennä päälle vasta klo23 tai 24.. edellisen kerran menivät pois päältä toissa yönä klo4 näin ollen toteutuu 17h katko lämmityksessä mikä ei minua haittaa
 

Mikki

Hyperaktiivi
Noniin... @japapa innoituksesta kyhäsin viimeinkin yösähkölämmittäjille rajapinnan ja skriptin. Tämä minimal "night" skripti hakee halvimmat tunnit aina 22:00 - 07:00 väliltä.

Jos joku muukin haluaa ottaa testiin, niin tuolta löytyy branchista se "night" skripti. Tuo on todella simppeli, eli haetaan vain X halvinta tuntia tuolta yöajalta ja siinä se. Rank lasketaan noille tunneille vuorokauden vaihtumisesta piittaamatta:


Pitäisi olla suht optimi varaajan lämmitykseen yösiirtoasiakkaille, että miksei muillekkin.
 

Sammypiru

Vakionaama
Taipuuko scriptit siihen että voisi hakea tiettyjä rankkeja päivän ajalta?

Esim. yhdellä scriptillä Rankit 1-6, toisella 7-12, kolmannella 13-18 ja neljännellä 19-24. Tai miten itse haluaisikin.
 

HannuP

Jäsen
Nyt minulla on uudet ShellyPlusS-plugit
7FeAXaQvOHOvh4FF8ojBuDjk2jH3ithjtzhwW3zg_3_4pqAbNb2JozDngStreQ0aEAKMe_cmFUsqF0wWpmn2EIRZcZgsnhrH39ETK-GRqmGCaT7uHapJbXrNcBeGGlVuDl-W17aSNLaivsTJvwGnOJI
mökin päärakennuksessa ohjaamassa lämmitystä. Systeemiin on näkymä uuden Shelly Cloud betan kautta Chromebookeistani. Kännykkään on myös tulossa beta-versio lähiaikana. Tuosta pilvi-näkymästä voi toimintoja seurata ja ohjata joko etänä tai paikallisesti.
Ix7mv4nUBtkT47KLloEaccI7Ga0bzfiRNBv1f0LpL5fR7KTC4SQvIG9VuuREm-yoq8YqrH7SaN-K2qKzQlgNNPT-zLZD02TG85c92lT1Wr2GDnaawL7YTseIxfR9G1_iDcsPttyALXIh7o8dHecdPtM


Systeemin sovellusälynä tomivat Mikin mainiot Minimal-scriptit, jotka väsymättä ja itsenäisesti leikkaavat pois kalliit tunnit. Scripteihin saa kuvan mukaisesti etänäkymän. Minulla on scriptit tuplana ja eri parametreilla. Ensimmäisen olen mimennyt “away”, ja parametrit niin, että pyritään vain peruslämmön saavuttamiseen. Scripti 3 “home” takaa kohtuullisen mukavuuden. Lisää lämmintä saa aina ohjaamalla lämmittimen päälle sovelluksella tai plugin painikkeesta. Scriptin voi pysäyttää tai käynnistää etänä. Varmuuden vuoksi olen ladannut myös nuo vahtikoira-scriptit. Jos tilassa on useampia lämmittimiä, scriptit tarvitaan vain yhteen. Ja tuo Master käskee Orjia Webhookeilla kuvan mukaisesti.


R2PB1qEYsQXkcmzRXGoTPRUAAlMjC3ym17vuFXRjMUQG1D-Kh_81wJShBlQK29YpDCb7WqNddhTWXdYQ0l8Aagob87a1F46ZvVAtXmNVEMtSDuObUH7s8lT7ou7Hfd2AAAXLBttFt8ZYH2zc-A44EY0

P2bOWuoTjpwVfAECSvVmOM83QSKQkipNJ9KALLPwFsP2DzRxBck6LY7xY94C7bEgi05L9-hCOO1nv4ZwcYWwpW2jPqI2Sm8WatGvIZXuJ413VmjR_G4_mt_IfOYC8r4cG9TjFOZCDQ226qUodOm0REM
 

HannuP

Jäsen
Kaikki talvivesijohdot on keskitetty yhteen tilaan. Siellä vesimittarin päällä Shelly H&T vahtii lämpötilaa ja lähettää "Notificaation" kännykkään, jos lämpötila putoaa alle 7 asteen. Shelly H&T Plussalle tein "Scenen", joka ohjaa plugia ja pitää tilan lämpötilan asetelluissa rajoissa. Näitä "Scenen" asetusia voi muuttaa etänä. Toinen "Scene" lähettää kerran vuorokaudessa notificaation "Netti kunnossa", jos netti on elossa.
 

Mikki

Hyperaktiivi
Taipuuko scriptit siihen että voisi hakea tiettyjä rankkeja päivän ajalta?

Esim. yhdellä scriptillä Rankit 1-6, toisella 7-12, kolmannella 13-18 ja neljännellä 19-24. Tai miten itse haluaisikin.

Ei ihan tuollaiseen taivu. Melkein tuollaiseen kannattaisi tehdä pieni skripti, joka hakisi joka tunnin aluksi sen tunnin "Rankin" ja sitten tekisi mitä tekee sen Rank tiedon perusteella. API siis tämä: https://api.spot-hinta.fi/JustNowRank
 

vaari-54

Tulokas
Kuvakaappaus minun beta DIY versiosta. Toiminut täysin ongelmitta vuoden alusta, Mikin WWW-sivuilta haen rank/hinta tiedot. Laitealusta Raspberry PI 3 / Linux ja Node-Red softa. En käytä Shellyn scriptejä ollenkaan vaan NR keskustelee suoraa Shellyjen kans.
Aina päällä/pois on vielä vaiheessa eli näiden nappien takana ei ole mitään.

4 kpl Shelly Plus1 skaapissa jotka ohjaa kontaktoreita, häiriönsuodattimia ei ole (vielä ) vaikka kontaktorit on >30 v vanhoja. Testit ajan omalla Shellyllä joka on ilman kuormaa.

Samassa systeemissä Telegram botti jolla saan perusohjauksen ja statuksen kännyn TG appsiin. Kotiverkossa Elisan purkin perässä EdgerouterX joka toimii vpn-serverinä jolloin saan ulkoa tähän käyttöliittymään vpn-yhteyden.
spot.png
 
Back
Ylös Bottom