OpenHAB - Rejestrac...
 
Powiadomienia
Wyczyść wszystko

OpenHAB - Rejestracja stanów.

60 Wpisów
4 Użytkownicy
5 Likes
10.4 K Wyświetleń
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Trzeba przyznać, że graficznie mistrzostwo świata. Bardzo ładnie się prezentuje. Mi nie zależy na obsłudze z tableta, ale kiedyś może, kto wie...

adri@n, czy przy bazie sql można dodać dwie krzywe na jeden wykres? Użyteczna byłaby wilgotność+załączenia nawilżacza (dwa stany on, off). Będzie widać jak wilgotność spada i jak jest załączany nawilżacz i jak wilgotność rośnie.

 
Dodane : 08/12/2017 8:31 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Maciek

Mam coś nie tak z pogodą...

Zrobię próbę na innym czujniku. Już wszystko ustawiłem na temperaturę i wilgotność. Muszę zebrać dane. HEJ.

Edit. Wszystko działa. Jednak moja pogoda jest wadliwa. Czujnik temperatury i wilgotności poprawnie rejestruje stany.

 

Jeśli masz "zęby" to

  • to może nie masz jeszcze wystarczająco dużo danych, żeby wykres płynnie pokazywał wartości na wykresie
  • druga spraw jak często odczytujesz dane z czujnika. Jeśli np, 5 razy na godzine to to przy zakresie 1H na wykresie będziesz miał 5 pkt. to będzie zębaczyć
  • ja czytam raz na minute u siebie i wtedy pokazuje mniej więcej to
  • tymi 1h, 8h, 4m - zmienasz zakres pokazywania danych na wykresie

 

 
Dodane : 08/12/2017 10:47 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Maciek

adri@n, czy przy bazie sql można dodać dwie krzywe na jeden wykres? Użyteczna byłaby wilgotność+załączenia nawilżacza (dwa stany on, off). Będzie widać jak wilgotność spada i jak jest załączany nawilżacz i jak wilgotność rośnie.

Tak można, tak jak np. w tym wykresie powyżej zielona i czerwona, dwa różne źródła danych. Tylko w tym Twoim przypadku będziesz musiał pokombinować bo Item Switch ma wartości ON i OFF a Ty potrzebujesz liczbę żeby wyświetlić na wykresie.

Więc do zrobienia 2 dodatkowe Items typu Number i reguła która ustawia jego wartości na liczbę jeśli zmienia się wartość ON/OFF

Pewnie coś takiego jak OFF to to Number = 20 jak ON to Number = 80 - ale trzeba by poeksperymentować z tymi wartościami, żeby do dobrze wyglądało. Gdzieś na forum już pisałem jak zrobić dwa wykresy, jak nie znajdziesz to wieczorem napisze

 
Dodane : 08/12/2017 10:56 am
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Tak właśnie myślałem, że to zbyt proste być nie może...

Znalazłem! najpierw zgrupować w *.items a potem w *.sitemap wyświetlić grupę:

Chart item=OutsideTemperaturesComparison period=h refresh=600

Sprawdzę czy uda mi się zamienić to ON/OFF na wartosci liczbowe.

Co do "zębów" to problem mam tylko z pogodą. Tam nadal mam w logu "apikey". Opiszę w odpowiednim wątku jak nie uda mi się naprawić. To może być powiązane.

Inne czujniki zbierają prawidłowo dane i rysują wykresy. Mam już dwa - temperatura i wilgotność w pokoju.

Wracając do SQL. Jak rozumiem wszystkie stany się zapisują. Może tego być bardzo dużo i przepełnić bazę. Jak ograniczyć ilość zbieranych i zapisywanych danych?

 
Dodane : 08/12/2017 12:00 pm
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

moższ ogranicząć co do wybory np. ktore wartości items chcesz rejestrować

tutaj masz to opisane:  https://docs.openhab.org/configuration/persistence.html

Jak masz tak to zbierasz wszystko

Strategies {
default = everyUpdate
}

Items {
* : strategy = everyChange, restoreOnStartup
}
 
Dodane : 08/12/2017 4:16 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 
Dodane przez: adri@n

 /var/lib/mysql/openhab pliki ItemXY.frm?

