Asystent AI
Powiadomienia
Wyczyść wszystko

[Rozwiązany] Wsparcie dla wlacznika dzwonkowego

17 Wpisów
3 Użytkownicy
0 Reactions
3,569 Wyświetleń
Wpisów: 51
Donator 2K17
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@g_slawek-ky)
Kontrybutor
Dołączył: 9 lat temu
[#82]

Grubsza rzecz. Co byście powiedzieli na to gdyby zewnętrzny włącznik mógł być też typu dzwonkowego. Musiałby dojść wybór typu wyłącznika w konfiguracji żeby soft nie głupial ale jak dla mnie to temat powinien być do "ogarnięcia". 

Temat jest praktyczny a nie wyspany z palca, bo ja mam w domu cześć świateł tak właśnie sterowanych. Włącznik dzwonkowy na ścianie i przekaźnik w skrzynce z bezpiecznikami. Po co? Łatwiej zrobić włączanie takiego światła z kilku punktów (choćby więcej niż 2). Przy czymś takim wystarczy zamiast przekaźnika dać sonoff i podłączyć wszystkie włączniki razem na kupę.


16 Odpowiedzi
Wpisów: 162
Zasłużony dla Forum Donator 2K19, Donator 2K18, Donator 2K17
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@tomaszraszowski)
Pomocny
Dołączył: 9 lat temu

Otwórz AIDE załaduj firmware, przejdź do zakładki switch.ino i znajdź ten kawałek kodu:

boolean SonoffSwitch::stateChange() {
  boolean _ret = false;
  if (state != !digitalRead(_gpio) and !delay()) {
    counter++;
  } else if (state != !digitalRead(_gpio) and delay()) {
    counter = 0;
    state = !state;
    _ret = true;
  } else {
    counter = 0;
  }
  return _ret;
}

zmień sobie ten kawałek:

counter = 0; state = !state; _ret = true;

na to:


counter = 0; state != state; _ret = true; I tym sposobem masz obsługę mono-stabilnych przełączników.
pojęcia nie mam czy to poprawnie, jeśli nie niech mnie Adrian poprawi, ale u mnie działa bez problemu.

1 odpowiedź
Donator 2K17
(@g_slawek-ky)
Dołączył: 9 lat temu

Kontrybutor
Wpisów: 51
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian

Kurcze, nie uważam się za leszcza, ale mimo to nie kumam co to za konstrukcja: state != state;

Przecież to nic nie zrobi, bo to jest operator logiczny i zawsze będzie miało wartość false.


Wpisów: 162
Zasłużony dla Forum Donator 2K19, Donator 2K18, Donator 2K17
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@tomaszraszowski)
Pomocny
Dołączył: 9 lat temu

Ja to się całkiem nie znam 😀 Ale działa 😀


Wpisów: 51
Donator 2K17
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@g_slawek-ky)
Kontrybutor
Dołączył: 9 lat temu

A weź w ramach testu wykomentuj ta linijkę i sprawdź czy nadal działa 😀

No nic, protestuje sobie w wolnej chwili. 


Wpisów: 51
Donator 2K17
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
(@g_slawek-ky)
Kontrybutor
Dołączył: 9 lat temu

No i tak jak myślałem. Wystarczy wykomentować tą linię i działa tak jak trzeba. Teraz tylko dorobię sobię konfigurację rodzaju przycisku (zwykły lub dzwonkowy) i mam swoją pierwszą modyfikację 😀 Tylko komputer coś słaby bo strasznie długo to kompiluje 🙂


Strona 1 / 3
Udostępnij: