”Rank and Price” -skriptin parametrien selitys

”Rank and Price” skriptin parametrit eivät välttämättä aukea ihan ensilukemalta. Varsinkin priorityHours parametrien toiminta on herättänyt kysymyksiä. Parametrit näyttävät tältä, kun säädetään halvimpiin tunteihin ja hintarajaan liittyviä sääntöjä:

Parametrien kuvaukset
ParametriSelitys
RelayIsInUseOnko tämä sääntöjoukko käytössä. Skriptissä on oletuksena useampi sääntöjoukko, joita voidaan käyttää. Mitään ei tarvitse poistaa skriptistä, vaan sääntöjoukon käyttöönotto tehdään tällä parametrilla.
RelayReleen numero Shellyssä. Yksireleisen Shellyn relenumero on aina ”0” ja esimerkiksi nelireleisen relenumerot ovat ”0”, ”1”, ”2” ja ”3”.
RelayNameKäytetään lähinnä lokiviesteissä kertomaan minkä releen toiminnasta on kyse.
RanksAllowedKuinka monta halvinta tuntia rele on kytkettynä. Listaa tähän yksittäin ne halvimmat tunnit jolloin tämä sääntö toimii. Esim. kolme halvinta tuntia: ”1,2,3”. Tai tunnit 2 ja kolme, mutta ei kaikista halvinta tuntia: ”2,3”.
PriceAlwaysAllowedHintaraja, jolloin rele kytketään aina päälle, huolimatta onko tunnin ”Rank” mikä hyvänsä.
MaxPriceVastinpari sallitulle hinnalla, eli hinta minkä yli mennessä rele on aina kiinni. Käytä parametria harkiten, ettei jää vuorokaudelta kaikki tunnit väliin.
AllowedDaysTähän voidaan listata päivät maanantaista sunnuntaihin, jolloin sääntö on voimassa. 1 = maanantai ja 7 = sunnuntai. Jos päivä ei ole sallittu, on rele koko päivän kiinni.
AllowedMonthsTähän voi listata ne kuukaudet jolloin sääntö on voimassa. 1 = tammikuu, 12 = joulukuu. Jos kuukausi ei ole sallittu, on rele koko kuukauden kiinni.
BackupHoursNäiden tuntien aikana rele on kytkettynä päälle, mikäli Internet-yhteys ei ole toiminnassa tai mikäli Spot-hinta.fi rajapinta ei vastaa.
BoosterHoursNämä tunnit on rele aina kytkettynä, hinnasta välittämättä. Tätä voisi käyttää esimerkiksi jos kohteessa on suurempi vedenkulutus tiettyinä tunteina ja veden pitää riittää (taloyhtiön sauna?)
PriorityHoursNämä tunnit saavat pienimmät ”Rank” arvot. Näiden tuntien joukosta halvin tunti saa Rank arvon 1. Seuraava Rank arvon 2 jne…. ja vasta näiden jälkeen saavat muut vuorokauden tunnit Rank arvonsa hintajärjestyksessä.

Paitsi jos….. PriorityHoursRank parametri on asetettu pienemmäksi kuin tämän parametrin tuntimäärä.
PriorityHoursRankPriorityHoursRank rajoittaa, että kuinka monta tuntia priorityHours tuntijoukosta valitaan saamaan pienimmat Rankit.

Esimerkiksi jos valitaan kaikki aamuyön tunnit ”priorityHours” parametrilla, voidaan tällä valita, että vain 3 tuntia niistä saa pienimman Rankin. Sen jälkeen kaikki vuorokauden loput tunnit saavat rank arvonsa hintajärjestyksessä.

Tällä voidaan siis valikoida halutusta tuntijoukosta halvimmat X tuntia. Jos arvoa ei haluta käyttää, aseta tähän arvoksi ”PriorityHours” parametrin tuntimäärä, eli että kaikki priorityHours saavat Rank arvonsa ennen muita tunteja.

PriorityHours ja PriorityHoursRank parametrien toiminallisuus kuitenkin MUUTTUU jos priceModifier parametriin on asetettu nollasta poikkeava arvo.
PriceModifierPriceModifier parametrilla voidaan muuttaa priorityHours parametrin toiminnallisuutta niin, että varsinaista Rank arvoa ei pakoteta priorityHours tunneille, vaan näille tunneille tehdään HINNAN muokkaus ennen Rank laskentaa.

Esimerkiksi arvolla PriceModifier: ”-2,50” annetaan priorityHours tunneille 2,50 senttiä alennusta ennen Rank laskentaa, esimerkiksi kompensoimaan yösiirtohinnan alennusta päiväsiirtoon nähden. Rank laskenta kuitenkin lopuksi tehdään kaikille tunneille hintajärjestyksessä.
InvertedKääntää releen toiminnan päinvastaiseksi. Eli jos ”Inverted” parametri on ”False” (oletus) ja rele menee skriptissä päälle, menee se vastaavasti pois päältä jos ”Inverted” parametri on ”True”. Kaikki siis käänteisesti.