Comments (19)
Moi Jussi ja Jukka,
Ajateltuani asiaa vähän syvemmin tulin johtopäätökseen, että ei tuo Jussin algoritmi välttämättä kuitenkaan missaa halvimpia tunteja, kun algoritmi voi vapaasti allokoida vuorokauden aikana halvimpia tunteja ilman että ne ovat peräkkäisiä. Siispä Jussin algoritmi optimoi vuorokauden sisällä kaikki halvat tunnit ja toistaiseksi käyttämäni algoritmi optimoi vain yhden aikavälin, jolloin aikavälin hinnat osuvat "laakson pohjalle" mahdollisimman hyvin klo 20-18 välisellä ajalla.
Jukan kuvaama "kahden tunnin veden lämmitys" probleema on kyllä totta, jos tunnit osuvat kuvatulla tavalla.
MIelestäni Jussin algoritmista saisi "täydellisen", jos 24 tunnin tarkastelujakson alun saisi erikseen määritellä.
Aika mielenkiintoinen optimintitehtävä tässä kuitenkin on kyseessä.
from shelly-porssisahko.
Moi!
Tästä oli jossain yhteydessä puhettakin joskus, mutta kun laitoit viestin tajusin, että tämähän on aika helppo tehdä. Eli eiköhän tuo onnistu.
Ainoa ero on se, että koska skripti toimii aina vuorokauden sisällä, aikaväli 22-07 ei onnistu. Sen sijaan 00-07 onnistuu. Tämän pystyisi kiertämään sillä, että aikavälin sijaan ruksittaisiin tunnit, joista halvimmat valitaan. Tällöin vaan logiikka vaatisi isompia muutoksia.
Täytyy miettiä vielä parasta toteutusta, mutta tavalla tai toisella jotain kyllä pystyy asialle tekemään.
from shelly-porssisahko.
from shelly-porssisahko.
Moi,
Olen käyttänyt Shelly:n lutikoiden pörssisähköohjausta jo runsaan vuoden ajan. Olen käyttänyt erästä toista saamaani scriptiä, jossa käytön parametrit sijoitetaan suoraan scriptin source codessa esiteltyihin parametreihin. Tässä scripti käynnistyy randomisti välillä 18-18.15. Olen laittanut optimointijakson alkamaan klo 20, se päättyy sitten seuraavan vuorokauden klo 18 (sisältäen yhden yhtenäisen optimointijakson).
Tämä scripti käsittää siis tilanteen, jossa halvimmat yhtäjaksoiset tunnit osuvat klo 00 molemmin puolin, tosin olen excluudannut optimoinnista aikavälin klo 18-20.
Onko Jussin koodia mahdollista kehittää niin, että tällainen tilanne olisi huomioitu (aika usein halvin jakso osuu klo 00 molemmin puolin). Siis vuorokauden alun sijasta voisi käyttää optimointivuorokauden alkuun jonkin muun kellonlyömän?
t. Timo
P.S. Olen reklamoinut Shellylle siitä, että heidän tuotettaan on lähes mahdoton factory-resetoida siten, että tuotteen voisi esitellä jonkun toisen Wifi-modeemin alle. Shelly esitti minulle menetelmän, jolla asian voi tehdä. Tämä on vaan pirullisen mutkikas vaikka onnistuikin lopulta. Shelly lupasi kehittää tuotettaan siten, että uudelleen-esittely toisen Wifi:n alaisuuteen onnistuisi yhtä helposti kuin kaupasta ostetun neitsyt-tuotteen (Shelly Plus 1 PM) esittely käy.
P.P.S Shelly cloudissa on näkyvissä vipu, jolla kerrotaan mikä scripti on käytössä. En ole varma onko Jussin scriptissä tällä vivulla vaikutusta? Ainakin pitäisi olla, jos laitteeseen on talletettu useampia scriptejä. Toisaalta Jussin scriptissä optimoinnin tuottamat ohjausjaksot eivät näy shelly aplikaation scheduleissa. Näin laitteen hengissä-oloa voi etänä tarkastella vain activity logista.
from shelly-porssisahko.
Skripti toimii aina vain nykyisen vuorokauden sisällä. Tämä ei tule näillä näkymin muuttumaan.
Yksi tapa miten tätä nyt työn alla olevaa ominaisuutta voisi kehittää, on että aikavälien sijaan voisi ruksia tunnit, joista sitten valitaan halvimmat.
Tällöin voisi valita esim tunnit 22, 23 ja 00-06, eli valitaan x halvinta tuntia vuorokauden ensimmäisten ja kahden viimeisen tuntien joukosta. Mutta silloinkin tietysti toimitaan saman vuorokauden sisällä. Jotenkin alla olevaan tapaan:
Toimintaa ei tosiaan näe applikaatiosta tällä hetkellä. Ainoastaan tietysti että käykö skripti ja mikä on lähdön tila.
from shelly-porssisahko.
from shelly-porssisahko.
Jep. Eiköhän tuo aikaväli ole hyvä vaihtoehto.
from shelly-porssisahko.
Moro @Sammeli100 ja @linnajuk
Nyt sain vihdoin aikaseksi uuden version testaukseen. Olisitteko kiinnostuneita kokeilemaan? Vaatii pidempää testiä ennen kuin voi julkisesti julkaista.
Eli nyt voi valita lisäksi joko yhden tai kaksi omaa jaksoa:
Tässä toteutus tämän päivän tunneilla tuolla kahden jakson asetuksella. Eli valitaan klo 00-06 väliltä kolme halvinta tuntia ja kello 18-21 väliltä yksi halvin tunti:
Koodi tähän löytyy alta (eli copy-pastee tuon vanhan tilalle Shellyn hallinnassa):
https://raw.githubusercontent.com/jisotalo/shelly-porssisahko/dev-custom-periods/dist/shelly-porssisahko.js
Kiitos jo etukäteen!
from shelly-porssisahko.
from shelly-porssisahko.
Tuo on vähän kyllä kieltämättä epäselvä.
Ajanjakso siis tarkoittaa kellonaikoja, eli esim. 18 - 23 tarkoittaa, että valitaan väliltä 18.00-23.00 halvimmat tunnit. Eli 23 .00 alkava tunti ei ole mukana. Vuorokausi siis on tuossa mielessä 00-24.
Jakso 22-05 on lähtökohtaisesti virheellinen, koska skripti edelleen toimii vuorokauden sisällä. Itsellä näköjään skripti ei edes toimi sillä. Täytyy lisätä esto syöttää muuta kuin 00-24 arvoja.
from shelly-porssisahko.
Nyt on uusi versio. Laitoin tallentaessa tsekit, että aikavälit ovat loogiset. Lisäsin myös kokeeksi :00 asetusten perään, jos selventäisi?
Skripti löytyy samasta osoitteesta (versio 2.12.1):
https://raw.githubusercontent.com/jisotalo/shelly-porssisahko/dev-custom-periods/dist/shelly-porssisahko.js
from shelly-porssisahko.
from shelly-porssisahko.
from shelly-porssisahko.
from shelly-porssisahko.
Eipä tullut kuvaa perille, ne täytyy varmaan laittaa suoraan githubiin eikä sähköpostiin.
Tosiaan, liikaa en ole ruvennut validointia rakentamaan, jotta saadaan säästettyä muistia. Toki sen verran pitää olla, että syötteillä ei pysty rikkomaan koko skriptiä.
from shelly-porssisahko.
Toistaiseksi näyttää toimivan ihan mainiosti
from shelly-porssisahko.
from shelly-porssisahko.
Jep näillä näkymin huomenna voisin julkaista
from shelly-porssisahko.
Dodii, uusi versio on ulkona. Päivitäppä @linnajuk tuohon 2.12.2-versioon, ettei jää kehitysversiota ajoon.
Suljen tämän issuen, mutta jos on ongelmia, laittakaa ihmeessä viestiä.
from shelly-porssisahko.
Related Issues (20)
- Lämmitystuntien lukumäärä paikkakunnan ulkolämpötilan mukaan HOT 4
- Ongelma kellojen siirron kanssa / automaattinen aikavyöhykkeen haku HOT 2
- Fetching EE prices HOT 2
- The Elering query will not work in December HOT 3
- Maakoodi HOT 3
- Hyvää settiä. Home assistant HOT 1
- Lämpötilaohjaus mukaan? HOT 6
- Laitteen nimen näyttäminen tila-sivulla HOT 5
- Ohjauksen muuttaminen status-sivulta
- Kiinteä IP ja osoite konsolissa HOT 1
- Useampikanavainen rele - Pro4PM HOT 18
- Web sivu ei aukea HOT 8
- Ohjaus päälle vain osan aikaa tunnista HOT 1
- Seuraavan vuorokauden tiedot etukäteen HOT 1
- Pakko-ohjauksen mahdollistaminen myös pois-asentoon HOT 1
- Kehitysajatuksia HOT 10
- Kehitysehdotuksia HOT 1
- Kehitysehdotus HOT 5
- Ongelma, jos Nord Poolin hinnat virheelliset kello 15
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shelly-porssisahko.