Wysyłanie stanu przekaźnika do SuplaCloud

User avatar
klew
Posts: 10703
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

SOYER wrote: Wed Feb 12, 2025 7:00 pm
klew wrote: Wed Feb 12, 2025 6:50 pm
SOYER wrote: Wed Feb 12, 2025 6:39 pm Najlepsze, że teraz dla wyłączonych przekaźników isOn() zwraca false...

jak to się ma do tego co też w załączniku...
Nie wiem. Jakiś screen wyrwany z kontekstu. Jeśli tam jest mowa o metodzie isOn, to powinno być na odwrót napisane.
screen nie wyrwany z kontekstu, ale…
No właśnie…
dlaczego jeśli mam wyłączone przekaźnik, to isOn() zwraca false?
Prawdopodobnie digital read zwraca taki stan na tym gpio
SOYER
Posts: 1342
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

??
pisałeś, że isOn zwraca false jeśli przekaźnik jest WŁĄCZONY
nie rozumiem
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 10703
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

SOYER wrote: Wed Feb 12, 2025 7:16 pm ??
pisałeś, że isOn zwraca false jeśli przekaźnik jest WŁĄCZONY
nie rozumiem
Pewnie źle napisałem. isOn zwraca true gdy jest włączony i false gdy jest wyłączony.
Przynajmniej tak to powinno działać.
User avatar
klew
Posts: 10703
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

klew wrote: Wed Feb 12, 2025 9:53 pm
SOYER wrote: Wed Feb 12, 2025 7:16 pm ??
pisałeś, że isOn zwraca false jeśli przekaźnik jest WŁĄCZONY
nie rozumiem
Pewnie źle napisałem. isOn zwraca true gdy jest włączony i false gdy jest wyłączony.
Przynajmniej tak to powinno działać.
U siebie w kodzie masz jeszcze tak:

Code: Select all

valveOpen = new Supla::Control::Relay(8, false);
valveClose = new Supla::Control::Relay(9, false);
"false" na końcu oznacza odwróconą logikę sterowania. Czyli stan wysoki na GPIO oznacza "wyłączony" przekaźnik, a stan niski na GPIO oznacza "włączony" przekaźnik.

Sprawdziłem jeszcze w kodzie i SD jednak w Arduino ustawia:

Code: Select all

 
pinMode(pin, OUTPUT);
Ogólnie nie spradzałem tego jak to się zachowuje na ESP32-C3 pod Arduino IDE.
Pod esp-idf używam trybu "input + output", bo na samym output w C3 nie działa czytanie stanu GPIO.

Możesz analogiczny kod odpalić na esp8266 i na c3 i zobaczyć czy działa. Możesz też sprawdzić inne GPIO na C3. Najlepiej udostępnij cały kod testowy oraz pełne logi z urządzeń w różnych testach.

Return to “Pomoc”