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

Włącz/wyłącz tryb wakacje


fobos

Question

Czy ktoś próbował włączać i wyłączać tryb wakacje w panelu ogrzewania za pomocą sceny ?

Wyjeżdżam na 2 tygodnie, to sobie włączam tryb wakacje, a by przed powrotem nie musieć pamiętać o włączeniu ogrzewania, przed wyjazdem piszę sobie scenę:

"dzień przed przed powrotem wyłącz tryb wakacje"

Myślę, że tak samo fajnie byłoby sterować scenami trybem ręcznym ogrzewania.

Tylko jak to zrobić ?

  • Like 1
Link to comment
Share on other sites

Recommended Posts

  • 0
Guest sztywniak

Zamiast idów stref wrzuć zmienną a całość zawrzyj w pętli

Link to comment
Share on other sites

  • 0

Panowie, moglby ktos napisac jak to zrobic na wszystkich strefach?

2 requesty jeden po drugim w jednym przycisku nie ida... json tez nie dziala nie wiedziec czemu...

Link to comment
Share on other sites

  • 0
Guest sztywniak

spróbuj użyć biblioteki Krikrofa do pobierania danych zamiast wbudowanej i zamykaj za każdym razem połączenie

Link to comment
Share on other sites

  • 0

a tu przykład dla trybu wakacji 0 - wyłączony tryb wakacji >0 włącz tryb wakacji i ustaw na taką temperaturę

Please login or register to see this code.

Mam pytanie.

Wykorzystałem ten skrypt do zrobienia wirtualki z dwoma przyciskami. Jeden przycisk włącza tryb wakacje dla strefy, drugi wyłącza. Działa jak ręcznie naciskam przyciski urządzenia.

Ale jakoś nie mogę poradzić sobie z wywołaniem tych przycisków w scenie.

próbuję fibaro:call(, 'pressButton, '') ale nie działa.

Nie kumam jak mam wydobyć id buttona. U mnie w urządzeniu przycisk ma identyfikator button11. Czyli jego id to "11" czy może "button11"?

EDIT:

Także tego... sobie poradziłem sam

Please login or register to see this image.

/emoticons/default_icon_smile.gif" alt=":-)" /> Jeśli urządzenie ma dwa przyciski, ich ID to po prostu 1 i 2

Please login or register to see this image.

/emoticons/default_icon_redface.gif" alt=":oops:" />

Nie widzę nigdzie możliwości skasowania posta...

Link to comment
Share on other sites

  • 0
Dzięki, wszystko jasne ale jak zmodyfikować skrypt żeby zmienił od razu dla 2 lub 3 lub 4 stref jednocześnie ?
Zamiast idów stref wrzuć zmienną a całość zawrzyj w pętli

A mógłbyś to pokazać jakoś z grubsza?

Nie bardzo wiem jak za to się zabrać. W tej instalacji mam 3 strefy i 3 urządzenia.

Uruchamiam to w scenie każdy button osobno ale przy większej ilości stref może to być uciążliwe...

BTW:

Pierwszy 1000 postów pękł! Gratulacje!

Please login or register to see this image.

/emoticons/default_icon_biggrin.gif" alt=":-D" />

Link to comment
Share on other sites

  • 0
Guest sztywniak

A mógłbyś to pokazać jakoś z grubsza?

Nie bardzo wiem jak za to się zabrać. W tej instalacji mam 3 strefy i 3 urządzenia.

Uruchamiam to w scenie każdy button osobno ale przy większej ilości stref może to być uciążliwe...

żeby ustawić cos w strefie ogrzewania to wysyłasz coś pod "/api/panels/heating?id=1"

Nie wiem jaką metodą wysyłasz ale zrób tak:

załóż tablicę z ID-ami stref:

strefy={1,3,5,9,14}

wysyłanie ubierz w pętlę

for i = 1, #strefy do

tu polecenia wysyłające zmiany w strefie np : "/api/panels/heating?id="..strefy

end

to spowoduje że zostanie to wysłane do każdej strefy z tablicy "strefy".

BTW:

Pierwszy 1000 postów pękł! Gratulacje!

Please login or register to see this image.

/emoticons/default_icon_biggrin.gif" alt=":-D" />

dziękuję, ciekawe jaką whiskey za to dostanę i czy to będzie od centrali czy od oddziałów

Please login or register to see this image.

/emoticons/default_icon_wink.gif" alt=";-)" />

Zaraz z tej okazji coś ciekawego opublikuje.

Link to comment
Share on other sites

  • 0