Czy można się tam dostać przez Sambę? Nie za bardzo mogę znaleźć ten katalog a dużo łatwiej mi się nawiguje / edytuje bez putty.

Niestety nie wiem jakie mam hasło root. To, które ustawiłem przy instalacji openhab mi nie działa w tym katalogu. Żadnego innego hasła nie ustawiałem. Może jest jakieś defaultowe... 

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

nie szukaj już, skoro dane zapisują sie w bazie

 
Dodane : 12/12/2017 10:46 am
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Tak zapisują się i wszystko działa.

Tylko jak na początku zamieszałem to mam kilkadziesiąt wpisów "0 stopni Celsjusza" i chciałem je usunąć aby wykres się odpowiednio wyskalował.

 
Dodane : 12/12/2017 1:25 pm
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

możesz usunąć te dane.

  • potrzebujesz się zalogować do bazy danych mysql znaleźć odpowiednią tabelę i usunąć dane
  • potrzebujesz: hasło to bazy danych na user root
  • nazwę item, którego dane chcesz wyprostować (w przykładzie będzie tempPokoj)

Jedziemy

  • logujesz się do linuxa 
  • linia komend
    • mysql -u root -p
  • podajesz hasło do bazy danych dla użytkownika root
  • use openhab
  • select ItemId from Items where ItemName='tempPokoj';
  • powinieneś dostać numer np 123, używasz go poniżej
  • select * from Item123;
  • jeśli wyświetlą Ci się dane to jesteś w domu
  • teraz możesz usunąć wszystkie dane dla tego item np. delete from Item123;
  • lub wybrane: delete from Items123 where Value='tutaj wartosc';
  • na koniec wpisujesz exit
 
Dodane : 13/12/2017 12:01 am
Maciek reacted
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 
Dodane przez: adri@n
Dodane przez: Maciek

adri@n, czy przy bazie sql można dodać dwie krzywe na jeden wykres? Użyteczna byłaby wilgotność+załączenia nawilżacza (dwa stany on, off). Będzie widać jak wilgotność spada i jak jest załączany nawilżacz i jak wilgotność rośnie.

Tak można, tak jak np. w tym wykresie powyżej zielona i czerwona, dwa różne źródła danych. Tylko w tym Twoim przypadku będziesz musiał pokombinować bo Item Switch ma wartości ON i OFF a Ty potrzebujesz liczbę żeby wyświetlić na wykresie.

Więc do zrobienia 2 dodatkowe Items typu Number i reguła która ustawia jego wartości na liczbę jeśli zmienia się wartość ON/OFF

Pewnie coś takiego jak OFF to to Number = 20 jak ON to Number = 80 - ale trzeba by poeksperymentować z tymi wartościami, żeby do dobrze wyglądało. Gdzieś na forum już pisałem jak zrobić dwa wykresy, jak nie znajdziesz to wieczorem napisze

Proponuję jak poniżej - właśnie testuję i DZIAŁA - zamienia stan OFF na 20 i ON na 80:

*.items:

Switch sonoff_03 "Nawilżacz" <my_humidifier> {mqtt=">[broker:/sonoff/03/cmd:command:ON:ON],>[broker:/sonoff/03/cmd:command:OFF:OFF]"}
Number sonoff_03_adjusted "" <none>
Number sonoff_03_chart_period_adj "" <none>

 *.rules

//Zamiana stanu ON/OFF na liczby aby wyświetlać na wykresie
rule "ON OFF zamiana na liczbby 80 20"
when
Item sonoff_03 changed
then
if (sonoff_03.state==ON) { postUpdate(sonoff_03_adjusted, 80) }
else if (sonoff_03.state==OFF) { postUpdate(sonoff_03_adjusted, 20) }
end
 
Dodane : 17/12/2017 6:59 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Jak złożyć dwa wykresy na jeden?

*.items

Switch sonoff_03 "Nawilżacz" <my_humidifier> {mqtt=">[broker:/sonoff/03/cmd:command:ON:ON],>[broker:/sonoff/03/cmd:command:OFF:OFF]"}

Number sonoff_03_adjusted "Nawilżacz wykres" <my_humidifier>
Number sonoff_03_adjusted_chart_period "" <none>

Number XAIR_humidity "Humidity [%d %%]" <humidity> {channel="miio:basic:4963907a:humidity"}
Number XAIR_humidity_chart_period "" <none>

 

*.sitemap

 Group item=XAIR_humidity label="Wilgotność [%d %%]" valuecolor=[<=40="#cc0033",>40="#1cac78",>60="#7cb9e8"] {
Switch item=XAIR_humidity_chart_period mappings=[0="8H",1="1D",2="1T",3="1M",4="4M",5="1R"]
Chart item=XAIR_humidity period=8h refresh=600 visibility=[XAIR_humidity_chart_period==0]
Chart item=XAIR_humidity period=D refresh=3600 visibility=[XAIR_humidity_chart_period==1]
Chart item=XAIR_humidity period=W refresh=21600 visibility=[XAIR_humidity_chart_period==2]
Chart item=XAIR_humidity period=M refresh=43200 visibility=[XAIR_humidity_chart_period==3]
Chart item=XAIR_humidity period=4M refresh=43200 visibility=[XAIR_humidity_chart_period==4]
Chart item=XAIR_humidity period=Y refresh=86400 visibility=[XAIR_humidity_chart_period==5]
}



Group item=sonoff_03_adjusted {
Switch item=sonoff_03_adjusted_chart_period mappings=[0="8H",1="1D",2="1T",3="1M",4="4M",5="1R"]
Chart item=sonoff_03_adjusted period=8h refresh=600 visibility=[sonoff_03_adjusted_chart_period==0]
Chart item=sonoff_03_adjusted period=D refresh=3600 visibility=[sonoff_03_adjusted_chart_period==1]
Chart item=sonoff_03_adjusted period=W refresh=21600 visibility=[sonoff_03_adjusted_chart_period==2]
Chart item=sonoff_03_adjusted period=M refresh=43200 visibility=[sonoff_03_adjusted_chart_period==3]
Chart item=sonoff_03_adjusted period=4M refresh=43200 visibility=[sonoff_03_adjusted_chart_period==4]
Chart item=sonoff_03_adjusted period=Y refresh=86400 visibility=[sonoff_03_adjusted_chart_period==5]
}

 

 
Dodane : 17/12/2017 7:35 pm
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

No gratuluję @tribon ponownie wygrania Sonoff'a w konkursie na 1.600 wpis 🙂

Adres mam, ale wyślę z opóźnieniem, bo mam trochę wyjazdów w tym tygodniu

pozdrawiam, adrian

 
Dodane : 17/12/2017 9:14 pm
Radek reacted
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

*.items

Group DwaWykresy
Number sonoff_03_adjusted "Nawilżacz wykres" (DwaWykresy)
Number XAIR_humidity "Humidity [%d %%]" (DwaWykresy) {channel="miio:basic:4963907a:humidity"}
Number XAIR_humidity_chart_period ""

*.sitemap

 Group item=XAIR_humidity label="Wilgotność [%d %%]" valuecolor=[<=40="#cc0033",>40="#1cac78",>60="#7cb9e8"] {
Switch item=XAIR_humidity_chart_period mappings=[0="8H",1="1D",2="1T",3="1M",4="4M",5="1R"]
Chart item=DwaWykresy period=8h refresh=600 visibility=[XAIR_humidity_chart_period==0]
Chart item=DwaWykresy period=D refresh=3600 visibility=[XAIR_humidity_chart_period==1]
Chart item=DwaWykresy period=W refresh=21600 visibility=[XAIR_humidity_chart_period==2]
Chart item=DwaWykresy period=M refresh=43200 visibility=[XAIR_humidity_chart_period==3]
Chart item=DwaWykresy period=4M refresh=43200 visibility=[XAIR_humidity_chart_period==4]
Chart item=DwaWykresy period=Y refresh=86400 visibility=[XAIR_humidity_chart_period==5]
}


wydaje mi się, że tę regułę trzeba będzie jeszcze zmienić

  • nie jestem pewien czy postUpdate - powoduje zapisanie danych w bazie poniżej jest użyte sendCommand gdyby postUpdate nie zapisywał
  • i robię jeszcze dodatkowy wpis żebyś nie miał takiego wykresu (nie wiem jak to tutaj narysować) - /\/\ a bardziej coś takiego |_|  
//Zamiana stanu ON/OFF na liczby aby wyświetlać na wykresie
rule "ON OFF zamiana na liczbby 80 20"
when
Item sonoff_03 changed
then
if (sonoff_03.state==ON) {
sendCommand(sonoff_03_adjusted, 20.1)
sendCommand(sonoff_03_adjusted, 80)
} else {
sendCommand(sonoff_03_adjusted, 79.9)
sendCommand(sonoff_03_adjusted, 20)
}
end


Pokaż jak zacznie Ci coś generować - ciekawy jestem jak to będzie działać

 
Dodane : 17/12/2017 10:02 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Cześć, No właśnie zacząłem zbierać dane od wczoraj i zauważyłem dziś ten problem z wykresem w kształcie piły /\.Wymyśliłem podobne rozwiązanie. Wchodzę na forum i jest opisane. Dzięki.

Co do "postUpdate" to działa.

"DwaWykresy" potestuję wieczorem i dam znać. Wydaje mi się, że dokładnie tak robiłem i nie działało mi wczoraj stąd mój wpis. Jak rozumiem komenda "Group DwaWykresy" może być na początku pliku *.items a (DwaWykresy) rozsiane po pliku. Chodzi mi o to, że nie muszą być "items" linia pod linią w jednym miejscu pliku? Ja też używałem "_" w nazwie grupy.

Jak można dodawać zdjęcia do wpisu? Załączyć mogę tylko jeden plik i nie jest wtedy wyświetlany w treści. Czy trzeba używać zewnętrznych serwisów hostujących pliki?

 

 
Dodane : 18/12/2017 8:34 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 
Dodane przez: Maciek

 

Jak można dodawać zdjęcia do wpisu? Załączyć mogę tylko jeden plik i nie jest wtedy wyświetlany w treści. Czy trzeba używać zewnętrznych serwisów hostujących pliki?

 

Powinienes mieć i góry strony + Dodaj -> Medium, a później po wgraniu zdjęcia wystarczy wkleić link

 
Dodane : 18/12/2017 8:37 am
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

 Nie widzę. W tej sekcji "Odpowiedz" gdzie teraz piszę czy na samej górze strony? Tam mam: Artykuły, Mój profil, Wyloguj się

 
Dodane : 18/12/2017 9:05 am
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Poszła aktualizacja aplikacji openhab na android i teraz wykresy wyglądają z d..y. Tak jakby fonty były za duże i linie za grube.

Screenshot 2017 12 19 09 25 21 resized
 
Jeszcze pozmieniam zakresy nawilżacza na 40-60 aby to ładniej wyglądało i było trochę bardziej widoczne. Przy okazji wyznaczy to zakres wskazanego poziomu wilgotności.
 
Dodane : 19/12/2017 10:34 am
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

daj znać jakie inne problemy znajdziesz w OH 2.2, ja się w takim razie na chwilę wstrzymam 😉

 
Dodane : 19/12/2017 6:12 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 

Napisałem o problemie po aktualizacji apki na androida. Na starej apce i OpenHab 2.2 było wszystko OK.

 

Niestety ciągle mam wykres w /\/\ Tak jakby nie rejestrował dwóch stanów wpisanych pod rząd...

 
Dodane : 20/12/2017 11:14 pm
(@tribon)
Wpisów: 222
Weteran Donator 2K17
Autor tematu
 
Dodane przez: adri@n

możesz usunąć te dane.

  • lub wybrane: delete from Item151 where Value='2017-12-28';
  • na koniec wpisujesz exit

Mam pytanie czy można usunąć dane przed określoną wartością?

Próbuję usunąć cały dzień za pomocą: delete from Item151 where Value='2017-12-28';

Otrzymuję: Query OK, 0 rows affected, 1 warning (0.01 sec) Nic nie zostało usunięte.

To samo jeśli próbowałem usunąć pojedynczy wpis: delete from Item151 where Value='2017-12-28 15:30:59';

 

 
Dodane : 30/12/2017 6:51 pm
Strona 2 / 3
Udostępnij: