Nie masz co modyfikować tylko zaloguj się na IP urządzenia i zmień tryb pracy przycisku.Patryk pisze: ↑pn sie 19, 2019 7:59 pm Prośba o pomoc.
Co należy zmienić (zmodyfikować), aby przycisk monostabilny, włączał przekaźnik podczas "wciśnięcia". a nie dopiero jak się go zwalnia.
Kod: Zaznacz cały
void SuplaDeviceClass::iterate_relaybutton(SuplaChannelPin *pin, TDS_SuplaDeviceChannel_B *channel, unsigned long time_diff, int channel_number) { if ( channel->Type == SUPLA_CHANNELTYPE_RELAY ){ int state; uint8_t val = suplaDigitalRead(channel->Number, pin->pin2); if ( pin->start == 0) { if ( pin->flag == RELAY_FLAG_RESTORE && Params.cb.read_supla_relay_state != 0) { state = Params.cb.read_supla_relay_state(channel->Number); channelSetValue(channel->Number, state, 0); //Serial.print("channel->Number-"); Serial.print(channel->Number); Serial.print("=="); Serial.println(state); } else { uint8_t val1 = suplaDigitalRead(channel->Number, pin->pin1); //channelValueChanged(channel->Number, val1 == HIGH ? 1 : 0); channelSetValue(channel->Number, val1 == HIGH ? 1 : 0, 0); } pin->start = 1; } else { if ( val != pin->last_val && millis()-pin->time_left >= 200 ) { if(val == 1 && val != pin->last_val){ relaySwitch(channel->Number, pin->pin1); } else if (val == 0 && val != pin->last_val){ if(pin->type == INPUT_TYPE_BTN_BISTABLE){ relaySwitch(channel->Number, pin->pin1); } } pin->time_left = millis(); pin->last_val = val; } } } }
ESP8266 Primary GUI
https://gui-generic-builder.supla.io/
Z Wielkim SZACUNKIEM, chciałbym Ci PODZIĘKOWAĆ , za modyfikacje biblioteki SUPLADEVICE.krystianmen pisze: ↑pn sie 19, 2019 11:57 pmNie masz co modyfikować tylko zaloguj się na IP urządzenia i zmień tryb pracy przycisku.Patryk pisze: ↑pn sie 19, 2019 7:59 pm Prośba o pomoc.
Co należy zmienić (zmodyfikować), aby przycisk monostabilny, włączał przekaźnik podczas "wciśnięcia". a nie dopiero jak się go zwalnia.
Kod: Zaznacz cały
void SuplaDeviceClass::iterate_relaybutton(SuplaChannelPin *pin, TDS_SuplaDeviceChannel_B *channel, unsigned long time_diff, int channel_number) { if ( channel->Type == SUPLA_CHANNELTYPE_RELAY ){ int state; uint8_t val = suplaDigitalRead(channel->Number, pin->pin2); if ( pin->start == 0) { if ( pin->flag == RELAY_FLAG_RESTORE && Params.cb.read_supla_relay_state != 0) { state = Params.cb.read_supla_relay_state(channel->Number); channelSetValue(channel->Number, state, 0); //Serial.print("channel->Number-"); Serial.print(channel->Number); Serial.print("=="); Serial.println(state); } else { uint8_t val1 = suplaDigitalRead(channel->Number, pin->pin1); //channelValueChanged(channel->Number, val1 == HIGH ? 1 : 0); channelSetValue(channel->Number, val1 == HIGH ? 1 : 0, 0); } pin->start = 1; } else { if ( val != pin->last_val && millis()-pin->time_left >= 200 ) { if(val == 1 && val != pin->last_val){ relaySwitch(channel->Number, pin->pin1); } else if (val == 0 && val != pin->last_val){ if(pin->type == INPUT_TYPE_BTN_BISTABLE){ relaySwitch(channel->Number, pin->pin1); } } pin->time_left = millis(); pin->last_val = val; } } } }
Wgrałem soft do sonoffa th16, i przycisk ( oryginalny) dopiero przełącza przekaźnik po "puszczeniu".
Dlatego moje pytanie, jak "zrobić", żeby zmiana przekaźnika następowała w chwili "wciśnięcia" przycisku ( wybrałem w konfiguracji " monostabilny " ), a nie dopiero jak go " puszczam"
Myślę, że inni wnieśli dużo dużo więcej w rozwój niż jaPatryk pisze: ↑wt sie 20, 2019 1:11 amZ Wielkim SZACUNKIEM, chciałbym Ci PODZIĘKOWAĆ , za modyfikacje biblioteki SUPLADEVICE.krystianmen pisze: ↑pn sie 19, 2019 11:57 pmNie masz co modyfikować tylko zaloguj się na IP urządzenia i zmień tryb pracy przycisku.Patryk pisze: ↑pn sie 19, 2019 7:59 pm Prośba o pomoc.
Co należy zmienić (zmodyfikować), aby przycisk monostabilny, włączał przekaźnik podczas "wciśnięcia". a nie dopiero jak się go zwalnia.
Kod: Zaznacz cały
void SuplaDeviceClass::iterate_relaybutton(SuplaChannelPin *pin, TDS_SuplaDeviceChannel_B *channel, unsigned long time_diff, int channel_number) { if ( channel->Type == SUPLA_CHANNELTYPE_RELAY ){ int state; uint8_t val = suplaDigitalRead(channel->Number, pin->pin2); if ( pin->start == 0) { if ( pin->flag == RELAY_FLAG_RESTORE && Params.cb.read_supla_relay_state != 0) { state = Params.cb.read_supla_relay_state(channel->Number); channelSetValue(channel->Number, state, 0); //Serial.print("channel->Number-"); Serial.print(channel->Number); Serial.print("=="); Serial.println(state); } else { uint8_t val1 = suplaDigitalRead(channel->Number, pin->pin1); //channelValueChanged(channel->Number, val1 == HIGH ? 1 : 0); channelSetValue(channel->Number, val1 == HIGH ? 1 : 0, 0); } pin->start = 1; } else { if ( val != pin->last_val && millis()-pin->time_left >= 200 ) { if(val == 1 && val != pin->last_val){ relaySwitch(channel->Number, pin->pin1); } else if (val == 0 && val != pin->last_val){ if(pin->type == INPUT_TYPE_BTN_BISTABLE){ relaySwitch(channel->Number, pin->pin1); } } pin->time_left = millis(); pin->last_val = val; } } } }
Wgrałem soft do sonoffa th16, i przycisk ( oryginalny) dopiero przełącza przekaźnik po "puszczeniu".
Dlatego moje pytanie, jak "zrobić", żeby zmiana przekaźnika następowała w chwili "wciśnięcia" przycisku ( wybrałem w konfiguracji " monostabilny " ), a nie dopiero jak go " puszczam"
Wrzuciłem Ci poprawkę zobacz sobie jak to działa:
https://github.com/krycha88/SuplaDevice/tree/dev
https://gui-generic-builder.supla.io/
- uchnast.michal
- Posty: 1074
- Rejestracja: wt cze 04, 2019 11:37 am
Przyłączę się do dyskusji, mam 2 pytania.
1. Jak wprowadza się w tryb konfiguracji?
2. By pominąć etap konfiguracji, uzupełniłem Config_Wifi_name, Config_Wifi_pass, SUPLA server addres, Location ID i hasło. Niestety to nie działa W logach portu "Connection fail. Server: xxx". Serwer i hasło jako string w "" natomiast id jako int.
Z góry dzięki za odp.
1. Jak wprowadza się w tryb konfiguracji?
2. By pominąć etap konfiguracji, uzupełniłem Config_Wifi_name, Config_Wifi_pass, SUPLA server addres, Location ID i hasło. Niestety to nie działa W logach portu "Connection fail. Server: xxx". Serwer i hasło jako string w "" natomiast id jako int.
Z góry dzięki za odp.
e-talking............
Byłem tam - Supla Offline Party 2023
Byłem tam - Supla Offline Party 2023
-
- Posty: 188
- Rejestracja: pn maja 01, 2017 2:00 am
Niby dwa razy reset szybki przyciskiem ale nie potwierdzę bo działam na Sonoff touch a tam nie ma przycisku reset
Jak chcesz mogę Ci przygotować kod gdzie będzie możliwość uruchomienia trybu konfiguracji po przez przytrzymania np. 5 sekund przycisku i nie będzie musiał być to resetGeorge2002 pisze: ↑śr sie 21, 2019 5:36 pm Niby dwa razy reset szybki przyciskiem ale nie potwierdzę bo działam na Sonoff touch a tam nie ma przycisku reset
https://gui-generic-builder.supla.io/
Panowie pomóżcie
Skrypt kompiluje się, ładnie wgrywa, przechodzi do trybu konfiguracji, wszystko się zapisuje, łączy się z punktem dostępowym a za chwilkę zrywa połączenie i tak w kółko, oczywiście nie widać go w Cloudzie. Mam różnych układów działających na Supli chyba kilkadziesiąt, większość na gotowym firmware, jednakże dla konkretnych potrzeb lepsze jest tworzenie własnego tak aby nie zaśmiecać w Cloud niepotrzebnymi wyjściami. Obecny skrypt to dwa przekaźniki w tym jeden RELAYBUTTON, jeden sensor oraz DALLAS, testuje na MEMOS D1 Mini.
z góry dzięki za wszelakie wskazówki.
Skrypt kompiluje się, ładnie wgrywa, przechodzi do trybu konfiguracji, wszystko się zapisuje, łączy się z punktem dostępowym a za chwilkę zrywa połączenie i tak w kółko, oczywiście nie widać go w Cloudzie. Mam różnych układów działających na Supli chyba kilkadziesiąt, większość na gotowym firmware, jednakże dla konkretnych potrzeb lepsze jest tworzenie własnego tak aby nie zaśmiecać w Cloud niepotrzebnymi wyjściami. Obecny skrypt to dwa przekaźniki w tym jeden RELAYBUTTON, jeden sensor oraz DALLAS, testuje na MEMOS D1 Mini.
z góry dzięki za wszelakie wskazówki.