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

Arisoft

Hyperaktiivi
Näitä pitäisi simuloida ennenkuin kukaan aloittaa ihan hirmuisen monimutkaista häkkyrää koodaamaan.

Itse olen jo koodannut häkkyrän joka optimoi viimeisen päälle varttitunnin jaksoissa, mutta se on pelkästään käyttövesivaraajan lämmitykseen, jossa on kovin vähän liikkuvia osia. Vaikeudet alkavat optimoinnissä kun tulee opportunistisia tavoitteita. Esim. kannattaako jättää aamulla lämmittämättä vaikka sähkön hinta nousee päivällä, jos satuu tulemaan silloin lähes ilmaista aurinkosähköä. Tässä kohtaa vaikeus tulee siitä että mallin pitäisi laskea todennäköisyydet kullekin strategialle ja löytää niistä hyvä kompromissi. Olenkin jättänyt tuon opportunistisen puolen kokonaan manuaalisesti hoidettavaksi. Mutta näen kyllä että sille olisi tarvetta.
 

Mikki

Hyperaktiivi
Itse olen jo koodannut häkkyrän joka optimoi viimeisen päälle varttitunnin jaksoissa, mutta se on pelkästään käyttövesivaraajan lämmitykseen, jossa on kovin vähän liikkuvia osia. Vaikeudet alkavat optimoinnissä kun tulee opportunistisia tavoitteita. Esim. kannattaako jättää aamulla lämmittämättä vaikka sähkön hinta nousee päivällä, jos satuu tulemaan silloin lähes ilmaista aurinkosähköä. Tässä kohtaa vaikeus tulee siitä että mallin pitäisi laskea todennäköisyydet kullekin strategialle ja löytää niistä hyvä kompromissi. Olenkin jättänyt tuon opportunistisen puolen kokonaan manuaalisesti hoidettavaksi. Mutta näen kyllä että sille olisi tarvetta.

Ja tähän kun ottaa vielä mukaan useamman päivän yli ulottuvan ennustamisen, niin aletaan olemaan aikamoisen monimuuttuja/todennäköisyys ennustusviidakon keskellä
 

Arisoft

Hyperaktiivi
Ja tähän kun ottaa vielä mukaan useamman päivän yli ulottuvan ennustamisen, niin aletaan olemaan aikamoisen monimuuttuja/todennäköisyys ennustusviidakon keskellä
Kerranhan se vain tarvitsee tehdä, sitten voi nauttia työn tuloksista. Nykyään olisi muodikasta kutsua sitä tekoälyksi.
 

Hegsa

Aktiivinen jäsen
Kerranhan se vain tarvitsee tehdä, sitten voi nauttia työn tuloksista. Nykyään olisi muodikasta kutsua sitä tekoälyksi.
Onhan noita, syö sekä historaa että ennustetta ;) UI:n kanssa on vielä vähän hommaa...

1732197563240.png
 

Mikki

Hyperaktiivi
No nyt on @Hegsa kyllä tuupannut palstan ennätyksen lämmityksen tilannekuvaa. Kymmenen pistettä ja papukaijamerkki!

Tuossa on hyvä lähtökohta tekemään sitten ennustetta kaiken saatavissa olevan tiedon perusteella. että miten tarve tulee tunneittain (tai mielellään varteittain) kehittymään ja sitten säätämään siitä ohjausparametreja lämmityslaitteille.

Huomauttaisin kuitenkin, että homma ei ole kertaluonteinen, kun ne ennustemallit eivät ole koskaan täydellisiä vaan niitä voi kehittää aivan varmasti loputtomasti. :)
 
Viimeksi muokattu:

Hegsa

Aktiivinen jäsen
No nyt on @Hegsa kyllä tuupannut palstan ennätyksen lämmityksen tilannekuvaa. Kymmenen pistettä ja papukaijamerkki!
Pistän jossain vaiheessa tuon linjoille (en välttämättä kaikkea ilmaiseksi), mutta yleisesti tuo syö sisäänsä energiatodistuksen, sijaintipaikkakunnan ja antaa valita IV:n (painovoimainen, LTO, PILP), valitun määrän lämmitysjärjestelmiä (PILP, ILP, maalämpö, VILP yms jne, kaikki lämpopumput high ja low perfomance käyrillä valittavissa) ja sylkee tilannekuvan + ennusteen halutulta aikajaksolta.
Huomauttaisin kuitenkin, että homma ei ole kertaluonteinen, kun ne ennustemallit eivät ole koskaan täydellisiä vaan niitä voi kehittää aivan varmasti loputtomasti. :)
Jep, akut ja paneelit puuttuu vielä. Solveri mulla on valmiiksi toisesta projektista, mutta pitäisi integroida vielä palaset kohdilleen.
 

Cold

Jäsen
Jos päivän kaksi viimeistä tuntia (22:00-24:00) ovat sen päivän edullisemmasta päästä ja lämmitys menee siksi niillä päälle, mutta kuitenkin heti seuraavan vuorokauden puolelta löytyisi vielä halvemmat tunnit. Voisiko nuo kaksi jotenkin 'siirtää' seuraavalle vuorokaudelle muiden tuntien jatkeeksi? Taitaa mennä aika hankalaksi? Tänäänkin on sellainen tilanne.
1732372181823.png
 

Mikki

Hyperaktiivi
Joo tämmöisiä päiviä siloin tällöin tulee, että hinta laskee liukumäkeä pikän ajan alaspäin. Ongelmaksi ehkä tulee että kauanko sitten odotettaisiin?

Esim. ensi yönä 00:00 ei ole myöskään halvin... 03:00 tulee vielä halvempia tunteja. Pitäisikö kuitenkin odottaa sinne. Tai entä jos 06:00 olisi vieläkin halvempaa.... jne....

Ihan kirkasta ajatusta en ole siis saanut, että miten tuon fiksuiten tekisi ettei tule sitten jossain rajatapauksissa mahdottomia välejä, kun odotellaan aina vain parempaa hintaa.
 

Jule

Vakionaama
Mutuna sanoisin että jos sen "vuorokauden" josta halvimmat tunnit haetaan muuttaisi 00-24 välisestä ajasta 15-15 väliseen aikaan, nuo liukumäkihinnat olisivat ainakin harvinaisempia.

Tuollainen aamusta lähtevä hinnan lasku, joka jatkuu vielä illallakin on lähinnä jonkun tuuliolosuhteen luoma suht poikkeuksellinen tilanne, mutta tuo illalla laskeva ja 00 jatkuva hinnan lasku on aika yleistä, ja pikemminkin sääntö perjantaisin.

Se ongelma tuossa tietysti on että jokin härdelli huutokaupassa, niin klo 15 ei vielä ole seuraavan päivän hintoja.
 

Cold

Jäsen
Mutuna sanoisin että jos sen "vuorokauden" josta halvimmat tunnit haetaan muuttaisi 00-24 välisestä ajasta 15-15 väliseen aikaan, nuo liukumäkihinnat olisivat ainakin harvinaisempia.

Tuollainen aamusta lähtevä hinnan lasku, joka jatkuu vielä illallakin on lähinnä jonkun tuuliolosuhteen luoma suht poikkeuksellinen tilanne, mutta tuo illalla laskeva ja 00 jatkuva hinnan lasku on aika yleistä, ja pikemminkin sääntö perjantaisin.

Se ongelma tuossa tietysti on että jokin härdelli huutokaupassa, niin klo 15 ei vielä ole seuraavan päivän hintoja.
Tämä oman seurannan perusteella voisi olla toimiva, menisikö apin päässä vaikeaksi jos scriptin yksi parametri olisi koska vuorokausi alkaa, tai valinta alkaako se klo 24 vai 15.
 

shellypm

Jäsen
itse lämmitän kahdella ohjauksella.
1. perus alalämpö 12kw nyt raja 1c
2. backup, termari rinnan ylös, 6kw, raja masterilla 1c, slave 4c jos varaaja viileä

käyttöveden turvaa tulistusvaraaja
 

Lappanen

Hyperaktiivi
Mulla back-uppina yksi halvin tunti klo 12-17 joukosta käyttöveden lämmitykseen, tähän asti toiminut moitteetta mutta nyt kiinnitti huomiota että kv oli alle 50C kun yleensä se latautuu pahimmassakin skenaariossa reilusti yli 50C annetussa ajassa.

Jostain syystä oli Shelly käsketty avaamaan kärki kesken kaiken klo 14:34 :hmm:

Screenshot_2024-12-13-16-38-40-28_0ac2addf979993c0e494aa40c40dbf6e.jpg

Screenshot_2024-12-13-16-49-48-14_0ac2addf979993c0e494aa40c40dbf6e.jpg
 

Mikki

Hyperaktiivi
Mulla back-uppina yksi halvin tunti klo 12-17 joukosta käyttöveden lämmitykseen, tähän asti toiminut moitteetta mutta nyt kiinnitti huomiota että kv oli alle 50C kun yleensä se latautuu pahimmassakin skenaariossa reilusti yli 50C annetussa ajassa.

Jostain syystä oli Shelly käsketty avaamaan kärki kesken kaiken klo 14:34 :hmm:

Hmm... erikoista. Skripti sinänsä ei tee mitään muuten kuin tasatunneinen. Eihän ole ollut sähkökatkoa?
 

Lappanen

Hyperaktiivi
Hmm... erikoista. Skripti sinänsä ei tee mitään muuten kuin tasatunneinen. Eihän ole ollut sähkökatkoa?
Ei ainakaan sellaista mikä olisi modeemia saanut pois päältä kun sen tietäisin kyllä, ketään ei ollut kotona tuohon aikaan niin ei tietoa onko valot räpsyneet. Saakohan tuosta Shellystä mitään irti muuta kuin tuon activity login josta voisi koittaa selvitellä?
 

hanks

Aktiivinen jäsen
@Mikki, oliko niin että boosterHours ja ne muut /JustNowRanksAndPrice -rajapinnan parametrit toimivat myös /JustNowRank -apilla? Swaggerissä ei tästä ole mainintaa, mutta ainakin boosterHours näyttää toimivan. Tarvitsin sitä nyt boostaamaan iltapäivällä lämmintä käyttövettä.

Mietin myös että onko mahdollista tehdä jonkunlaista ehdollista boostausta, esim. halvin tunti välillä x-y. Tosin tilastollisesti halvimmat tunnin iltapäivällä ovat 14-16 välillä, joten 15 lienee ihan hyvä vakio-boostaustunti.
 

Mikki

Hyperaktiivi
@Mikki, oliko niin että boosterHours ja ne muut /JustNowRanksAndPrice -rajapinnan parametrit toimivat myös /JustNowRank -apilla? Swaggerissä ei tästä ole mainintaa, mutta ainakin boosterHours näyttää toimivan. Tarvitsin sitä nyt boostaamaan iltapäivällä lämmintä käyttövettä.

Mietin myös että onko mahdollista tehdä jonkunlaista ehdollista boostausta, esim. halvin tunti välillä x-y. Tosin tilastollisesti halvimmat tunnin iltapäivällä ovat 14-16 välillä, joten 15 lienee ihan hyvä vakio-boostaustunti.

Ehdollisen boostauksen iltapäivään saat tällä rajapinnalla: /WaterBoiler/{nightHours}/{afternoonHours}
Eli vaikkapa https://api.spot-hinta.fi/WaterBoiler/0/1. Näin tuo palauttaa "ok" halvimman tunnin aikana iltapäivällä klo 12-19 välillä.

Tuossa /JustNowRank rajapinnassa ei toimi kyllä kaikki samat parametrit kuin laajemmassa rajapinnassa. Tuo priorityHours parametri toimii kyllä koska se vaikuttaa rank laskentaan.
 

JaniPP

Jäsen
Tämä integraatio on ollut hyvä ja sitä hyödyntänyt monessa.

Ketju kun on pitkä, joten pahoittelut jos jossain on jo seuraavaan kysymykseen vastattu - Onko tuota "rank-automation.yaml":ia kukaan tehnyt toisin päin? Eli etsisi rank:lla kalliimmat tunnit sekä poimisi kaikki tunnit, jotka on yli tietyn hinnan?

Koittanut yhtä ongelmatilannetta omassa automaatiossa ratkoa näillä nykyisillä vaihtoehdoilla, mutta koen etten saa riittävän hyviä tuloksia aikaiseksi näillä keinoin. Siksi moiselle olisi tarvetta ja oma osaaminen ei tosiaankaan riitä koodaamaan noita .yaml:ja miten haluaa :)
 

RauskiH

Vakionaama
Tuo "listojen" käyttö on vähän hassun oloista, mutta se antaa sellaisia mahdollisuuksia mitä pelkällä yhdellä arvolla ei saa.

Esimerkiksi jos haluaa rajoittaa maksimikuormitusta, niin voi rajata että lämminvesivaraaja menee halvimmalla tunnilla päälle ja lämmitykset vasta 2. halvimmasta eteenpäin. Itse käytän tuota vaihtoventiili-lämpöpumpun kanssa, kun yhtäaikaa ei voi lämmittää käyttövettä ja taloa.

Lämpötilariippuvuuden saa SmartHeating skriptillä.
Minullakin on pakkasilla 25A nallit vähän turhan lujilla kun auto on laturissa ja osaan lattiosta menee tehoa ja lkv 3kw napsahtaa halvimmille tunneille päälle. Millä parametreilla SmartHeating skriptissää saa kiellettyä halvimman tai kaksi halvinta tuntia?
 

Mikki

Hyperaktiivi
Minullakin on pakkasilla 25A nallit vähän turhan lujilla kun auto on laturissa ja osaan lattiosta menee tehoa ja lkv 3kw napsahtaa halvimmille tunneille päälle. Millä parametreilla SmartHeating skriptissää saa kiellettyä halvimman tai kaksi halvinta tuntia?
Valitettavasti siinä skriptissä ei ole tuota optiota. Olisiko vaihtoehtona ohjata varaaja päälle vähän kalliimmilla tunneilla? Ero ei liene suuri että estääkö lämmitystä halvimmilla tunneilla vai estääkö varaajaa.
 

RauskiH

Vakionaama
Valitettavasti siinä skriptissä ei ole tuota optiota. Olisiko vaihtoehtona ohjata varaaja päälle vähän kalliimmilla tunneilla? Ero ei liene suuri että estääkö lämmitystä halvimmilla tunneilla vai estääkö varaajaa.
En saa tuosta varaajan ohjauksesta oikein toimivaa vaihtoehtoa koska meillä iso osa lämmityksestä tulee ilpin kautta. Lisäksi parissa tyhjässä makkarissa tarvitaan lattialämpöjä vain silloin kuin niille on käyttöä eli etäpäivä tai vieraita. Monessa muussakin huoneessa lattilämmöt ovat enemmänkin mukavuus/lisälämpöjä ja tulevat käyttöön portaittain pakkasen kiristyessä. Paras vaihtoehto olisi jos viimeimpänä mukaan tulevilta lämmityksen ohjauksilta saisi kiellettyä pari halvinta tuntia niin tällöin saisi hyödynnettyä halvat tunnit tehokkaasti vuoden läpi. Lisäksi on mahdoton arvioida että kuinka monta tuntia lkv tulisi kieltää kun ei voi etukäteen tietää kuinka kauan mikin lattialämmitys on päällä
 

RauskiH

Vakionaama
Valitettavasti siinä skriptissä ei ole tuota optiota. Olisiko vaihtoehtona ohjata varaaja päälle vähän kalliimmilla tunneilla? Ero ei liene suuri että estääkö lämmitystä halvimmilla tunneilla vai estääkö varaajaa.
Olisiko aivan mahdoton pyyntö saada smartheatingiin vastaava kielto halvimmille tunneille. Olisi ainakin minun tapauksessa erittäin simppeli tapa tehdä "kuormanohjaus" ja luulisin siitä olevan hyötyä muillekin vastaavassa tilanteessa painiville
 

Husky

Hyperaktiivi
Viimein sai Shellyn ostettua (Plus gen3).

Spot-hinta.fi:stä ymmärsin, että IP-osoite vain selaimeen niin pääsisi käyttöliittymään sisään, mutta selain sanoo ettei saa yhteyttä, mikähän voisi olla vikana?

Wifiin sain mielestäni tuon kytkettyä (bluetoothin avulla) eli pitäisi olla netissä. Mobiiliapissa asetuksissa device informationissa kohdassa device network lukee wifini nimi. Laitoin pelkän IP-tunnuksen selaimen osoitekenttään ilman mitää https:ää (joskus harvoin kun olen IP:tä syöttänyt niin muistaakseni noin olen tehnyt)
 

Mikki

Hyperaktiivi
Kyllä se IP osoitteella pitäisi aueta. Sieltä mobiilipapissa on näkyvissä se IP-osoite minkä laite on saanut. Ja toki sinun pitää olla samassa verkossa kun sitä paikallista UI:ta avaat.
 

Arisoft

Hyperaktiivi
Spot-hinta.fi:stä ymmärsin, että IP-osoite vain selaimeen niin pääsisi käyttöliittymään sisään, mutta selain sanoo ettei saa yhteyttä, mikähän voisi olla vikana?

Liian turvallinen Wi-Fi voisi olla vikana. Toinen mahdollisuus on sitten se, että sinulla on väärä IP osoite.

Olipa vika mikä tahansa niin ilmeisesti pääset sinne tekemään säätöjä netin kautta osoitteesta https://control.shelly.cloud
 

RauskiH

Vakionaama
Liian turvallinen Wi-Fi voisi olla vikana. Toinen mahdollisuus on sitten se, että sinulla on väärä IP osoite.

Olipa vika mikä tahansa niin ilmeisesti pääset sinne tekemään säätöjä netin kautta osoitteesta https://control.shelly.cloud
Ja tuossa kun menee shellyn asetuksiin niin näkyy ip jota klikkaamalla pääsee suoraan laitteeseen kiinni
 

Liitteet

  • Screenshot_20250225_162628.jpg
    Screenshot_20250225_162628.jpg
    97,3 KB · Katsottu: 49

Husky

Hyperaktiivi
Kiitos vastauksista.
Kyllä se IP osoitteella pitäisi aueta. Sieltä mobiilipapissa on näkyvissä se IP-osoite minkä laite on saanut. Ja toki sinun pitää olla samassa verkossa kun sitä paikallista UI:ta avaat.
Juu mobiiliapista katsoin tuon IP:n.
Luulin jo että tuo olisi ollut syy tuo samassa verkossa olo, kun tietsikka olikin 5GHz wifissä ja Shelly 2.4GHz, mutta vaikka vaihdoin tietsikan tuohon samaan 2.4:ään, niin ei päästä siltikään sisään tuolla IP:llä. (mutta hyvä tietää että pitää olla samassa wifiverkossa, että voi ohjelmoida, kun olisin luullut että netin yli onnistuu ilman moista rajoitetta)
Liian turvallinen Wi-Fi voisi olla vikana. Toinen mahdollisuus on sitten se, että sinulla on väärä IP osoite.

Olipa vika mikä tahansa niin ilmeisesti pääset sinne tekemään säätöjä netin kautta osoitteesta https://control.shelly.cloud
Ei, kyllä IP on oikein. ILP on tuossa samassa 2.4GHz verkossa eikä ollut mitään palomuuri tms ongelmia yhdistymisessä.
Tuosta linkistä pääsen salasanalla "sisään" Shellyyn ja näyttää kulutukset yms, ja sama tuolla kun menen device informationiin ja siellä IP-osoite on linkkinä, niin kun klikkaan siitä niin tiimalasin jälkeen sanoo että sivustoon ei saada yhteyttä.
Ja tuossa kun menee shellyn asetuksiin niin näkyy ip jota klikkaamalla pääsee suoraan laitteeseen kiinni
Kokeilin klikata kännykkäapistakin tuota IP-linkkiä, niin aukeaa vain valkoinen ruutu.

Epäilemättä on joku ihan perusjuttu, mutten nyt heti keksi mikä.
 

Arisoft

Hyperaktiivi
mutta hyvä tietää että pitää olla samassa wifiverkossa

Ne Wi-FI verkot on kyllä samaa verkkoa. Verkon käsite on tässä kontekstissa sama kuin reititin. Eli samassa reitittimessä olevat voi keskustella keskenään, jos se on sallittua. Ja Mesh lasketaan myös samaksi reittimeksi.
 

Husky

Hyperaktiivi
Ei aina. On sellaisiakin WiFi verkkoja joissa se ei ole sallittua. "Client separation"
Tuskin tästä johtuu: wifin asetuksissa näyttää olevan "yksityinen" ja suosittaa "julkista".

Muuta en näe tuolla olevan minkä luulisin voivan vaikuttaa.

Lisäasetuksissa: WPA2-personal, AES, verkon käytettävyys: kaikki käyttäjät. FIPS ei ole käytössä.
Käytön mukaan laskutettava yhteys ei ole käytössä.
Windows palomuuri on käytössä.
 

Arisoft

Hyperaktiivi
Epäilemättä on joku ihan perusjuttu, mutten nyt heti keksi mikä.

Ei pitäisi olla kovin vaikea selvittää, mutta vaatii hieman tietotaitoa. Ensin pitää kuitenkin tarkastaa faktat, eli onko oikeasti edellytyksiä saada yhteys. Oman koneen IP osoite selviää konennolla ipconfig ja varmistaa että laitteet oikeasti on samassa verkossa. Sitten voi kokeilla ping komentoa. Se saattaa kertoa jotain. Tämän jälkeen voi vielä kysellä arp -a komennolla mitä laitteita verkossa on käytettävissä.
 

Husky

Hyperaktiivi
Jos olet varma että laitteet saavat keskustella keskenään niin seuraavaksi arvaan että et ole samassa verkossa itse.

ipconfig ja arp -a komentojen tuloksista voisi nähdä mikä verkkosi rakenne suunnilleen on
Hmmm, kun annan tuon ipconfig-komennon, niin ruudulla vilahtaa vain millisekunnin joku ikkuna jota ei ehdi nähdä, onko merkki jostakin :hmm:
Sama tekeekö järjestelmävalvojana tai vain "avaa"

F-securen pankkisuojaus, voiko häiritä?

Edit: pitikin komentaa ensin cmd, sitten hyväksyi tuon ipconfig. Tuo sanoo, että default gateway IP on sama, kuin Shellyn IP, mutta default gateway päättyy .1 ja Shelly päättyy .7
 
Viimeksi muokattu:

Arisoft

Hyperaktiivi
Hmmm, kun annan tuon ipconfig-komennon, niin ruudulla vilahtaa vain millisekunnin joku ikkuna jota ei ehdi nähdä, onko merkki jostakin :hmm:
Sama tekeekö järjestelmävalvojana tai vain "avaa"

F-securen pankkisuojaus, voiko häiritä?

Suorita komento komentokehote nimisessä sovelluksessa niin tulos jää näkyviin.

F-securen pankkisuojaus tuskin on kyseessä, mutta vaikkaan että olet asentanut Freedomen ja poistunut sitä kautta verkostasi.
 

Husky

Hyperaktiivi
Suorita komento komentokehote nimisessä sovelluksessa niin tulos jää näkyviin.

F-securen pankkisuojaus tuskin on kyseessä, mutta vaikkaan että olet asentanut Freedomen ja poistunut sitä kautta verkostasi.
En ole tietoisesti asentanut mitään Freedomea.

Liittyykö tähän/kertooko mitään, että tuo komentokehote sanoo, että default gateway IP on sama, kuin Shellyn IP, mutta default gateway päättyy .1 ja Shelly päättyy .7. IPv4 adress päättyy .8.
Muuta en tiedä mitä tuosta näkee, mutta monessa kohtaa lukee "Media disconnected" :)

Tosiaan kun tuo Shellyn mobiiliappi sanoo Device networkiksi tuon saman Wifin nimen, missä on tietsikkakin, niin ehkä tämä samassa verkossa olo ei ole ongelma, vaan joku muu on tässä, vai kertooko tuo asiasta...
 
Viimeksi muokattu:

-Teme-

Vakionaama
Tuon PlugS gen3 kanssa on haasteita skriptien ajamisessa.
siinä plugissa on matter protokollan tuki, joka syö muistia rotan lailla ja siitä johtuen skriptit eivät oikein tykkää siinä toimia.
Tulossa on fw jossa pääsee eroon matterista
 

Arisoft

Hyperaktiivi
Liittyykö tähän/kertooko mitään, että tuo komentokehote sanoo, että default gateway IP on sama, kuin Shellyn IP, mutta default gateway päättyy .1 ja Shelly päättyy .7. IPv4 adress päättyy .8.

No tuosta voisi päätellä että olet samassa verkossa. Jos muut verkot olivat kaiken lisäksi "disconnected"

kokeile mitä sanoo: ping shellyn_osoite

Sen jälkeen vielä mitä sanoo arp -a

Jos arp -a ei tässä vaiheessa sisällä shellyn osoitetta niin laitteet eivät näe toisiaan.
 
Back
Ylös Bottom