Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ohjaus luulee välillä hinnan olevan 0 c/kWh #33

Closed
jisotalo opened this issue Nov 20, 2024 · 14 comments
Closed

Ohjaus luulee välillä hinnan olevan 0 c/kWh #33

jisotalo opened this issue Nov 20, 2024 · 14 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@jisotalo
Copy link
Owner

Ilmeisesti 3. versiossa on bugi, jonka johdosta ohjaus ei aina toimi oikein. En ole itse saanut tätä aikaiseksi, mutta tästä ongelmasta on tullut kaksi raporttia.

Ilmeisesti hintana näkyy 0 c/kWh, vaikka päivän hintatiedot on oikein. Ohjaus toimii 0 c/kWh mukaan. Eli jostain syystä aktiivinen hinta ei päivity oikein.

Jos jollain on tästä lisätietoja niin kiinnostaisi saada! Erityisesti data alla olevassa osoitteessa kiinnostaisi:
http://ip-osoite/script/1?r=s&i=0

Koitan selvitellä syytä.

image

@jisotalo jisotalo added bug Something isn't working help wanted Extra attention is needed labels Nov 20, 2024
@jisotalo
Copy link
Owner Author

jisotalo commented Nov 20, 2024

Vianhaku etenee.

Selvisi debuggauksen myötä, että Shelly kertoo kellonajaksi bootin jälkeen edellispäivän jonkun kellonajan.

Mielestäni tämä on ennen ollut niin, että kello on vuodessa 1970 ennen kuin aika on saatu NTP:ltä. Koodikin luottaa siihen, että kello on tiedossa jos vuosi on > 2000.

Nyt pitää vaan miettiä miten tästä selviää kunnialla. Nyt tosiaan haetaan edellispäivän hinnat ja sen myötä skripti sekoaa.

@tkkoivula
Copy link

Meillä oli eilen vartin sähkökatkos. Ihmettelin kun scripti sanoo olleensa käynnissä 5 päivää.

@tkkoivula
Copy link

tkkoivula commented Nov 21, 2024

"Käynnistetty 20.11.2024 18:57:35 (käynnissä 0.6 päivää) - versio 3.0.0"
Noin sanoo heti buuttauksen jälkeen. Toiminnassa en ole huomannut vikaa. Seuraillaan tilannetta.
Ja Shellyn kellohan on nyt siis noin 08:19.

@jisotalo
Copy link
Owner Author

jisotalo commented Nov 21, 2024

Joo kiitos. Tämä on kyllä erikoinen juttu. Laitoin Shellyn foorumille aiheesta myös
https://community.shelly.cloud/topic/3444-time-from-the-past-and-an-ntp-issue-when-starting-up/

Näyttää siltä tosiaan että Shelly on käynnistyksen jälkeen "jossain ajassa vuodelta 2024", kunnes saa ajan netistä. Jos ei saa aikaa, skripti ei tiedä mistään että aika on pielessä.

Täytyy vielä testata vanhemmalla firmiksellä, mutta oon kyllä 90% varma että aika oli aina vuodessa 1970 kunnes aika saatiin netistä. Eli oli helppo varmistaa onko kello tiedossa.

Tein kyllä jo parannuksia, kuten että kellon muuttuessa haetaan hinnat uudelleen ja ajetaan logiikka. Mutta ei ratkaise sitä ongelmaa että tulee sähkökatko, netti katkeaa eikä palaudu, ja Shelly luulee kellon olevan jotain ihan muuta..

@tkkoivula
Copy link

Sikäli ikävä homma näiden shellyjen kanssa ettei niille voi syöttää apujännitettä. Kaikki muut vehkeet kyllä pysyy päällä tuommoisen pienen katkon ajan. :)

@vettenj
Copy link

vettenj commented Nov 21, 2024

Eilen illalla oli kaksi sähkökatkoa, eka kesti minuutin ja toinen 6 minuuttia ja lisäksi siinä välissä valot räpsyivät useamman kerran. Silti skripti näyttää nyt näin, ikäänkuin mitään katkoksia ei olisi ollut, kestääkö Shelly Pro3 omissa virroissaan (elko?) hengissä 6 minuuttia?
"Käynnistetty 12.11.2024 00:24:03 (käynnissä 9.5 päivää) - versio 3.0.0"
Hinnat ovat näkyneet oikein aina (<>0), kun olen niitä katsonut.

@KSkalliswatti
Copy link

Joo sopivaan hetkeen sopivan lyhyt sähkökatko saa 0centin nyt-hinnan.
Käynnistetty pvm pysyy samana

@jisotalo
Copy link
Owner Author

Eilen illalla oli kaksi sähkökatkoa, eka kesti minuutin ja toinen 6 minuuttia ja lisäksi siinä välissä valot räpsyivät useamman kerran. Silti skripti näyttää nyt näin, ikäänkuin mitään katkoksia ei olisi ollut, kestääkö Shelly Pro3 omissa virroissaan (elko?) hengissä 6 minuuttia? "Käynnistetty 12.11.2024 00:24:03 (käynnissä 9.5 päivää) - versio 3.0.0" Hinnat ovat näkyneet oikein aina (<>0), kun olen niitä katsonut.

En kyllä usko että pysyy. Tuo lienee sama ongelma eli Shelly kaivaa jostain käynnistyessää vanhan aikatiedon.

Joo sopivaan hetkeen sopivan lyhyt sähkökatko saa 0centin nyt-hinnan. Käynnistetty pvm pysyy samana

Jeps. Täytyy pistää päivitystä sisään, mutta vielä on ratkaisemattomia asioita. Näillä kyllä saisi korjattua jo osaksi.

@vettenj
Copy link

vettenj commented Nov 21, 2024

Tuo siis hakee ajan NTP-palvelusta. Koodasin tällaiseen https://www.partco.fi/fi/arduino/arduino-classic/26323-arduino-uno-r4w.html pörssisähkönäytön, joka näyttää kuluvan ja 11 seuraavan tunnin hinnat palkkeina skaalaten ne niin, että kallein on 8 lediä korkea palkki. Välillä tuossa rullaa tietoa ihan selväkielisenä kuten esim. milloin on kallein ja halvin tunti yms. NTP-ajan haussa tuli sellaisia ongelmia, että tämän tästä saattoi hakea ajaksi 1.1.2066. Ei selvinnyt debuggaamallakaan mistä johtui, joten blokkasin sitten koodissa tuon päivämäärän pois ja hakee silloin ajan uudelleen, jolloin alkoi toimia luotettavasti. Tässä Shellyn tapauksessa vastaava ei taida oikein toimia, jos vuosi on jo oikein.

@jisotalo
Copy link
Owner Author

Nyt löytyi varmaan hommaan ratkaisu!

Shellyn sys-komponentin alla on unixtime, joka on null jos aika ei ole synkassa NTP-serverin kanssa.
image

Tämän avulla tuntuu saavan luotettavan tiedon, onko kellonaika OK.

Tässä testiversio, jos joku haluaa kokeilla. Julkaisen kunhan saa vähän testattua.
https://gist.githubusercontent.com/jisotalo/a03628d85b317157fda35161338ba326/raw/f9947240da493e85196c450ebe88a295c8f674f3/shelly-porssisahko.js

[3.1.0] - XX.11.2024

  • Lisätty tarkistus kellonajan muuttumiselle
    • Jos aika muuttuu yllättäen yli 5 min, haetaan hinnat ja suoritetaan logiikat uusiksi
    • Esim. pitkään ilman nettiyhteyttä ja kello alkaa näyttää väärin
  • Bugikorjaus: Shellyn käynnistyessä päivämäärä ja aika saattoivat olla hetken aikaa menneisyydestä
    • Aiemmissa firmiksissä vuosi oli aina 1970 jos aika ei ollut tiedossa, ei enää
    • Muutettu käyttämään toista tapaa varmistamaan, että onko kellonaika tiedossa
    • Liittyy issue #33
  • Bugikorjaus: Jos nykyistä tuntia ei löydy hintatiedoista, hylätään hinnat ja haetaan ne uusiksi
  • Bugikorjaus: Jos maksimihinta oli pienempi kuin aina päällä -raja, näytettiin ohjauksia väärin tilasivulla.

@tkkoivula
Copy link

"Käynnistetty 22.11.2024 10:13:47 (käynnissä 0.0 päivää) - versio 3.1.0-beta"
No niin..

@vettenj
Copy link

