MODERATOR: proszę tworzyć nowe posty dla nowych pytania "jak zrobić w openHAB" (dzięki)
- jak liczysz ilość żarówek wł?
- z jakiego dostarczyciela pogody korzystasz?
- Skąd masz astronomie 🙂 podzielił byś się kodem?
- Obecność osób, liczysz to po GPS ? Kamery? czujniki?
- Detekcja ruchu czym to rozwiązałeś ??
- Jak rozwiązujecie On/Off TV czy innych sprzętów gdzie POWER jest tylko jeden 🙂 przy poleceniu Alexy off czy on wykrywa kiedy sonoffy wł/wył ale juz broad link jak powiem 2x off to bd ten sam status
Niestety wersji mobilnej nie mam 🙁 a przydało by się już coś działać na tym.
- Czy i jak się łączycie z zew domu?? po koncie openhab czy VPN
- jak liczysz ilość żarówek wł?
W konfiguracji items robię grupę a następnie podłączam tę grupę pod item'y które chcę zliczać.
plik *.items
Group:Switch:OR(ON, OFF) ile_wlaczonych "Żarówki [%dx włączonych]"
Switch lampa1 "Lampa 1" (ile_wlaczonych) { jakas konfiguracja urzadzenia }
Switch lampa2 "Lampa 2" (ile_wlaczonych) { jakas konfiguracja urzadzenia }
Switch lampa3 "Lampa 3" (ile_wlaczonych) { jakas konfiguracja urzadzenia }
Switch lampa4 "Lampa 4" (ile_wlaczonych) { jakas konfiguracja urzadzenia }
W plik *.sitemap wyświetlam ilości włączonych urządzeń na poziomie grupy
Group item=ile_wlaczonych valuecolor=["ON"="#000000","OFF"="#777777"] {
-- jakieś tam elementy grupy
}
To powoduje ten efekt ja na zdjęciu poniżej z liczbą włączonych żarówek
- z jakiego dostarczyciela pogody korzystasz?
- Binding: Weather Binding (binding-weather1 - 1.10.0)
- Ja korzystam z serwisu: OpenWeather
- Trzeba założyć konto w https://openweathermap.org/ i dostaje się klucz, który trzeba wpisać do /services/weather.cfg
apikey.OpenWeatherMap=klucztutaj
Dodatkowo konfiguruje się lokalizację w /services/weather.cfg dla której ma odczytywać pogodę
location.home.name=Nazwa lokalizacja
location.home.latitude=52.352022
location.home.longitude=20.852406
location.home.provider=OpenWeatherMap
location.home.language=en
location.home.updateInterval=6
przykładowe moje *.items
String weather_common_id "Pogoda [MAP(weather.map):%s]" {weather="locationId=home, type=condition, property=commonId"} Number weather_clouds "Poziom zachmurzenia [%.0f %%]" {weather="locationId=home, type=clouds, property=percent"} Number weather_temperature_feel "Odczuwalna [%.1f °C]" {weather="locationId=home, type=temperature, property=feel"} String weather_temperature_min_max "Min/Max [%s °C]" {weather="locationId=home, type=temperature, property=minMax"} Number weather_humidity "Wilgotność [%d %%]" {weather="locationId=home, type=atmosphere, property=humidity"} Number weather_pressure "Ciśnienie [%.2f hPa]" {weather="locationId=home, type=atmosphere, property=pressure"} String weather_pressure_trend "Trend [MAP(pressuretrend.map):%s]" {weather="locationId=home, type=atmosphere, property=pressureTrend"} Number weather_rain "Deszcz [%.2f mm/h]" {weather="locationId=home, type=precipitation, property=rain"} Number weather_snow "Śnieg [%.2f mm/h]" {weather="locationId=home, type=precipitation, property=snow"} Number weather_wind_speed "Prędkość wiatru [%.1f km/h]" {weather="locationId=home, type=wind, property=speed"} String weather_wind_direction "Kierunek wiatru[%s]" {weather="locationId=home, type=wind, property=direction"} DateTime weather_observation_time "[%1$td.%1$tm.%1$tY %1$tH:%1$tM]" {weather="locationId=home, type=condition, property=observationTime"}
- Skąd masz astronomie 🙂 podzielił byś się kodem?
Binding: Astro Binding (binding-astro - 2.1.0)
Moje astro items w pliku *.items
/* Astro Sun */
DateTime Sunrise_Time "Wschód [%1$tH:%1$tM]" <my_sunrise> { channel="astro:sun:home:rise#start" }
DateTime Sunset_Time "Zachód [%1$tH:%1$tM]" <my_sunset> { channel="astro:sun:home:set#end" }
/* Astro Moon */
DateTime Moonrise_Time "Wschód [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_moonrise> { channel="astro:moon:home:rise#start" }
DateTime Moonset_Time "Zachód [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_moonset> { channel="astro:moon:home:set#end" }
Number Moon_Age "Długość cyklu [%.0f dni]" <my_moon_age> { channel="astro:moon:home:phase#age" }
Number Moon_Illumination "Illuminacja [%.1f %%]" <my_moon_illumination> { channel="astro:moon:home:phase#illumination" }
String Moon_Phase_Name "Faza [MAP(moon.map):%s]" <my_moon_phase> { channel="astro:moon:home:phase#name" }
Number Moon_Distance_K "Odległość[%.2f km]" <my_distance> { channel="astro:moon:home:distance#kilometer" }
/* Astro Zodiac */
String Zodiac_Sign "Znak zodiaku [%s]" { channel="astro:sun:home:zodiac#sign" }
DateTime Zodiac_Start "Rozpoczyna się [%1$td.%1$tm.%1$tY]" <my_date_from> { channel="astro:sun:home:zodiac#start" }
DateTime Zodiac_End "Kończy się [%1$td.%1$tm.%1$tY]" <my_date_to> { channel="astro:sun:home:zodiac#end" }
/* Astro Season */
String Season_Name "Pora roku [%s]" { channel="astro:sun:home:season#name" }
DateTime Season_Spring "Wiosna [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_spring> { channel="astro:sun:home:season#spring" }
DateTime Season_Summer "Lato [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_summer> { channel="astro:sun:home:season#summer" }
DateTime Season_Autumn "Jesień [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_autumn> { channel="astro:sun:home:season#autumn" }
DateTime Season_Winter "Zima [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_winter> { channel="astro:sun:home:season#winter" }
- Obecność osób, liczysz to po GPS ? Kamery? czujniki?
Tutaj napisałem jak to zrobiłem u siebie: GPS + OwnTracks + Smartfon + MQTT
- Detekcja ruchu czym to rozwiązałeś ??
Czujniki ruch z-wave które wysyłają do openHAB info jak wykryją ruch
- Jak rozwiązujecie On/Off TV czy innych sprzętów gdzie POWER jest tylko jeden
To już zależy od sprzętu. Poszukaj, czy jest binding do Twojego TV. Jeśli masz jakiegoś smartTV np, panasonic, samsung to powinno dać radę: http://docs.openhab.org/addons/bindings.html
- Czy i jak się łączycie z zew domu?? po koncie openhab czy VPN
- Ruter z odpowiednio otwartymi portami na openHAB.
- Autentykację do openHAB mam zrobione przez serwer www nginx, mniej więcej coś takiego jak tutaj: https://community.openhab.org/t/using-nginx-reverse-proxy-authentication-and-https/14542
Dzięki Adrian za sporo danych. Powoli zaczynam łapać logikę ale mam ciągle pytania.
1.
String Season_Name "Pora roku [%s]" { channel="astro:sun:home:season#name" } DateTime Season_Spring "Wiosna [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="astro:sun:home:season#spring" } DateTime Season_Summer "Lato [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="astro:sun:home:season#summer" } DateTime Season_Autumn "Jesień [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="astro:sun:home:season#autumn" } DateTime Season_Winter "Zima [%1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="astro:sun:home:season#winter" }
Season_Name podaje mi nazwę sezonu po angielsku. Jak ją zmienić na polski i co robią poniższe linie kodu z pliku items? Czyli jak wyświetlić "Jesień"?
2.
Raspberry Pi 3 utylizację CPU podaje mi w okolicach 30%-40% (Systeminfo binding). Czy to jest normalne? Mam też RPi 2 z innym systemem (muzyka), który pokazuje 3-5% w iddle.
3.
Wieczorem zabieram się za Weather binding. Mam już podłączoną temperaturę, ciśnienie, wilgotność z lokalnej stacji pogodowej (1km od domu). Ale dorobię kilka danych, może nawet prognozę na 2dni...
Season_Name podaje mi nazwę sezonu po angielsku. Jak ją zmienić na polski i co robią poniższe linie kodu z pliku items? Czyli jak wyświetlić "Jesień"?
Kopia ode mnie:
plik sitemap
Group item=Season_Name label="Pora roku [MAP(season.map):%s]" icon="my_season" {
Frame label="Kiedy rozpoczyna się pory roku" item=item{
Text item=Season_Spring
Text item=Season_Summer
Text item=Season_Autumn
Text item=Season_Winter
}
}
Doinstalowujesz do openHAB
- PaperUI: Addons: Transformations
- Map Transformation
Linux:
- wgrywasz załączony plik (po rozpakowaniu) to /etc/openhab2/transform. Załączyłem kilka innych też mogą się przydać. Ale wystarczy że wgrasz season.map, pozostałe to znaki zodiaku - nie pamiętam czy wszystkie przetłumaczyłem - złapiesz logikę tłumaczenia jak otworzysz pliki
Raspberry Pi 3 utylizację CPU podaje mi w okolicach 30%-40% (Systeminfo binding). Czy to jest normalne? Mam też RPi 2 z innym systemem (muzyka), który pokazuje 3-5% w iddle.
3.
Wieczorem zabieram się za Weather binding. Mam już podłączoną temperaturę, ciśnienie, wilgotność z lokalnej stacji pogodowej (1km od domu). Ale dorobię kilka danych, może nawet prognozę na 2dni...
U mnie jest utylizacja skacze od 2.5 do 8% na procku
- A20 ARM® Cortex-A7 Dual-Core
- 2GB RAM
- Dysk SSD
chodzi na nim openHAB + mysql + mqtt + ngix - nic więcej
powodzenia z weather. Pliki (transformacje) z poprzedniego posta przydadzą się
Dziękuję. Mam nowe materiały do studiowania. Dziś instalowałem nowy router i już się nie zabiorę za Weather.
Naprawiłem utylizację procesora. Miałem Jeden binding Systeminfo ale dwa "things". Coś się gryzło. Teraz pokazuje realne 4%
Transformacje działają! Trochę zmodyfikowałem kod aby nie wchodzić w kolejne zakładki. Wszystkie informacje astro są w jednej.
Nie mogę zmusić ikon do działania.
Są w katalogu \openHAB-conf\icons\classic\
Jest tam plik my_season ale się nie wyświetla.
zobacz czy masz ustawione Bitmap w PaperUI: Configuration : Services : UI : ClassicUI
Okazało się że na komórce mam widoczne ikonki a na komputerze nie. Nie przeszkadzami to za bardzo. Może jest związane z przeglądarką i plikami tymczasowymi. Naprawdę nie mam pojęcia.
Walczę z pogodą. Dodałem Weather binding. Paper UI/Add-odns jest na niebiesko jako zainstalowany. Ale Paper UI/Configuration/Bindings nie ma go na liście. Nie mogę go również odnaleźć w Inbox albo Paper UI/Configuration/Things.
Nie ma nic o tym etapie na http://docs.openhab.org/addons/bindings/weather1/readme.html
Nie zniechęciłem się. Zalogowałem na http://openweathermap.org/ dostałem klucz (jest na koncie po zalogowaniu).
Uzupełniłem weather.cfg i items.
Walczę z sitemapą. Najgorsze są te ikonki...
hej
Wiem że tamat już trochę ma ale czy mógłbyś wrzucić jeszcze wycinek pliku sitemap dotyczący pogody?
hej
Wiem że tamat już trochę ma ale czy mógłbyś wrzucić jeszcze wycinek pliku sitemap dotyczący pogody?
Przesyłam moją wersję - jeśli dasz radę to odczytać 😉
*.items
String weather_common_id "Pogoda [MAP(weather.map):%s]" {weather="locationId=home, type=condition, property=commonId"}
Number weather_clouds "Poziom zachmurzenia [%.0f %%]" <my_cloud> {weather="locationId=home, type=clouds, property=percent"}
Number weather_temperature "Temperatura [%.1f °C]" <my_temperature> {weather="locationId=home, type=temperature, property=current"}
Number weather_temperature_feel "Odczuwalna [%.1f °C]" <my_temperaturefee> {weather="locationId=home, type=temperature, property=feel"}
String weather_temperature_min_max "Min/Max [%s °C]" <my_temperatureminmax> {weather="locationId=home, type=temperature, property=minMax"}
Number weather_humidity "Wilgotność [%d %%]" <humidity> {weather="locationId=home, type=atmosphere, property=humidity"}
Number weather_pressure "Ciśnienie [%.2f hPa]" <my_pressure> {weather="locationId=home, type=atmosphere, property=pressure"}
String weather_pressure_trend "Trend [MAP(pressuretrend.map):%s]" <my_pressuretrend> {weather="locationId=home, type=atmosphere, property=pressureTrend"}
Number weather_rain "Deszcz [%.2f mm/h]" <my_rain> {weather="locationId=home, type=precipitation, property=rain"}
Number weather_snow "Śnieg [%.2f mm/h]" <my_snow> {weather="locationId=home, type=precipitation, property=snow"}
Number weather_wind_speed "Prędkość wiatru [%.1f km/h]" <wind> {weather="locationId=home, type=wind, property=speed"}
String weather_wind_direction "Kierunek wiatru[%s]" <my_winddirection> {weather="locationId=home, type=wind, property=direction"}
DateTime weather_observation_time "[%1$td.%1$tm.%1$tY %1$tH:%1$tM]" <my_lastweatherupdate> {weather="locationId=home, type=condition, property=observationTime"} Number weather_temperature_chart_period "" <my_period>
Number weather_pressure_trend_chart_period "" <my_period> Number weather_clouds_chart_period "" <my_period>
*.sitemap
Frame label="Warunki atmosferyczne" { Group item=weather_temperature label="Informacje pogodowe [%.1f °C]" icon="my_weather" valuecolor=[>35="red",>31="maroon",>27="orange",>20="green",>12="teal",>7="olive",>0="navy",<=0="blue"] { Frame label="Temperatura" { Group item=weather_temperature label="Z Internetu [%.1f °C]" icon="temperature" valuecolor=[>35="red",>31="maroon",>27="orange",>20="green",>12="teal",>7="olive",>0="navy",<=0="blue"] { Switch item=weather_temperature_chart_period mappings=[0="1H",1="4H",2="8H",3="1D",4="3D",5="1T",6="1M",7="4M",8="1R"] Chart item=weather_temperature period=h refresh=600 visibility=[weather_temperature_chart_period==0] Chart item=weather_temperature period=4h refresh=600 visibility=[weather_temperature_chart_period==1] Chart item=weather_temperature period=8h refresh=600 visibility=[weather_temperature_chart_period==2] Chart item=weather_temperature period=D refresh=3600 visibility=[weather_temperature_chart_period==3] Chart item=weather_temperature period=3D refresh=10800 visibility=[weather_temperature_chart_period==4] Chart item=weather_temperature period=W refresh=21600 visibility=[weather_temperature_chart_period==5] Chart item=weather_temperature period=M refresh=43200 visibility=[weather_temperature_chart_period==6] Chart item=weather_temperature period=4M refresh=43200 visibility=[weather_temperature_chart_period==7] Chart item=weather_temperature period=Y refresh=86400 visibility=[weather_temperature_chart_period==8] } Text item=weather_temperature_feel valuecolor=[>35="red",>31="maroon",>27="orange",>20="green",>12="teal",>7="olive",>0="navy",<=0="blue"] Text item=weather_temperature_min_max } Frame label="Ciśnienie atmosferyczne" { Group item=weather_pressure label="Ciśnienie [%.0f hPa]" icon="my_pressure" { Switch item=weather_pressure_trend_chart_period mappings=[2="8H",3="1D",4="3D",5="1T",6="1M",7="4M",8="1R"] Chart item=weather_pressure period=8h refresh=3600 visibility=[weather_pressure_trend_chart_period==2] Chart item=weather_pressure period=D refresh=3600 visibility=[weather_pressure_trend_chart_period==3] Chart item=weather_pressure period=3D refresh=10800 visibility=[weather_pressure_trend_chart_period==4] Chart item=weather_pressure period=W refresh=21600 visibility=[weather_pressure_trend_chart_period==5] Chart item=weather_pressure period=M refresh=43200 visibility=[weather_pressure_trend_chart_period==6] Chart item=weather_pressure period=4M refresh=43200 visibility=[weather_pressure_trend_chart_period==7] Chart item=weather_pressure period=Y refresh=86400 visibility=[weather_pressure_trend_chart_period==8] } Text item=weather_pressure_trend } Frame label="Opady" { Group item=weather_clouds valuecolor=[>80="red",>60="maroon",>40="orange",>20="olive",<=20="green"] { Switch item=weather_clouds_chart_period mappings=[3="1D",4="3D",5="1T",6="1M"] Chart item=weather_clouds period=D refresh=3600 visibility=[weather_clouds_chart_period==3] Chart item=weather_clouds period=3D refresh=10800 visibility=[weather_clouds_chart_period==4] Chart item=weather_clouds period=W refresh=21600 visibility=[weather_clouds_chart_period==5] Chart item=weather_clouds period=M refresh=43200 visibility=[weather_clouds_chart_period==6] } Text item=weather_humidity valuecolor=[>80="navy",>60="blue",>40="green",>20="olive",<=20="red"] Text item=weather_rain Text item=weather_snow } Frame label="Wiatr" { Text item=weather_wind_speed Text item=weather_wind_direction } Frame label="Dane z stacje pogodowej z dnia" { Text item=weather_observation_time } } } }
dzięki pomogło skumać logikę, ikony wgrywałeś swoje?
W logach odkryłem problem z Weather:
"2017-11-27 20:09:12.733 [ERROR] [nal.provider.AbstractWeatherProvider] - OPENWEATHERMAP[home]: Can't retreive weather data: Invalid API key.." Mimo to dane są pobierane prawidłowo. Poprosiłem o nowy Api key i wpisałem w weather.cfg. Brak poprawy w logach ale pogoda ciągle działa.
Chyba znalazłem rozwiązanie. W weather.cfg trzeba skonfigurować:
location.home.name=Miasto
lub!!:
location.home.latitude=xxx
location.home.longitude=yyy