Jak zrobić w openHA...
 
Powiadomienia
Wyczyść wszystko

[Zamknięty] Jak zrobić w openHAB, kilka pytań

51 Wpisów
12 Użytkownicy
2 Reactions
16.4 K Wyświetleń
(@booster)
Wpisów: 234
Weteran
Autor tematu
 

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
 
Dodane : 12/07/2017 9:24 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)

 

  • 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

 
Dodane : 12/07/2017 9:56 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)
  • 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"}
 
Dodane : 12/07/2017 10:10 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)
  • 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" }



 

 
Dodane : 12/07/2017 10:13 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)
  • Obecność osób, liczysz to po GPS ? Kamery? czujniki?

Tutaj napisałem jak to zrobiłem u siebie: GPS + OwnTracks + Smartfon + MQTT 

 
Dodane : 12/07/2017 10:16 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)
  • Detekcja ruchu czym to rozwiązałeś ??

Czujniki ruch z-wave które wysyłają do openHAB info jak wykryją ruch

 
Dodane : 12/07/2017 10:17 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)

 

  • 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

 

 
Dodane : 12/07/2017 10:41 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Booster B (Booster)
  •  Czy i jak się łączycie z zew domu?? po koncie openhab czy VPN
 
Dodane : 12/07/2017 10:47 am
(@tribon)
Wpisów: 222
Weteran Donator 2K17
 

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...

 
Dodane : 09/11/2017 11:25 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: tribon

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

 

 
Dodane : 09/11/2017 9:18 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 

 

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ę

 
Dodane : 09/11/2017 9:26 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
 

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%

 
Dodane : 09/11/2017 11:24 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
 

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.

 
Dodane : 10/11/2017 12:15 am
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 

zobacz czy masz ustawione Bitmap w PaperUI: Configuration : Services : UI : ClassicUI

 
Dodane : 10/11/2017 1:00 am
(@tribon)
Wpisów: 222
Weteran Donator 2K17
 

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...

 
Dodane : 12/11/2017 9:15 pm
(@lukasz)
Wpisów: 5
Bywalec
 

hej

Wiem że tamat już trochę ma ale czy mógłbyś wrzucić jeszcze wycinek pliku sitemap dotyczący pogody?

 
Dodane : 25/11/2017 4:07 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Lukasz

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
        	}
        }

    }
}

 

 
Dodane : 26/11/2017 8:01 pm
(@lukasz)
Wpisów: 5
Bywalec
 

dzięki pomogło skumać logikę, ikony wgrywałeś swoje?

 
Dodane : 27/11/2017 5:07 pm
adrian
(@adrian)
Wpisów: 4033
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@Lukasz, tak swoje. tutaj

 
Dodane : 27/11/2017 6:32 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
 

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
 
Dodane : 27/11/2017 8:20 pm
Strona 1 / 3
Udostępnij: