Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

thermostat grzejnikowy Spirit z-wave plus


tz165
 Share

Question

Pozdrawiam i proszę o pomoc.

Zakupiłem termostat jak w tytule do sterowania grzejnikiem w pokoju który jest poza innymi strefami sterowanymi z pieca c.o.

W piecu zainstalowałem realy switch fibaro który ma dać sygnał o potrzebie grzania. Ta część działa bez zarzutu.

Niestety nie potrafię z termostatu wyciągnąć informacji że właśnie termostat się otwiera i trzeba podać ciepło.

Jeżeli chcę napisać scenę bloczkową na tę okoliczność to mam do wyboru tylko sygnał z czujnika temperatury pomieszczenia który znajduje się w termostacie 

Nie ma możliwości napisania sceny jeżeli termostat otwary --> to podaj ciepło. Jeżeli zamknięty to --> to wyłącz piec (switch)

Jak to można zrobić?

Please login or register to see this image.

/monthly_2018_03/P1.PNG.253e530e90839e50c94f3599854da12f.PNG" alt="P1.PNG.253e530e90839e50c94f3599854da12f.PNG" />

Please login or register to see this attachment.

 

w zakładce on/off są 4 tryby:

max, grzanie, grzanie oszczędne, off

niestety nie można z tej zakładki skorzystać w warunku "jeżeli"sceny bloczkowej,

pojawia się ona dopiero w warunku "to" czyli wykonawczym

w warunku jeżeli występuję tylko warunek z temperaturą 

tryb config ustawia tylko temperatury dla grzania i grzania oszędnego

Kolejny to problem to bark odświeżania się temperatury , to chyba jakiś błąd w HC2, temperatura odświeża się tylko po ręcznym odczytaniu konfiguracji

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 1

Bez zaglądania w kod mogę zaproponować:
1. połączyć przycisk on i off w jeden.

2. info o zmiennej g1 wyciągnąć do tego niebieskiego czy zielonego paska na dole. To się chyba nazywa log.

3. dorobić zmienę ikony w zależności czy jest włączone, czy wyłączone (nie pamietam jak się to robiło, jeszcze tego nie pisałem, widziałem tylko na forum, jak ktoś to opisywał).

 

PS. Można zrobić obejście kwestii 3... ale odpuszczę sobie opis, bo uważam, że to bez sensu, robi śmietnik w VD. Jak będzie ktoś bardzo prosił to opiszę, ale i tak uważam, że to zły pomysł.

Edited by pogo
  • Thanks 1
Link to comment
Share on other sites

  • 1

Widzę że kolega @pogo był szybszy, ale podobny własnie miałem pomysł.

Kwestia zmiennej g1, rozumiem że plan jest żeby obserwować zmienną cały czas, i dlatego się nie nadaje na pasek. W pasku informacyjnym pod komendą fibaro:log pojawia się tylko tekst i tylko chwilę po nacisnięciu przycisku.

 

Więc mamy założenia:

1. Urządzenie wirtualne ma zmieniać wartość (predefiniowanej)zmiennej Sypialnia TJ

2. Ma informować o wartości zmiennej Sypialnia TJ

3. Ma informować o wartości zmiennej g1

 

Dodatkowo, przyjąłem że zmienną Sypialnia TJ, przestawia TYLKO urządzenie wirtualne i nic innego.

 

Więc:

1. Robimy przycisk w urządzeniu wirtualnym który zmienia stan zmiennej na przeciwny - założenie 1 spełnione

2. W momencie przestawiania zmiennej przyciskiem z pkt 1. zmieniamy ikonę VD, by informowała czy zmienna jest ON czy Off - założenia 2 spełnione

3. w pętli głownej VD wpisujemy kod sprawdzający stan zmiennej g1 i wpisujący ją do etykiety głównej - założenie 3 spełnione

 

Tak więc, robimy VD z jednym przyciskiem i jedną etykietą, oba elementy ustawiamy jako główne. Założenie 1 i 2 wykonane.

 

Kod przycisku (LUA):

Please login or register to see this code.

Odnośnie ikon.

Trzeba sobie przypisać konkretną ikonę VD. Fibaro grupuje ikony w zbiory, tak że ikony ze zbioru "device" lub "scenes" nie można przypisać do urządzenia wirtualnego. 

Najlepiej jest sobie znaleźć jakieś dwie ikony reprezentujące ON i OFF i wczytać je do fibaro (otwieramy jakiekolwiek urządzenie wirtualne i zmieniamy ikonę na własną).

Potem wysyłamy zapytanie do API o zbiór ikon: 

Please login or register to see this code.

xxx.xxx.xxx.xxx to IP centrealki.

Centralka zwraca plik json z lista ikon i ich ID

 

Można też wejść na http://xxx.xxx.xxx.xxx/docs do dokumentacji REST API i wybrać pozycję "icons" i "try it". Centralka zwróci listę ikon. Trzeba przewinąć do zbioru "virtualDevice" i znależc id ikon. Jeżeli były dodane jako ostatnie, będzie to największe id

 

Oprócz przycisku, wpisujemy tez kod w pętli głównej który się wykonuje co sekundę i sprawdza na wartość zmiennej g1 i wpisuje ją w etykietę główną: założenie 3 wykonane ;)

 

Kod pętli głównej:

Please login or register to see this code.

i generalnie to tyle.

Jest VD z jednym przyciskiem i bez rozwijania widać to co trzeba

 

Uwaga: Jeżeli zmienna sypialnia TJ może być zmieniona przez coś innego niż nasze VD, trzeba by przenieść kod zmieniający ikonę z przycisku do pętli głównej, nie jest to zrobione od samego początku z powodu oszczędności procesora.

 

W załączniku gotowe urządzenie.

 

Kilka uwag do twojego urządzenia @tz165:

- Jeżeli kod przycisku to lua czyli jest wykonywany wewnętrznie, na silniku lua, a nie na warstwie API (np. Net.FHttp), nie ma potrzeby podawania autoryzacji

- w pętli głównej, kod się uruchamia sam co sekundę, tak że zatrzymanie procesu (fibaro:sleep) jest obciążeniem procesora. Bez tego proces się sam zakończy po kilku milisekundach i nie ma sensu go pauzować, zwłaszcza że nie ma nic do wykonania po komendzie sleep.

 

Mam nadzieję że VD będzie teraz działać :)

Please login or register to see this attachment.

  • Thanks 2
Link to comment
Share on other sites

  • 0

No więc tak, nie znam tego termostatu i nie wiem co można z niego wyciągnąć... ale:

 

On 10/3/2018 at 2:48 PM, tz165 said:

Nie ma możliwości napisania sceny jeżeli termostat otwary --> to podaj ciepło. Jeżeli zamknięty to --> to wyłącz piec (switch)

 

to tak prosto nie działa. Z tego co widać w instrukcji, termostat ma wbudowany regulator PI lub PID, tak że nie jest tylko otwarty/zamknięty ale może się ustawiać na wszystko pomiędzy od 0 do 100% otwarcia. wszystko zależy od temperatury zadanej i temperatury pomieszczenia.

Ja bym zrobił prostą scenę na temperaturach. Trzeba pobrać temperaturę zadaną np. Tz, temperaturę pomieszczenia Tp i ustawić zależności: Tz>Tp=włącz switch, i  Tz<=Tp=wyłącz switch. Można zrobić jeszcze opóźnienie wyłączania pieca, lub histerezę żeby działało stabilnie.

 

On 10/3/2018 at 2:48 PM, tz165 said:

Niestety nie potrafię z termostatu wyciągnąć informacji że właśnie termostat się otwiera i trzeba podać ciepło

 

Wyłączone w ustawieniach, patrz parametr 6 (instrukcja termostatu). Trzeba opcję włączyć w ustawieniach zaawansowanych.

 

On 10/3/2018 at 2:48 PM, tz165 said:

Kolejny to problem to bark odświeżania się temperatury , to chyba jakiś błąd w HC2, temperatura odświeża się tylko po ręcznym odczytaniu konfiguracji

 

W standardowych ustawieniach, termostat raportuje temperaturę gdy ona się zmieni o 0,5 stopnia. Można przestawić na większą czułość w parametrach.

 

On 10/3/2018 at 2:48 PM, tz165 said:

w zakładce on/off są 4 tryby:

max, grzanie, grzanie oszczędne, off

niestety nie można z tej zakładki skorzystać w warunku "jeżeli"sceny bloczkowej,

pojawia się ona dopiero w warunku "to" czyli wykonawczym

w warunku jeżeli występuję tylko warunek z temperaturą 

tryb config ustawia tylko temperatury dla grzania i grzania oszędnego

 

 

Generalnie w bloczkach to dużo rzeczy się nie da. Trzeba to zrobić w lua.

Żeby w prosty sposób sprawdzić co można ściągnąć z termostatu, utwórz sobie nową scenę lua i wpisz taki kod:

 

Please login or register to see this code.

Wstaw kursor tam gdzie tekst TUTAJ_KURSOR (skasuj tekst), a potem najedź myszką na listę pokoi po lewej stronie. Lista sie rozwinie na urządzenia i przy każdym urządzeniu będziesz podzielonych na właściwości i akcje. Właściwości, to wszystkie parametry z których możesz urządzenie wyspowiadać, np. temperatura zadana, temperatura pokoju, pozycja termostatu, tryb grzanie, oszczedzanie itp. 

W akcjach jest lista komend które możesz wykonać na urządzeniu, np. zmienić temperaturę zadaną, wyłączyć itp.

No więc, najedź i kliknij na którąś komendę z właściwości (np. value) . Fibaro samo wpisze kod do sceny, tam gdzie stoi kursor. Zapisz scenę i kliknij start. W oknie debug system ci poda wartość tej właściwości podanej przez urządzenie

Na przykład tu masz kod do stanu bateri z czujnika ruchu u mnie:

 

Please login or register to see this code.

 

Jak sobie sprawdzisz jedną komendę, możesz skasować tekst wpisany automatycznie przez fibaro, czyli  fibaro:getValue(ID_urzadzenia, "parametr") i najechać znowu kursorem na rozwijane listy z urządzeniami i spróbować innych parametrów.

 

Jak już znajdziesz co potrzebujesz, to napisz sobie sceną w bloczkach, tylko zamiast tych urządzeń których nie możesz uzyć w bloczkach, wybierz jakieś inne tymczasowo. Potem zapisz scenę, zamień na lua i znajdź w kodzie twoje tymczasowe urządzenia, i zamień je na te właściwe, najeżdżając na listy rozwijane i wybierają właściwy parametr.

 

Pamiętaj tylko że w związku logicznym, po "if" ale przed "then" mogą być tylko parametry z właściwości (czyli "wejścia"), a po "then" komendy ("wyjścia"). Czyli:

 

Please login or register to see this code.

 

Mam nadzieję że rozjaśniłem trochę temat.  

 

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 0
  • Inquirer
  • Zamieszczam sceny które napisałem dzięki nieocenionej pomocy  [email protected] ;D    do sterowania  głowicą termostatyczną Spirit.

    Przypomnę że problem polegał na tym ze w oparciu o oferowane na bloczkach możliwości nie byłem w stanie napisać warunku :

    "jeżeli temperatura zadana < od temperatury aktualnej to..."

    w poniższych scenach:

    327 to termostat znajdujący się w głowicy który odczytuje aktualną temperaturę

    326 to oryginalny panel Spirit-a z którego odczytuję temperaturę zadaną ustawioną wcześniej przez harmonogram dla strefy

     

    Scena załączająca grzejnik - mode grzanie

     

    Please login or register to see this attachment.

    dodatkowo sprawdzane są inne warunki np. czy alarm jest uzbrojony i czy ktoś jest w domu

    w wyniku załączany jest grzejnik i zmienna g1 na ON - używana  do sterowania załączeniem pieca o ile inne strefy

    go nie załączyły. Miałem problem z odczytem temperatury aktualnej z pomieszczenia z głowicy. Przy ustawieniu

    domyślnym na dokładność 0.5C głowica nie wysyłała zmian temperatury do centrali.

    Dopiero gdy dokładność przestawiłem na 0.1C temperatura zaczęła się odświeżać prawidłowo. Nie wiem gdzie 

    jest błąd? Z tego powodu w warunku  porównania tych temperatur ustawiona jest dodatkowo histereza +/-0.5C

     

    To jest scena odwrotna - na wyłączenie grzania - grzejnik na OFF

     

    Przechwytywanie1.PNG.d1fd5cd504dae12bb895da60b6afbe03.PNG

     

     

     

    Ta scena załącza piec na podstawie zmiennej g1 oraz sprawdza czy jest sezon grzewczy - zmienna Lato , również ustawiana dzięki pomocy kolegi [email protected]:D

     

     

    Przechwytywanie2.PNG.e094c074a715c4ef03f5121febb6e4c1.PNG

     

    To jest scena odwrotna

     

    Przechwytywanie3.PNG.83bff6bf40814e462cb20a0ccba6f4a8.PNG

     

    Jeszcze raz podkreślam, że nie mam żadnego doświadczenia w LUA i tylko dzięki bardzo 

    przejrzystym wskazówkom [email protected] udało mi się coś napisać i trochę się nauczyć. 

    Pozdrawiam :D

    • Like 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Kontynuując ten temat stworzyłem urządzenie wirtualne z 2 przyciskami tak aby z poziomu centralki załączać ogrzewanie 

    w pokojach w których nocują goście a normalnie nie są używane.

    Please login or register to see this image.

    /monthly_2018_03/Przechwytywanie.PNG.004e9a907606d576fd286d4b2c7b0dcf.PNG" alt="Przechwytywanie.PNG.004e9a907606d576fd286d4b2c7b0dcf.PNG" />

     

    po rozwinięciu to wygląda tak

     

    Przechwytywanie1.PNG.072cf5eb6e8664b57b9dbe53a235dca4.PNG 

     

    Trochę mnie irytuje że ikona zajmuje sporo miejsca w panelu a i tak trzeba ją dodatkowo

    rozwijać aby wcisnąć ON/OFF czy zobaczyć wartość parametru g1

    Czy można tak napisać takie VD aby przyciski on/off i dodatkowe informacje były na wierzchu?

    Pewnie można, ale gdzie szukać informacji na ten temat?

     

     

    • Like 1
    Link to comment
    Share on other sites

    • 0

    Cieszę się że mogłem pomóc.

    Co do VD i rozwijania, podaj kod VD (eksportuj do pliku załącz tutaj) albo zrób zrzuty, może coś wymyślimy.. :)

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • W załączniku moje VD. ;)

     

    PS. Mam też problem z odświeżaniem odczytu temperatur z czujników. czasami się zawieszają.

    Zauważyłem że odczyt konfiguracji je wzbudza. czy można jakoś budzić takie urządzenia

    sukcesywnie aby cały czas mieć aktualna temperaturę? Czy nie zapcha to centrali?

    Boję się o to zapychanie ponieważ zanim przesiadłem się na HC2 2 lata walczyłem z HCL.

     

    Please login or register to see this attachment.

     

     

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Super. Działa. I dostałem gotowca. :D;D.  Wielkie dzięki panowie.

     

    A czy na moje PS coś możecie powiedzieć

    PS. Mam też problem z odświeżaniem odczytu temperatur z czujników. czasami się zawieszają.

    Zauważyłem że odczyt konfiguracji je wzbudza. czy można jakoś budzić takie urządzenia

    sukcesywnie aby cały czas mieć aktualna temperaturę i jasność np?

    Czy nie zapcha to centrali?

    Boję się o to zapychanie ponieważ zanim przesiadłem się na HC2 2 lata walczyłem z HCL.

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Please login or register to see this image.

    /monthly_2018_04/Przechwytywanie.PNG.08e6a52bfc21cfbb8a223c6a8fa0cfaa.PNG" alt="Przechwytywanie.PNG.08e6a52bfc21cfbb8a223c6a8fa0cfaa.PNG" />

     

    Udało mi się w jednej linii zmieścić więcej informacji ;) .  stan przycisku, załączenie grzejnika g1 i g3

    Mam tylko problem z zapisem spacji aby uzyskać większe przerwy.

    dzięki @jires: Twoje uwagi bezcenne.

    • Like 1
    Link to comment
    Share on other sites

    • 0
    20 hours ago, tz165 said:

    Please login or register to see this link.

     

    Udało mi się w jednej linii zmieścić więcej informacji ;) .  stan przycisku, załączenie grzejnika g1 i g3

    Mam tylko problem z zapisem spacji aby uzyskać większe przerwy.

    dzięki @jires: Twoje uwagi bezcenne.

    Po prostu wstaw spację i łacznik tekstu.

    Zamiast 

    Please login or register to see this code.

    To cos w tym stylu

    Please login or register to see this code.

     

    21 hours ago, tz165 said:

    Mam też problem z odświeżaniem odczytu temperatur z czujników. czasami się zawieszają.

    Zauważyłem że odczyt konfiguracji je wzbudza. czy można jakoś budzić takie urządzenia

    sukcesywnie aby cały czas mieć aktualna temperaturę i jasność np?

    Czy nie zapcha to centrali?

    Boję się o to zapychanie ponieważ zanim przesiadłem się na HC2 2 lata walczyłem z HCL.

    Mozesz ustawić interwal odpytywania w zaawansowanych ustawieniach urzadzenia, pewnie jest na 0. Jezeli nie chcesz zeby fibaro pamietalo temperaturę, odhacz opcje "zapisuj do pamieci zdarzen".

    A czy to zapycha jak jest w pamieci zdarzen? W jakis sposob zawsze tak. W centreali jest miejsce na ponad 10 tys. wpisów i to miejsce sie kiedys skonczy.

    U mnie wszystko raportuje i zapisuje do centreali, tak ze na panelu energi mam tylko ostatnie dwa miesiace bo wiecej sie nie miesci, ale HC2 nie dziala przez to wolniej lub cos w tym stylu.

    • Thanks 1
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Nie wszystkie termostaty mają możliwość ustawienia takiego interwału, przynajmniej z poziomu panelu ustawień zaawansowanych. :)

    Jeszcze jedna kwestia w tym temacie.

    Jeżeli mam to samo urządzenie do ogrzewania i chłodzenia pokoju (klimakonwektor) to jak mam ustawić to w panelu ogrzewania i panelu klimatyzacji.

    Czy ustawione tam temperatury nie będą w konflikcie? jak rozdzielić to tak aby zimą temperatury były brane z panelu ogrzewania a latem z panelu klimatyzacji.

    Link to comment
    Share on other sites

    • 0

    Witam,

     

    Odświeżę trochę temat. Zakupiłem termostaty i aktualnie przymierzam się do konfiguracji.

    Zrobiony mam harmonogram i tak się zastanawiam czy nie da się tego co jest tu opisane zrobić na zasadzie powiązań?

    Drugie pytanie to czy da się wyciągnąć z HEAT Controllera informację że się otworzył?

    Wtedy najlepiej chyba załączyć piec. Oczywiście w LUA bo inaczej chyba się nie da.

     

    Mam coś takiego dla jednego termostatu:

     

    --[[
    %% properties
    58 value
    215 operatingMode
    %% weather
    %% events
    %% globals
    --]]

    local startSource = fibaro:getSourceTrigger();
    if (
     ( tostring(fibaro:getValue(215, "operatingMode")) == "1"  
    and  tonumber(fibaro:getValue(58, "value")) == 0 )
    or
    startSource["type"] == "other"
    )
    then
        fibaro:call(58, "turnOn");
    end
     

    Edited by [email protected]
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

     Share

    ×
    ×
    • Create New...