Chyba jestem na to za słaby

Please login or register to see this image.

/emoticons/default_smile.png" alt=":)" srcset="https://forum.fibaro.com/uploads/emoticons/[email protected] 2x" width="20" height="20" />

Używam tego ale nie udało mi się zmodyfikować wg Twojej rady, tak żeby działało

Please login or register to see this image.

/emoticons/default_smile.png" alt=":)" srcset="https://forum.fibaro.com/uploads/emoticons/[email protected] 2x" width="20" height="20" />

Please login or register to see this code.

[ Dodano: 2014-11-17, 21:45 ]

Mam mały problem.

Opisaną w wątku metodą wyszukałem sobie zmienne jakie należy podstawić żeby uzyskać to samo, tylko dla "trybu ręcznego".

Są to

handTemperature - tu nie ma problemu, podstawiam temperaturę i gotowe.

handTimestamp - tu mam zonk. Jeśli dobrze rozumiem, to ten parametr nie określa ilości czasu jaka ma upłynąć, tylko konkretną godzinę wyłączenia trybu ręcznego i dopiero na tej podstawie centrala podaje czas do wyłączenia.

To oznacza że nie mogę sobie podstawić w wirtualce jakiegoś konkretnego czasu

Please login or register to see this image.

/emoticons/default_sad.png" alt=":(" srcset="https://forum.fibaro.com/uploads/emoticons/[email protected] 2x" width="20" height="20" />

Ktoś widzi rozwiązanie?

I jeszcze jedno, czy w kodach przycisków (lub głównej pętli) urządzeń wirtualnych mogę używać zmiennych globalnych? Jak?

Link to comment
Share on other sites

  • 0
Guest _AreK_

HC2 = Net.FHttp("192.168.178.40",80)

HC2:setBasicAuthentication("admin", "admin")

-- pobierz harmonogram

response ,status, errorCode = HC2:GET("/api/panels/heating?id=10")

jsonTable = json.decode(response)

-- zmodyfikuj tabelę w Lua

jsonTable.properties.vacationTemperature = 12;

-- wyślij z powrotem

json = json.encode(jsonTable);

HC2:PUT("/api/panels/heating?id=10", json)

fibaro:log("ready")

[ERROR] 22:00:13: line 7: attempt to call field 'decode' (a nil value)

Panowie o co chodzi co jest żle?

Dodatkowo czy jak powtorze ten moduł jeden pod drugim kilka razy zmieniajac tylko id strefy czy to zadziała.

-- pobierz harmonogram

response ,status, errorCode = HC2:GET("/api/panels/heating?id=10")

jsonTable = json.decode(response)

-- zmodyfikuj tabelę w Lua

jsonTable.properties.vacationTemperature = 12;

-- wyślij z powrotem

json = json.encode(jsonTable);

HC2:PUT("/api/panels/heating?id=10", json)

fibaro:log("ready")

Pozdro

Arek

Link to comment
Share on other sites

  • 0

Czasami przy metodzie kopiuj/wklej wpadają jakieś śmieci. Pewnie elementy formatowania czy coś.

Skasuj tą linię i wprowadź od nowa "z palca".

W ostateczności cały kod. U mnie pomagało.

Ja do każdej strefy robię osobną wirtualkę i potem jedną sceną naciskam buttony na wszystkich przyciskach stref

Please login or register to see this image.

/emoticons/default_smile.png" alt=":)" srcset="https://forum.fibaro.com/uploads/emoticons/[email protected] 2x" width="20" height="20" />

Link to comment
Share on other sites

  • 0
Guest _AreK_
Czasami przy metodzie kopiuj/wklej wpadają jakieś śmieci. Pewnie elementy formatowania czy coś.

Skasuj tą linię i wprowadź od nowa "z palca".

W ostateczności cały kod. U mnie pomagało.

Ja do każdej strefy robię osobną wirtualkę i potem jedną sceną naciskam buttony na wszystkich przyciskach stref

Please login or register to see this image.

/emoticons/default_smile.png" alt=":)" srcset="https://forum.fibaro.com/uploads/emoticons/[email protected] 2x" width="20" height="20" />

Czy jeżeli wykonuję programowanie przycisku wirtualnego i uruchamiam go przez dostęp zdalny to ma to jakieś znaczenie?

Link to comment
Share on other sites

  • 0
Guest sztywniak

to nie ma znaczenia

ten komunikat mówi o tym że w wyniku zostało zwrócone NULL czyli nic.

Sprawdź sobie w oknie debug co jest w statusie polecenia GET

fibaro:debug(status)

a później response.

Może zły ID strefy podajesz

Link to comment
Share on other sites

  • 0
Guest _AreK_

Byłeś szybszy ode mnie

Please login or register to see this image.

/emoticons/default_icon_smile.gif" alt=":-)" />

ID strefy jest ok sprawdzałem sposobem podanym wcześniej w przeglądarce Chrome.

to co mi wyświetla

[DEBUG] 23:14:25: 200

po wykonaniu tego:

HC2=Net.FHttp("192.168.178.40",80)

HC2:setBasicAuthentication("admin","admin")

-- pobierz harmonogram

response,status,errorCode=HC2:GET("/api/panels/heating?id=10")

fibaro:debug(status)

Link to comment
Share on other sites

  • 0
Guest _AreK_
a co Ci wyświetla fibaro:debug(response) ?

[DEBUG] 23:23:26: {"id":10,"name":"Flur OG","properties":{"monday":{"morning":{"hour":6,"minute":30,"temperature":22},"day":{"hour":23,"minute":55,"temperature":18},"evening":{"hour":18,"minute":0,"temperature":0},"night":{"hour":0,"minute":0,"temperature":0}},"tuesday":{"mornin

itd. cały harmonogram troche tego jest dlatego wkleiłem tylko początek.

Chyba zaraz pomoge sobie jakims drinkiem bo mi się już głowa pali

Please login or register to see this image.

/emoticons/default_icon_smile.gif" alt=":-)" />

Nie wiem czy to ma jakieś znaczenie ale na końcu niektórych linijek kodu są średniki a w niektórych nie ma. Może to o to chodzi tylo pytanie gdzie powinny być a gdzie ich nie powinno być?

Panowie pomożcie bo się rozpije przez to LUA. !

[ Dodano: 2014-12-19, 00:57 ]

Do sztywniak.

Probuje ci odpowiedziec na wiadomosc na priv ale nie moge wyslac.

Ciagle jest do wysyłki i nie idzie. Może masz zablokowane wiadomości priv.

[ Dodano: 2014-12-22, 18:13 ]

Sztywniak dzięki za pomoc.

Pozdrawiam

Arek

[ Dodano: 2014-12-23, 12:51 ]

Witam.

Walczę z zapętleniem tej procedury aby wykonywało się to dla kilku stref pod jednym przyciskiem. Oto mój stwór.

Please login or register to see this code.

Który działa tylko do pewnego momentu. Ustawia temperaturę dla strefy 1, pomija odczyt danych dla strefy 3 ( druga w kolejności) odczytuje strefe 4 (3 w kolejności w tabeli) i wyrzuca błąd

[ERROR] 12:48:15: line 10: attempt to call field 'decode' (a nil value)

Gdzie jest blad.

Pozdrawiam

Arek

Link to comment
Share on other sites

  • 0
Guest _AreK_

gotowy przykład dla urządzenia wirtualnego który zmodyfikuje panel ogrzewania (harmonogram)

strefa id 1 chce zmodyfikować temp dla poniedziałku na 12 stopni

 

Please login or register to see this code.

a tu przykład dla trybu wakacji 0 - wyłączony tryb wakacji >0 włącz tryb wakacji i ustaw na taką temperaturę

Please login or register to see this code.

Witam.

 

W jaki sposób wyłączyć harmonogram tzn. Ustawić temperaturę na "brak". Kombinowałem z zerem ale to nie to.

Proszę o odpowiedź.

 

 

Wszystko OK z zerem działa. Źle wpisałem ID strefy. Zero "0" ustawia w harmonogramie "brak" temperatury. Może komuś się przyda.

Edited by _AreK_
Link to comment
Share on other sites

  • 0

Witam . 

potrzebuje pomocy aby utworzyć urządzenie wirtualne do wyłączenia lub włączenia trybu wakacje, próbowałem z opisów które tu przerabialiście ale nie mogę sobie poradzić może

jest ktoś kto mi w tym temacie pomoże.

 

HC2 = Net.FHttp("192.168.2.6",80)
HC2:setBasicAuthentication("admin", "admin")

-- pobierz harmonogram
response ,status, errorCode = HC2:GET("/api/panels/heating?id=276")

jsonTable = json.decode(response)

-- zmodyfikuj tabelę w Lua
jsonTable.properties.vacationTemperature = 12;

-- wyślij z powrotem
json = json.encode(jsonTable);
HC2:PUT("/api/panels/heating?id=276", json)
fibaro:log("ready")

    

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.

×
×
  • Create New...