modyfikacja kodu sonoff socket

User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

Źle to robisz.
Ten wpis

Code: Select all

#define BOARD_GPIO_OUTPUT_SET_HI if ( port == B_RELAY1_PORT && supla_last_state == STATE_CONNECTED) { \ 
GPIO_OUTPUT_SET(4, supla_esp_gpio_output_is_hi(B_RELAY1_PORT) == 1 ? 0 : 1); \

};
dajesz np do swojego pliku sonoff_socket.h tam gdzie powinny być zdefiniowane gpio moduły. Teraz cały ten wpis zostanie automatycznie dodany podczas kompilacji w tym miejscu.

Code: Select all

#ifdef BOARD_GPIO_OUTPUT_SET_HI
	BOARD_GPIO_OUTPUT_SET_HI
#endif
Ważne jest jeszcze, że ma to być w pliku z ".h" na końcu.
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Code: Select all

#define BOARD_GPIO_OUTPUT_SET_HI \
if (  supla_last_state == STATE_CONNECTED) { \
 If (port == LED_RED_PORT) {\
 hi = supla_esp_gpio_output_is_hi(RELAY_PORT);\
 } else if (port==RELAY_PORT) {\
 GPIO_OUTPUT_SET(GPIO_ID_PIN(LED_RED_PORT),  hi);\
 };\
};
SUPLA.... Nareszcie w domu.
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

wielkie dzięki chłopaki za pomoc
wreszcie działa jak należy :)
zrobiłem to tak:

Code: Select all

#define BOARD_GPIO_OUTPUT_SET_HI if (supla_last_state == STATE_CONNECTED) {if (port == LED_RED_PORT) {hi =supla_esp_gpio_output_is_hi(12);\
 } else if (port==12) {\
 GPIO_OUTPUT_SET(GPIO_ID_PIN(LED_RED_PORT),  !hi);\
 };\
};

przy kompilacji miałem błąd deklaracji 'RELAY_PORT', wpisałem teź 'B_RELAY1_PORT' i to samo wpisałem na sztywno 12 i nie było już błędów

czy można to zrobić bardziej "elegancko" ?
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
Espablo
Posts: 1754
Joined: Wed Jun 29, 2016 5:04 pm
Location: Oświęcim

Post

kris.sg wrote: Sun Nov 11, 2018 12:33 pm wielkie dzięki chłopaki za pomoc
wreszcie działa jak należy :)
zrobiłem to tak:

Code: Select all

#define BOARD_GPIO_OUTPUT_SET_HI if (supla_last_state == STATE_CONNECTED) {if (port == LED_RED_PORT) {hi =supla_esp_gpio_output_is_hi(12);\
 } else if (port==12) {\
 GPIO_OUTPUT_SET(GPIO_ID_PIN(LED_RED_PORT),  !hi);\
 };\
};

przy kompilacji miałem błąd deklaracji 'RELAY_PORT', wpisałem teź 'B_RELAY1_PORT' i to samo wpisałem na sztywno 12 i nie było już błędów

czy można to zrobić bardziej "elegancko" ?
Tak, można. Przenieś to

Code: Select all

#define B_RELAY1_PORT    12
#define B_CFG_PORT       13

do pliku ". h". Tam gdzie masz #define LED_RED_PORT
Każde urządzenie elektryczne działa o wiele lepiej jeśli podłączysz je do prądu. :? :roll:
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

jeszcze raz dzięki za pomoc
przeniosłem definicje, kompiluje się bez błędów, gniazdko działa jak powinno :)
dzięki Wam się czegoś nauczyłem :)
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

Witam
Jak mogę jeszcze prosić o pomoc
kod działa ale dioda statusu po połączeniu z serwerem się świeci, gaśnie dopiero jak zmienię stan w aplikacji na telefonie
próbowałem użyć makra : RELAY_BEFORE_CHANGE_STATE ale nic to nie daje
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
bicker
Posts: 483
Joined: Tue Feb 02, 2016 8:18 am

Post

Witam, fajnie by było, jakbyście na koniec pokazali prawidłowy kod,
wkoncu postawiłem sobie obraz i próbuję modyfikacji Firmware
i chciałbym zgsić diodę statusu..aby nie swieciła po ustanowieniu połączenia.

dzięki
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

bicker wrote: Mon Apr 20, 2020 8:39 am Witam, fajnie by było, jakbyście na koniec pokazali prawidłowy kod,
wkoncu postawiłem sobie obraz i próbuję modyfikacji Firmware
i chciałbym zgsić diodę statusu..aby nie swieciła po ustanowieniu połączenia.

dzięki
viewtopic.php?p=43062#p43062
bicker
Posts: 483
Joined: Tue Feb 02, 2016 8:18 am

Post

Dzięki

Patryk wrote: Mon Apr 20, 2020 8:47 am
bicker wrote: Mon Apr 20, 2020 8:39 am Witam, fajnie by było, jakbyście na koniec pokazali prawidłowy kod,
wkoncu postawiłem sobie obraz i próbuję modyfikacji Firmware
i chciałbym zgsić diodę statusu..aby nie swieciła po ustanowieniu połączenia.

dzięki
viewtopic.php?p=43062#p43062
Patryk
Posts: 2944
Joined: Mon Jan 07, 2019 7:51 pm
Location: Rybnik

Post

I jeszcze jedna rzecz.
Sonoff-y mają odwróconą logikę LED.
Dlatego trzeba usunąć wykrzyknik ( ! ) dla prawidłowego działania LED, tak jak w tym przykładzie:
https://github.com/SUPLA/supla-espressi ... uch.c#L289

Return to “Pomoc”