Automat schodowy

User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

Jestem troszkę zmieszany bo...
...albo czegoś tu nie rozumiem i mam braki w kodzie, albo w tej funkcjonalności nie wszystko działa tak jak powinno.

Z uwagi na to, że Cloud mam na malinie w wersji dockerowej, a jak wiadomo docker jeszcze nie jest aktualny, przepiąłem się z testowym modułem na beta-cloud.supla.org, gdzie tytułowa funkcjonalność już jest.

Kompiluję sobie taką konfigurację i po flashowaniu ustawiam moduł i podpinam go do cloud.
Jak widać poniżej mam 2 przekaźnik sterowane przez 2 przyciski na kanałach 0 i 1.

supla_esp_board_gpio_init wygląda tak

Code: Select all

supla_input_cfg[0].type = INPUT_TYPE_BTN_MONOSTABLE;
supla_input_cfg[0].gpio_id = B_BTN1_PORT;
supla_input_cfg[0].flags = INPUT_FLAG_PULLUP |  INPUT_FLAG_CFG_BTN;
supla_input_cfg[0].relay_gpio_id = B_RELAY1_PORT;
supla_input_cfg[0].channel = 0;

supla_input_cfg[1].type = INPUT_TYPE_BTN_MONOSTABLE;
supla_input_cfg[1].gpio_id = B_BTN2_PORT;
supla_input_cfg[1].flags = INPUT_FLAG_PULLUP |  INPUT_FLAG_CFG_BTN;
supla_input_cfg[1].relay_gpio_id = B_RELAY2_PORT;
supla_input_cfg[1].channel = 1;
    

supla_relay_cfg[0].gpio_id = B_RELAY1_PORT;
supla_relay_cfg[0].flags = RELAY_FLAG_RESET;
supla_relay_cfg[0].channel = 0;

supla_relay_cfg[1].gpio_id = B_RELAY2_PORT;
supla_relay_cfg[1].flags = RELAY_FLAG_RESET;
supla_relay_cfg[1].channel = 1;
a supla_esp_board_set_channels tak

Code: Select all

*channel_count = 2;

channels[0].Number = 0;
channels[0].Type = SUPLA_CHANNELTYPE_RELAY;
channels[0].FuncList =	SUPLA_BIT_RELAYFUNC_POWERSWITCH \
						| SUPLA_BIT_RELAYFUNC_LIGHTSWITCH \
						| SUPLA_BIT_RELAYFUNC_STAIRCASETIMER;
channels[0].Default = 0;
channels[0].value[0] = supla_esp_gpio_relay_on(B_RELAY1_PORT);
	
channels[1].Number = 1;
channels[1].Type = channels[0].Type;
channels[1].FuncList = channels[0].FuncList;
channels[1].Default = 0;
channels[1].value[0] = supla_esp_gpio_relay_on(B_RELAY2_PORT);
supla_esp_board_send_channel_values_with_delay

Code: Select all

	
supla_esp_channel_value_changed(0, supla_esp_gpio_relay_on(B_RELAY1_PORT));
supla_esp_channel_value_changed(1, supla_esp_gpio_relay_on(B_RELAY2_PORT));
W Cloud ustawiam dla kanału 0 automat schodowy, wskazuję dla niego odpowiedni czas pracy, zapisuję i w aplikacji na telefonie widzę przepiękną ikonkę z funkcjonalnością, na którą wszyscy tu od dawna czekali ;)

Zacieram ręce i sprawdzam działanie.
Uruchamiam w telefonie automat i przekaźnik pstryka, a po upływie ustalonego czasu następuje wyłączenie, przekaźnik pstryka. Sprawdzam w apce wyłączenie przed upływem ustawionego czasu, działa super.

Biorę łącznik w łapki wciskam przycisk, przekaźnik pstryka :D czekam, czekam... ustalony czas mija i cisza :shock: (tu spodziewałem się zmiany stanu kanału jak to miało miejsce przy wykonaniu akcji z aplikacji w tel). Zerkam w telefon bo nie wiem czy nie dosłyszałem zmiany, ale niestety nie. Stan kanału się nie zmienił, hmm.. ale dlaczego? Ponowne naciskam przycisk, kanał zmienia stan, przekaźnik pstryka. Sprawdziłem kilka razy i zawsze to samo, chyba że włączę już włączony kanał na telefonie, to wtedy odliczy czas i zmienia stan.

Czy czegoś mi brakuje w tej konfiguracji? Powinienem mieć tu jeszcze coś, jakoś, gdzieś? Czy to po prostu jakiś bug po stronie działania funkcji? Szukałem w źródłach jakiegoś tropu czemu to tak, ale ślad mi się urwał..... :roll:

P.S. Źródła mam aktualne
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Ten firmware tego jeszcze nie obsługuje.
SUPLA.... Nareszcie w domu.
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

Ok, rozumiem...
Server - już to ma, bo umie wysterować i przetworzyć żądania;
Client - już to ma, bo wysyła żądanie do Servera;
Device - jeszcze nie ma, bo nie ma jak wysłać żądania i działa tylko lokalnie, a lokalnie to on nie wie, że ma coś więcej zrobić;

Wszystkie komponenty współdzielą protokół więc myślałem, że już gotowe i będzie hulać. Teraz jak się przyglądam supla_esp_gpio to widzę, że nie ma żadnej dodatkowej struktury lub zmiennej, czy funkcji obsługującej tę funkcjonalność tak jak w przypadku RS, choć w przypadku RS jest to dużo bardziej skomplikowane.

Dopisałbym co trzeba, ale to jeszcze nie ten etap, muszę więcej wypić...;)

Zastanawiam się jak Ty to chłopie wszystko ogarniasz? Posiadasz/tworzysz jakieś diagramy w UML czy wszystko w głowie?
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Na tyle jest tego jeszcze mało, że w głowie ale pierwsze diagramy się nawet ostatnio pojawiły przy koncepcie OAuth brokera dla Supla<->Amazon Echo/Google Home.
SUPLA.... Nareszcie w domu.
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

No to szacun Panie kolego ;)

Wiem, że dla twórcy systemu poruszanie się w kodzie bez jakichkolwiek diagramów to nie problem, tym bardziej jak się na co dzień obcuje z kompilatorem i to nie jednym, i nie w jednym języku a co najmniej w kilku, to dla zwykłych zjadaczy chleba, którym się wydaje że coś tam wiedzą, przedarcie się przez dziesiątki tysięcy linii kodu, żeby zrozumieć jakąś zależność i pozornie prostą rzecz, to jak wejście na Giewont w japonkach :D

Dlatego szapo ba Przemku.
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

Czy komuś udało się uruchomić automat schodowy z harmonogramu? U mnie ani razu nie wystartował i nie mam pojęcia czemu :(
Gdzie ewentualnie szukać jakichś logów?
harmonogram.png
You do not have the required permissions to view the files attached to this post.
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Harmonogram tego nie obsługuje poprawnie.
SUPLA.... Nareszcie w domu.
User avatar
michael
Posts: 1320
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

Chciałbym ustawić automat schodowy na SONOFFie lub ROWie, ale przy wyborze funkcji nie widać na liście automatu. Automat udało mi się odpalić tylko na Raspberry. Czy jest to możliwe?
Ewentualnie którą linijkę kodu zmienić, żeby pojawiła mi się ta opcja? :D
:mrgreen: :mrgreen: :mrgreen:
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Rzecz w tym, że ESP nie specjalnie się nadają do obsługi automatu bez dodania pamięci FRAM.
Bez tego mogą gubić czas.
SUPLA.... Nareszcie w domu.
User avatar
michael
Posts: 1320
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

To na czym najlepiej zrobić taki automat?
:mrgreen: :mrgreen: :mrgreen:

Return to “Zagadnienia ogólne”