EKSPERIMENTALNO / BETA (v0.0.1)
Ta integracija je v zgodnji fazi razvoja. Deluje, vendar pricakujte:
- Obcasne napake in spremembe v konfiguraciji med posodobitvami
- Nepopolno dokumentacijo za nekatere napredne funkcije
- Moznost, da se API ali senzorji spremenijo brez predhodnega opozorila
Povratne informacije in porocila o napakah so zelo dobrodosli — odprite issue.
CLSS Shade je Home Assistant integracija, ki na podlagi pravih 3D podatkov vase okolice izracuna, kateri deli vasega doma, vrta in strehe so na soncu in kateri v senci — v realnem casu, vsake 5 minut.
Namesto poenostavljenih modelov ali rocnega nastavljanja kotov, integracija uporabi dejanski 3D model terena, stavb in dreves, ki ga pridobi iz javno dostopnih LiDAR podatkov. Rezultat je natancna analiza sencenja, ki uposteva vse okoliske objekte: sosednje stavbe, drevesa, teren, napusce, ograje...
| 3D pogled iz LiDAR podatkov | 2D urejevalnik con | 3D risanje con |
|---|---|---|
- Avtomatizacija rolet/zaluzij — samodejno zapri, ko sonce osvetli okno; odpri, ko je v senci
- PV napoved — koliko elektrike bodo vasi soncni paneli danes/jutri/ta teden dejansko proizvedli, z upostevanjem sencenja
- Pametno zalivanje — koliko vode posamezna cona vrta potrebuje glede na osoncenje, evapotranspiracijo in napoved padavin
- 3D vizualizacija — ogled vase okolice v 3D neposredno v Home Assistant brskalniku
Ta integracija je prilagojena za Slovenijo in zaenkrat deluje samo na obmocju Republike Slovenije.
Razlog ni samo en podatkovni vir — integracija zdruzuje vec slovenskih javnih podatkovnih virov, ki skupaj omogocajo natancno analizo sencenja, PV napoved in pametno zalivanje:
| Vir | Podatki | Uporaba v integraciji | Frekvenca |
|---|---|---|---|
| GURS / CLSS | LiDAR oblak tock (10 tock/m2) — stavbe, drevesa, teren | 3D model okolice za izracun sencenja | Enkratni prenos |
| ARSO Weather | Soncno sevanje, oblacnost, temperatura, padavine | PV ocena, vremenska napoved | Vsakih 5 min |
| ARSO Agrometeo | Evapotranspiracija (ETP), vodna bilanca, padavine — 5 dni nazaj + 10 dni naprej | Pametno zalivanje po conah | Dnevno |
| ARSO INCA | Nowcasting soncnega sevanja (1km grid, 15 min) | Natancna GHI za PV oceno (JV Slovenija) | Vsakih 15 min |
| Open-Meteo | GHI napoved (5 dni), DEM horizont (30m resolucija) | PV napoved, oddaljene hribovske ovire | Vsakih 30 min |
| Esri World Imagery | Satelitski posnetki | Ozadje za 2D in 3D prikaz | Ob nalaganju |
- LiDAR (CLSS) — sistematicno lasersko skeniranje celotne drzave iz letala. Vsak kvadratni meter Slovenije je poskeniran z gostoto 10 tock/m2, kar pomeni, da integracija pozna vsako stavbo, drevo in teren v vasi okolici na priblizno 10 cm natancno. Ti podatki so javno dostopni in brezplacni (licenca CC 4.0), ampak obstajajo samo za Slovenijo.
- ARSO Agrometeo — evapotranspiracija in vodna bilanca sta kljucna za pametno zalivanje. Ti podatki so specificni za slovenske meteoroloske postaje.
- ARSO INCA — nowcasting sevanja za natancno GHI. Pokriva le JV Slovenijo (za ostalo se uporablja Open-Meteo kot fallback).
Ce zivite zunaj Slovenije, ta integracija zaenkrat ne bo delovala. Open-Meteo podatki so sicer globalni, ampak brez LiDAR modela in ARSO agrometeo podatkov integracija ne more izracunati sencenja in zalivanja.
Tehnicno: LiDAR podatki so v formatu LAZ 1.4, koordinatni sistem EPSG:3794 (D96/TM), z 21 ASPRS klasifikacijskimi razredi (tla, stavbe, vegetacija, voda, mostovi...). Posamezna ploscica pokriva 1x1 km in je velika ~30-50 MB.
Ob prvi nastavitvi integracija prenese LiDAR ploscico s streznika ARSO (gis.arso.gov.si):
| Parameter | Vrednost |
|---|---|
| Velikost prenosa | ~30-50 MB (ena ploscica 1x1 km) |
| Cas prenosa | 30-90 sekund |
| Streznik | gis.arso.gov.si (ARSO, javni) |
| Frekvenca | Enkratno — podatki se kesirajo lokalno |
Pomembno:
- Prenos se zgodi samo enkrat ob namestitvi (ali ob spremembi lokacije/radija). Integracija podatkov ne prenaša veckrat.
- Ce izberete vecji radij (500-1000 m) ali vklopite "sosednje ploscice", se prenese vec podatkov (do 9 ploscic, ~300+ MB). Priporocamo zaceti z radijem 200 m in po potrebi povecati.
- Ne obremenjujte streznika z nepotrebnimi ponovnimi namestitvami.
| Zahteva | Priporocilo |
|---|---|
| RAM | ~50 MB za radij 200 m; ~200 MB za 500 m; 3-4 GB za 9 ploscic (sosednje ploscice) |
| Disk | ~50-300 MB za kesirane podatke |
| CPU | Izracun sencenja traja 1-2 s vsakih 5 min (zanemarljivo) |
| Home Assistant | 2024.4.0 ali novejsi |
| Paket | Uporaba |
|---|---|
numpy |
Numericne operacije, shadow engine |
laspy + laszip |
Branje in dekompresija LAZ datotek |
pyproj |
Koordinatne pretvorbe (WGS84 <-> EPSG:3794) |
scipy |
Interpolacija praznih celic v gridu |
Vse odvisnosti se namestijo samodejno prek HACS.
1. Prenos LiDAR podatkov (enkratno)
ARSO streznik --> LAZ datoteka --> 3D grid (DSM + DTM + klasifikacija)
2. Izracun sencenja (vsakih 5 minut)
Trenutni polozaj sonca + 3D grid --> Ray-marching --> Sencna mapa
3. Analiza po conah
LiDAR klasifikacija --> Avtomatske cone: Streha / Vrt / Drevesa / Odprto
+ Uporabniske cone: poljubni poligoni, ki jih narisite na karti
4. Napredne funkcije (opcijsko)
+ ARSO Weather --> PV napoved, zalivanje
+ 3D editor --> Analiza fasad, oken, nadstreskov
Za vsako celico v gridu integracija "izstreli" zarek proti soncu in preveri, ali kaksen objekt (stavba, drevo) prepreci pot svetlobe. Uposteva tudi sezonske spremembe — pozimi, ko drevesa nimajo listov, prepuscajo vec svetlobe.
| Razred | Opis | Prepustnost |
|---|---|---|
| Stavbe | Strehe, fasade | 0% (popolnoma neprepustne) |
| Visoka vegetacija (>10 m) | Drevesa | 15-65% (sezonsko) |
| Srednja vegetacija (3-10 m) | Grmovje, mlada drevesa | 40% |
| Nizka vegetacija (<3 m) | Trava, grmicevje | 60% |
| Tla | Tla, ceste | 100% (prepustna) |
Sezonski model vegetacije:
| Obdobje | Meseci | Prepustnost dreves | Opis |
|---|---|---|---|
| Polno listje | jun-sep | 15% | Gosta krona |
| Delno listje | apr, maj, okt, nov | 40% | Prehodno obdobje |
| Brez listja | dec-mar | 65% | Gola drevesa |
Ce opazite, da se sencenje nenadoma spremeni (npr. iz 20% na 80% v 15 minutah), to ni napaka — je posledica realnih razmer:
- Stavbe in drevesa mecejo ostre sence. Ko sonce potuje po nebu, senca sosednje stavbe ali drevesa lahko v nekaj minutah "preskoce" cez vaso cono. V naravi je enako — razlika je, da integracija to izracuna na 5 minut natancno.
- Pozimi so sence dolge. Pri nizkem kotu sonca (december, januar) ze manjsa stavba vrze senco 50+ m dalec. Sonce je nad obzorjem le 8-9 ur, zato so spremembe hitrejse.
- Sezonski prehodi. V aprilu in oktobru se model vegetacije spremeni (drevesa dobijo/izgubijo liste), kar lahko povzroci skok v sencenju na conah blizu dreves.
- Napusci in strehe. Ce imate napusc ali nadstresek, ta poleti (visoko sonce) senci okno, pozimi (nizko sonce) pa sonce pride pod njim. To je namerno in pravilno upostevan v modelu.
Namig: Uporabite history-graph kartico za pregled gibanja sencenja cez dan — hitro boste prepoznali vzorce, ki se ponavljajo vsak jasen dan.
| Zahteva | Status | Opis |
|---|---|---|
| Home Assistant 2024.4+ | Obvezno | Integracija zahteva novejso verzijo HA |
| Lokacija v Sloveniji | Obvezno | LiDAR podatki obstajajo samo za RS |
| ARSO Weather | Priporoceno | Za PV napoved, zalivanje, oblacnost. Omogocite modul Agrometeo za zalivanje |
| Inverter senzor (SolarEdge, Fronius...) | Opcijsko | Za kalibracijo PV napovedi z dejansko proizvodnjo |
| ApexCharts Card | Opcijsko | Za napredne grafe PV napovedi v dashboardu |
Namig: Integracija deluje tudi brez ARSO Weather — dobite analizo sencenja, polozaj sonca in cone. Za PV napoved in pametno zalivanje pa je ARSO Weather priporocen.
- Odprite HACS v Home Assistant.
- Poiscite CLSS Shade ali kliknite gumb zgoraj.
- Kliknite Prenesi (Download).
- Ponovo zazenite Home Assistant.
- Prenesite ali klonirajte ta repozitorij.
- Kopirajte mapo
custom_components/ha_clss_shadev vaso Home Assistantcustom_componentsmapo. - Ponovo zazenite Home Assistant.
Po namestitvi ali restartu Home Assistant potrebujejo nekateri senzorji cas za izracun preden prikazejo vrednosti:
| Senzor | Cas do prve vrednosti | Razlog |
|---|---|---|
| Senca, sonce, cone (shade/sun %) | ~30 sekund | En shadow map izracun |
| PV ocena moci | ~30 sekund | Odvisen od shadow mapa |
| Irrigation (zalivanje po conah) | ~30 sekund | Branje ARSO agrometeo |
| PV napoved danes/jutri | ~15-30 minut | Shadow forecast racuna senco za vsako uro 5 dni naprej |
| PV napoved 5 dni | ~30-40 minut | Vsi dnevi morajo biti izracunani |
| Oblacnost, agrometeo | ~30 sekund | Branje iz HA senzorjev |
Zakaj PV napoved traja? Shadow forecast mora izracunati sencno mapo za vsako uro vsakega od 5 dni (800×800 grid). To je racunsko zahtevno (~30s per korak × ~60 korakov). Po prvem izracunu se podatki kesirajo in naslednje posodobitve so hitrejse (samo danes se preracuna, oddaljeni dnevi se vzamejo iz cache-a).
Med cakanjem bodo PV napovedi prikazovale "Neznano" — to je pricakovano in ni napaka.
- Pojdite na Nastavitve > Naprave in storitve > Dodaj integracijo.
- Poiscite CLSS Shade.
- Vnesite podatke:
| Polje | Opis | Privzeto |
|---|---|---|
| Ime lokacije | Poljubno ime (npr. "Dom", "Vikend") | — |
| Zemljepisna sirina | Samodejno iz HA nastavitev | Vasa HA lokacija |
| Zemljepisna dolzina | Samodejno iz HA nastavitev | Vasa HA lokacija |
| Radij analize | V metrih — koliko dalec od vase lokacije naj se racuna sencenje | 200 m |
| Vkljuci sosednje ploscice | Prenese 9 ploscic namesto 1 (za robne lokacije ali vecji radij) | Ne |
- Pocakajte 1-2 minuti, da se prenesejo LiDAR podatki.
- Integracija samodejno zgradi 3D model in zacne izracunavati sencenje.
Opomba: Lokacija mora biti znotraj Slovenije (lat 45.42-46.88, lon 13.38-16.61).
| Senzorji | Cone | PV napoved |
|---|---|---|
Po namestitvi se samodejno ustvarijo naslednji senzorji:
| Senzor | Enota | Opis |
|---|---|---|
| Senca | % | Povprecni delez sence na celotnem obmocju |
| Sonce | % | Povprecni delez sonca na celotnem obmocju |
| Visina sonca | deg | Kot sonca nad obzorjem |
| Azimut sonca | deg | Smer sonca (0=S, 90=V, 180=J, 270=Z) |
| Dnevna svetloba | da/ne | Ali je sonce nad obzorjem |
| Cona | Opis | Senzorji |
|---|---|---|
| Streha (roof) | Celice klasificirane kot stavba | Senca %, Sonce % |
| Vrt (garden) | Tla in nizka vegetacija blizu stavb | Senca %, Sonce % |
| Drevesa (trees) | Srednja in visoka vegetacija | Senca %, Sonce % |
| Odprto (open) | Tla dalec od stavb | Senca %, Sonce % |
V stranski vrstici Home Assistant se pojavi CLSS Shade panel z interaktivnim urejevalnikom con:
- 2D pogled: Satelitska karta (Leaflet) z moznostjo risanja poligonov
- 3D pogled: Three.js 3D vizualizacija vase okolice z dejanskimi viskami stavb in dreves
Za vsako uporabnisko cono se ustvarijo senzorji {ime}_shade_percent in {ime}_sun_percent.
Primeri uporabniskih con:
- Fasade (ozke cone pred okni za avtomatizacijo zaluzij)
- Vrtne cone (zelenjava, borovnice, trata, bazen)
- PV paneli (natancen poligon na strehi)
- Terasa, parkirisce, igrisca
Ce imate soncne panele, lahko nastavite PV napovedovanje:
- V Nastavitve > Naprave > CLSS Shade > Nastavi vnesite:
| Polje | Opis | Primer |
|---|---|---|
| PV cone in kapaciteta | cona:Wp pari, loceni z vejico |
pv-visja:5925,pv-nizja:5135 |
| Nagib panelov | Stopinje od vodoravne (0-90) | 30 |
| Azimut panelov | Smer panelov (0=S, 90=V, 180=J, 270=Z) | 180 |
| Realna PV moc senzor | Entity ID inverterja (opcijsko) | sensor.solaredge_current_power |
- Narisite PV cone na karti (Zone Editor) — loceno cono za vsako skupino panelov.
Dobite naslednje senzorje:
| Senzor | Enota | Opis |
|---|---|---|
| Ocena PV moci | W | Trenutna ocena proizvodnje |
| PV napoved danes | kWh | Skupna napovedana proizvodnja danes |
| PV napoved jutri | kWh | Skupna napovedana proizvodnja jutri |
| PV napoved 5 dni | kWh | Sestevek 5-dnevne napovedi |
| PV naslednja ura | W | Ocenjena moc v naslednji uri |
| PV naslednja 1h / 3h | Wh | Energija v naslednjih 1 oz. 3 urah |
| PV preostanek danes | kWh | Preostala napovedana proizvodnja |
Napoved se izracuna z kombinacijo shadow forecast (5 dni, 30-min resolucija) + vremenska napoved (oblacnost/GHI iz Open-Meteo ali ARSO) + dinamicni POA faktor.
Namig: Ce povezete realni PV senzor (SolarEdge, Fronius, Enphase...), integracija samodejno kalibrira napoved z EMA (eksponentno drsecim povprecjem).
Ce imate namesceno ARSO Weather (slovenian_weather_integration), CLSS Shade samodejno prebere vremenske podatke:
| Podatek | Uporaba |
|---|---|
| Globalno soncno sevanje | PV ocena |
| Oblacnost | Napoved |
| Evapotranspiracija | Zalivanje |
| Vodna bilanca | Zalivanje |
| Temperatura | PV derating |
Za PV oceno in zalivanje je priporocena namestitev ARSO Weather z omogocenim modulom Agrometeo.
| Agrometeo podatki | Potreba po zalivanju |
|---|---|
Ce imate namescen ARSO Weather z modulom Agrometeo, integracija izracuna potrebo po zalivanju za vsako cono posebej — z 5-dnevno napovedjo.
Formula temelji na standardu FAO-56 (Penman-Monteith):
potreba_mm = Kc × ETP × faktor_sence - padavine
Kjer:
- Kc = koeficient pridelka (FAO-56) — razlicne rastline potrebujejo razlicno kolicino vode
- ETP = evapotranspiracija iz ARSO agrometeo (mm/dan)
- faktor_sence =
0.5 + 0.5 × delez_sonca— sencene cone potrebujejo do 50% manj vode - padavine = napovedane padavine (korigirane z zgodovinsko natancnostjo napovedi)
| Tip cone | Kc | Opis |
|---|---|---|
| Travnik (lawn) | 0.95 | Trata, zelenica — skoraj konstantna potreba |
| Zelenjava (vegetables) | 1.05 | Paradiznik, solata, fizol — vecja potreba |
| Jagodičje (berries) | 0.85 | Borovnice, maline — obcutljive na preveliko vodo |
| Sadno drevje (fruit_trees) | 0.95 | Jablane, hruske |
| Roze (flowers) | 0.90 | Okrasne rastline |
| Vrt splošno (garden) | 1.00 | Privzeta vrednost |
Zakaj razlicni faktorji? Borovnice imajo plitve korenine in so obcutljive na preveliko vodo (Kc=0.85), medtem ko zelenjava v polni rasti aktivno transpirira in potrebuje vec vode (Kc=1.05). Travnik je nekje vmes. Faktorji temeljijo na FAO-56 mid-season vrednostih.
- V Zone Editorju narisite cone za posamezne vrtne predele.
- Pri vsaki coni izberite ustrezen tip cone iz dropdowna: Travnik, Zelenjava, Jagodičje, Sadno drevje, Rože, ali splošni Vrt.
- Integracija samodejno ustvari senzorje za vsako cono.
Za vsako cono z vrtnim tipom se ustvarijo:
| Senzor | Tip | Opis |
|---|---|---|
sensor.dom_{ime}_irrigation_need |
Stevilo (L) | Današnja potreba po zalivanju v litrih |
binary_sensor.dom_{ime}_recommended_watering |
Da/Ne | Ali je zalivanje priporoceno (potreba > 0.5 mm) |
Senzor irrigation_need ima atribut forecast_daily s 5-dnevno napovedjo:
{
"crop_kc": 0.85,
"zone_type": "berries",
"area_m2": 4.8,
"today_need_mm": 1.42,
"correction_factor": 0.85,
"forecast_daily": [
{"date": "2026-04-03", "need_mm": 1.42, "need_liters": 6.8, "etp_mm": 2.9, "precipitation_mm": 0.0, "tip": "danes"},
{"date": "2026-04-04", "need_mm": 0.95, "need_liters": 4.6, "etp_mm": 2.4, "precipitation_mm": 0.5, "tip": "napoved"},
{"date": "2026-04-05", "need_mm": 0.0, "need_liters": 0.0, "etp_mm": 3.1, "precipitation_mm": 5.2, "tip": "napoved"}
]
}Integracija samodejno prilagodi potrebo po zalivanju glede na letni cas:
| Mesec | Faktor | Logika |
|---|---|---|
| Dec-Feb | 0.0 | Zima — ne zalivamo (razen rastlinjak) |
| Mar | 0.3 | Zgodnja pomlad — minimalno |
| Apr | 0.6 | Pomlad — zmerno |
| Maj | 0.9 | Pozna pomlad — skoraj polna potreba |
| Jun-Avg | 1.0 | Poletje — polna sezona |
| Sep | 0.9 | Pozno poletje |
| Okt | 0.5 | Jesen — zmanjsano |
| Nov | 0.2 | Pozna jesen — minimalno |
Sezonski faktor se prikazuje v atributu seasonal_factor za vsak dan napovedi.
Za rastlinjake je na voljo poseben tip cone Rastlinjak / Greenhouse, ki se razlikuje od zunanjih con:
- Ignorira padavine — dez ne pride v rastlinjak, zato se padavine ne odstevajo od potrebe
- Brez sezonske redukcije — rastlinjak zalivamo celo leto (seasonal_factor = 1.0 vedno)
- Kc = 1.0 (privzeto; prilagodite glede na pridelek v rastlinjaku)
Integracija primerja napovedane padavine z dejansko izmerjenimi na prekrivajocih se datumih (ARSO agrometeo hrani 5 dni meritev in 10 dni napovedi). Ce je napoved napovedala dez, pa ga dejansko ni bilo, se korekcijski faktor zmanjsa in napoved za prihodnje dni ustrezno prilagodi.
Primer: napoved je napovedala 10 mm deza, dejansko je padlo 3 mm → correction_factor = 0.3 → prihodnje napovedane padavine se pomnozijo s 0.3, kar poveca potrebo po zalivanju. Faktor je omejen na razpon [0.5, 2.0].
To prepreci situacijo, ko sistem ne zaliva ker pricakuje dez, ki pa potem ne pade.
Ce v Zone Editorju pri coni vnesete pretok zalivanja v L/min (npr. 8 L/min za kapljicno namakanje), integracija izracuna trajanje zalivanja v minutah:
duration_minutes = today_liters / throughput_lpm
Primer: 28 L / 8 L/min = 3.5 minut
Atribut duration_minutes je na voljo na senzorjih irrigation_need in recommended_watering.
Kapljicno namakanje borovnic:
Borovnice imajo plitve korenine in so obcutljive na preveliko vodo. Izberite tip cone Jagodičje / Berries (Kc=0.85) — integracija samodejno zmanjsa potrebo za 15% glede na splosni vrt. Vnesite pretok kapljicnega sistema (npr. 4 L/min) in avtomatizirajte zalivanje.
Vec con zelenjave z razlicnim sencenjem: Paradiznik na polnem soncu potrebuje vec vode kot solata v polsenci. Narisite loceni coni — integracija bo za vsako izracunala potrebo glede na dejansko sencenje iz LiDAR modela (drevesa, stavbe, nadstreski).
Rastlinjak cez zimo:
Zunaj ne zalivamo (seasonal_factor = 0.0), ampak v rastlinjaku zalivamo celo leto. Izberite tip cone Rastlinjak / Greenhouse — sezonski faktor ne vpliva, padavine se ne odstevajo.
Vecji vrt z avtomatskim zalivanjem:
Za vsako cono nastavite pretok v L/min. Avtomatizacija prebere duration_minutes in odpre ventil za tocno pravo stevilo minut.
Trata vs. cvetlicne grede: Trata (Kc=0.95) rabi skoraj toliko vode kot referenca, cvetlice (Kc=0.90) nekoliko manj. Razlika je majhna, ampak pri vecji povrsini se nabere.
Zalivanje z duration_minutes (ce imate nastavljen pretok):
automation:
- alias: "Zalivanje borovnic ko je priporoceno"
trigger:
- platform: state
entity_id: binary_sensor.dom_borovnice_recommended_watering
to: "on"
condition:
- condition: time
after: "05:00:00"
before: "08:00:00"
action:
- service: switch.turn_on
target:
entity_id: switch.zalivanje_borovnice
- delay:
minutes: >
{{ state_attr('sensor.dom_borovnice_irrigation_need', 'duration_minutes') | float(5) }}
- service: switch.turn_off
target:
entity_id: switch.zalivanje_borovnice
- service: notify.mobile_app_telefon
data:
title: "Zalivanje borovnic koncano"
message: >
Zalito: {{ states('sensor.dom_borovnice_irrigation_need') }} L
v {{ state_attr('sensor.dom_borovnice_irrigation_need', 'duration_minutes') }} minDnevno porocilo o zalivanju (vseh con):
automation:
- alias: "Jutranje porocilo o zalivanju"
trigger:
- platform: time
at: "06:00:00"
action:
- service: notify.mobile_app_telefon
data:
title: "Zalivanje — danes"
message: >
Borovnice: {{ states('sensor.dom_borovnice_irrigation_need') }} L
Zelenjava: {{ states('sensor.dom_zelenjava_irrigation_need') }} L
Trata: {{ states('sensor.dom_trata_irrigation_need') }} L
Sezonski faktor: {{ state_attr('sensor.dom_borovnice_irrigation_need', 'forecast_daily')[0].seasonal_factor }}Opozorilo ce prihodnji dan potrebuje veliko vode:
automation:
- alias: "Opozorilo - jutri veliko zalivanja"
trigger:
- platform: time
at: "20:00:00"
condition:
- condition: template
value_template: >
{% set forecast = state_attr('sensor.dom_zelenjava_irrigation_need', 'forecast_daily') %}
{{ forecast[1].need_liters | float > 50 if forecast | length > 1 else false }}
action:
- service: notify.mobile_app_telefon
data:
title: "Jutri veliko zalivanja"
message: >
{% set f = state_attr('sensor.dom_zelenjava_irrigation_need', 'forecast_daily')[1] %}
Zelenjava jutri potrebuje {{ f.need_liters }} L (ETP={{ f.etp_mm }} mm, padavine={{ f.precipitation_mm }} mm)automation:
- alias: "Zapri rolete ko sonce osvetli okno"
trigger:
- platform: numeric_state
entity_id: sensor.clss_shade_home_sonce
above: 80
condition:
- condition: numeric_state
entity_id: sensor.clss_shade_home_visina_sonca
above: 15
- condition: numeric_state
entity_id: sensor.arso_weather_ljubljana_temperatura
above: 25
action:
- service: cover.close_cover
target:
entity_id: cover.dnevna_soba_rolete
- alias: "Odpri rolete ko je v senci"
trigger:
- platform: numeric_state
entity_id: sensor.clss_shade_home_senca
above: 70
action:
- service: cover.open_cover
target:
entity_id: cover.dnevna_soba_roleteautomation:
- alias: "Jutranje zalivanje glede na sencenje in vreme"
trigger:
- platform: time
at: "06:00:00"
condition:
- condition: numeric_state
entity_id: sensor.clss_shade_home_potreba_po_zalivanju
above: 10
action:
- service: switch.turn_on
target:
entity_id: switch.zalivanje_vrt
- delay:
minutes: >
{{ (states('sensor.clss_shade_home_potreba_po_zalivanju') | float / 10) | round }}
- service: switch.turn_off
target:
entity_id: switch.zalivanje_vrt
- service: notify.mobile_app_telefon
data:
title: "Zalivanje koncano"
message: >
Vrt je bil zalivan {{ states('sensor.clss_shade_home_potreba_po_zalivanju') }} L.
Senca na vrtu: {{ states('sensor.clss_shade_home_garden_shade_percent') }}%.automation:
- alias: "Opozorilo ob senci na PV panelih"
trigger:
- platform: numeric_state
entity_id: sensor.clss_shade_home_roof_shade_percent
above: 50
for:
minutes: 30
condition:
- condition: state
entity_id: sensor.clss_shade_home_dnevna_svetloba
state: "True"
action:
- service: notify.mobile_app_telefon
data:
title: "PV sistem v senci"
message: >
Streha je {{ states('sensor.clss_shade_home_roof_shade_percent') }}% v senci.
Ocena proizvodnje: {{ states('sensor.clss_shade_home_ocena_pv_moci') }} W.Za natancno upravljanje zaluzij/sencil po fasadah narisite ozke cone (1-2 m sirine) tik pred vsako fasado hise v Zone Editorju. Shadow engine bo na podlagi dejanskega 3D modela (vkljucno z napusci, drevesi, sosednjimi stavbami) izracunal ali sonce pada na posamezno fasado.
SV fasada (kuhinja)
+----------------+
| |
JV fasada | HISA | JZ fasada
(panorama)| | (panoramsko okno
| | z napuscem)
+----------------+
Cone: fasada_sv, fasada_jv, fasada_jz
Zakaj ozke cone pred fasado? Ker vas zanima ali sonce pada na okno, ne na cel vrt. Ozka cona 1-2 m pred fasado simulira natancno to — vkljucno z napusci, ki poleti zasenčijo okna, pozimi pa sonce pride pod napusc.
automation:
# Poleti: zapri ko sonce sveti skozi (napusc ne zadosca)
- alias: "Zaluzije JZ — zapri ob soncu poleti"
trigger:
- platform: numeric_state
entity_id: sensor.dom_fasada_jz_sun_percent
above: 60
for: "00:05:00"
condition:
- condition: template
value_template: "{{ now().month in [5,6,7,8,9] }}"
- condition: numeric_state
entity_id: sensor.dom_oblacnost
below: 60
action:
- service: cover.close_cover
target:
entity_id: cover.zaluzije_dnevna_soba
# Pozimi: pusti sonce noter za ogrevanje prostorov
- alias: "Zaluzije JZ — odpri za solarno ogrevanje pozimi"
trigger:
- platform: numeric_state
entity_id: sensor.dom_fasada_jz_sun_percent
above: 50
condition:
- condition: template
value_template: "{{ now().month in [10,11,12,1,2,3] }}"
- condition: numeric_state
entity_id: sensor.dom_oblacnost
below: 50
action:
- service: cover.open_cover
target:
entity_id: cover.zaluzije_dnevna_soba
# Vse fasade: odpri ko je oblacno
- alias: "Zaluzije — odpri ob oblacnem vremenu"
trigger:
- platform: numeric_state
entity_id: sensor.dom_oblacnost
above: 70
for: "00:10:00"
action:
- service: cover.open_cover
target:
entity_id:
- cover.zaluzije_dnevna_soba
- cover.zaluzije_kuhinja
- cover.zaluzije_spalnica| Senzorji in cone | Pot sonca cez dan |
|---|---|
Zamenjajte dom z imenom vase lokacije.
type: horizontal-stack
cards:
- type: gauge
entity: sensor.dom_sonce
name: Sonce
min: 0
max: 100
severity:
green: 60
yellow: 30
red: 0
needle: true
- type: gauge
entity: sensor.dom_senca
name: Senca
min: 0
max: 100
severity:
green: 0
yellow: 30
red: 60
needle: true
- type: gauge
entity: sensor.dom_oblacnost
name: Oblacnost
min: 0
max: 100
severity:
green: 0
yellow: 40
red: 70
needle: truetype: entities
title: "Sencenje po conah"
icon: mdi:select-group
show_header_toggle: false
entities:
- type: section
label: "Avtomatske cone (LiDAR)"
- entity: sensor.dom_roof_sun_percent
name: "Streha — sonce"
icon: mdi:home-roof
- entity: sensor.dom_garden_sun_percent
name: "Vrt — sonce"
icon: mdi:flower
- entity: sensor.dom_trees_sun_percent
name: "Drevesa — sonce"
icon: mdi:tree
- type: section
label: "Uporabniske cone"
- entity: sensor.dom_borovnice_sun_percent
name: "Borovnice — sonce"
icon: mdi:fruit-grapes
- entity: sensor.dom_zelenjava_sun_percent
name: "Zelenjava — sonce"
icon: mdi:sprouttype: history-graph
title: "Sencenje danes"
hours_to_show: 24
entities:
- entity: sensor.dom_sonce
name: "Skupno sonce"
- entity: sensor.dom_roof_sun_percent
name: "Streha"
- entity: sensor.dom_garden_sun_percent
name: "Vrt"type: custom:apexcharts-card
header:
title: "Danes — PV proizvodnja"
show: true
graph_span: 18h
span:
start: day
offset: "+5h"
series:
- entity: sensor.dom_pv_napoved_danes
name: Napoved
type: area
color: "#FFA726"
opacity: 0.3
stroke_width: 2
data_generator: |
const data = entity.attributes.forecast_hourly;
if (!data) return [];
return data.map(e => [new Date(e.time).getTime(), e.estimate_w]);
- entity: sensor.dom_realna_pv_moc
name: Realno
type: line
color: "#66BB6A"
stroke_width: 3
group_by:
func: avg
duration: 30mintype: custom:apexcharts-card
header:
title: "5-dnevna napoved (kWh/dan)"
show: true
apex_config:
chart:
type: bar
height: 250
series:
- entity: sensor.dom_pv_napoved_5_dni
name: kWh
type: column
color: "#FFA726"
data_generator: |
const days = entity.attributes.days;
if (!days) return [];
return days.map(d => [d.label, d.total_kwh]);+-------------------+--------------------+-------------------+
| Gauge: Sonce | Gauge: Senca | Gauge: Oblacnost |
+-------------------+--------------------+-------------------+
| Polozaj sonca (entities) |
+-----------------------------+------------------------------+
| Cone — sence (entities) | Fasade — glance |
+-----------------------------+------------------------------+
| Zgodovina sencenja | Fasade cez dan (graf) |
| (history-graph) | (history-graph) |
+-----------------------------+------------------------------+
| PV ocena (gauge + | Zalivanje (gauge + |
| entities) | agrometeo atributi) |
+-----------------------------+------------------------------+
| PV napoved danes/jutri/5d (apexcharts) |
+------------------------------------------------------------+
Namig: Za se lepse kartice namestite prek HACS se:
- mushroom-cards — kompaktne entity kartice
- mini-graph-card — lepi inline grafi
- apexcharts-card — napredni grafi (PV napoved, sonce/senca area chart)
Za celovit PV dashboard z ApexCharts in Mushroom karticami glejte docs/pv_dashboard.yaml.
Ce naletite na tezave, omogocite razhroscevalno belezenje:
logger:
default: info
logs:
custom_components.ha_clss_shade: debugUporabni dnevniski zapisi:
Downloading TM_461_101.laz— prenos LiDAR plosciceTile TM_461_101 found in block b_35— odkritje block stevilkeGrid 800x800, 87.5% filled, res=0.50m— rasterizacijaShadow map: mean shade=9.3%— izracun sencenjaDetected zones: ['roof', 'garden', 'trees', 'open']— zaznane coneFound 5 ARSO weather entities— povezava z vremenskimi podatki
| Operacija | Cas | Opomba |
|---|---|---|
| Prenos LiDAR ploscice | 30-90 s | Enkratno, ~30-50 MB |
| Rasterizacija LAZ -> grid | 5-15 s | Enkratno, rezultat se kesira |
| Izracun sencenja | 1-2 s | Vsake 5 minut |
| PV napoved 5 dni | ~2.7 min | V ozadju, vsako uro |
| Poraba pomnilnika | ~50 MB | Za 800x800 grid (200 m radij) |
| Vir | Podatki | Licenca |
|---|---|---|
| GURS / E-prostor | LiDAR podatki (CLSS) | CC 4.0 (obvezna atribucija) |
| ARSO | LiDAR streznik, vremenske meritve | Javni podatki |
| Flycom Technologies | Izvajalec CLSS 2023-2025 | — |
| Open-Meteo | GHI napoved, DEM horizont | Free tier |
| CLSS pregledovalnik | 3D pregled LiDAR podatkov | — |
- HA_Solar_Shade avtorja LawPaul — ideja za uporabo LiDAR podatkov za analizo sencenja v Home Assistant
- Samo Slovenija — podatki CLSS/GURS obstajajo le za RS
- INCA nowcasting (soncno sevanje) pokriva le JV Slovenijo — za ostalo se uporablja Open-Meteo
- Sosednje ploscice potrebujejo 3-4 GB RAM — uporabite previdno
- POF ortophoto (16cm resolucija za 3D) zahteva rocen prenos s CLSS pregledovalnika
- Sezonski model je poenostavljen — predpostavlja listavce povsod (ne razlikuje med iglavci in listavci)
Ce najdete napake ali imate predloge za izboljsave, odprite issue ali posljite pull request. Ker je integracija v beta fazi, so vsi prispevki se posebej dobrodosli!
Ce vam ta integracija koristi, me lahko podprete:
| Projekt | Opis |
|---|---|
| ARSO Weather | Home Assistant integracija za vremenske podatke ARSO — 12 modulov, 247 lokacij |
| ARSO Potresi | Home Assistant integracija za podatke o potresih iz ARSO |
| HA Assist — Slovenscina | Slovenscina za glasovnega pomocnika Home Assistant |