vettenj commented Nov 22, 2024

Täällä myös ollut eilisillasta alkaen uusin versio käynnissä ja seuraavaa sähkökatkoa odotellessa.
Käynnistetty 21.11.2024 22:24:20 (käynnissä 0.5 päivää) - versio 3.1.0-beta

Jos aika muuttuu yllättäen yli 5 min, niin tulostaako esim. konsoliin tietoa siitä että siksi haettu hinnat uusiksi?

Tällaisia näkyy nimittäin tulleen silloin tällöin konsoliin, liittyvätkö tuohon lisättyyn ajan tarkistamiseen?
shos_time.c:54 Setting time from SNTP (1732263741.868 delta -0.064) 10:22:21
shelly_sys.cpp:217 Time set to 142319.344085 from 1 10:22:21

@jisotalo
Copy link
Owner Author

jisotalo commented Nov 22, 2024

Täällä myös ollut eilisillasta alkaen uusin versio käynnissä ja seuraavaa sähkökatkoa odotellessa. Käynnistetty 21.11.2024 22:24:20 (käynnissä 0.5 päivää) - versio 3.1.0-beta

Jos aika muuttuu yllättäen yli 5 min, niin tulostaako esim. konsoliin tietoa siitä että siksi haettu hinnat uusiksi?

Tällaisia näkyy nimittäin tulleen silloin tällöin konsoliin, liittyvätkö tuohon lisättyyn ajan tarkistamiseen? shos_time.c:54 Setting time from SNTP (1732263741.868 delta -0.064) 10:22:21 shelly_sys.cpp:217 Time set to 142319.344085 from 1 10:22:21

Hyvä että tuntuu toimivan. Täällä myös.

Jos aika muuttuu noin paljon, konsoliin tulee shelly-porssisahko: Time changed 5 min+ -> refresh.

Nuo mainitsemasi lokirivit on shellyn sisäisiä juttuja.

jisotalo added a commit that referenced this issue Nov 22, 2024
- Lisätty tarkistus kellonajan muuttumiselle
  - Jos aika muuttuu yllättäen yli 5 min, haetaan hinnat ja suoritetaan logiikat uusiksi
  - Esim. pitkään ilman nettiyhteyttä ja kello alkaa näyttää väärin
- Bugikorjaus: Shellyn käynnistyessä päivämäärä ja aika saattoivat olla hetken aikaa menneisyydestä
  - Aiemmissa firmiksissä vuosi oli aina 1970 jos aika ei ollut tiedossa, ei enää
  - Muutettu käyttämään toista tapaa varmistamaan, että onko kellonaika tiedossa
  - Liittyy [issue #33](#33)
- Bugikorjaus: Jos nykyistä tuntia ei löydy hintatiedoista, hylätään hinnat ja haetaan ne uusiksi
  - Liittyy [issue #33](#33)
- Bugikorjaus: Jos maksimihinta oli pienempi kuin aina päällä -raja, näytettiin ohjauksia väärin tilasivulla.
  - Ohjaus kuitenkin toimi kuten suunniteltu
  - [Katso issue #31](#31)

Samalla lisätty ohjeet `shelly-porssisahko-ht-sensor-temp.js` -skriptiin, miten käyttää sitä uudempien H&T-mallien kanssa.
@jisotalo
Copy link
Owner Author

Julkaisin nyt uuden kun tuntuu toimivan. Jos tulee jotain niin ilmoitelkaa! Kiitos avusta.

jisotalo added a commit to jisotalo/shelly-porssisahko-en that referenced this issue Nov 22, 2024
- Added check for Shelly time change
  - If time changes more than 5 minutes, prices and logic are updated
- Bug fix: After Shelly boot, the script had invalid time from the past for a while
  - This caused issues with prices etc.
  - Changed to use another workaround to check if clock is valid
  - See [issue #33 (Finnish)](jisotalo/shelly-porssisahko#33)
- Bugfix: If active hour isn't found from price data, getting the prices again
  - See [issue #33 (Finnish)](jisotalo/shelly-porssisahko#33)
- Bug fix: If max. price limit was smaller than always on limit, the status was displayed wrong. Control worked correctly.
  - [See issue #31 (Finnish)](jisotalo/shelly-porssisahko#31)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants