ESP8266 Primary GUI - Termostat

krycha88
Posty: 920
Rejestracja: pt lis 16, 2018 7:25 am

pn lis 04, 2019 8:49 pm

wrobel111 pisze:
pn lis 04, 2019 8:44 pm
Witam, termostat mam zainstalowany w łazience a chciałbym aby czujnik temperatury był w pokoju. Nie uśmiecha mi się ciągnięcie przewodów do salonu. Wymyśliłem więc że aby termostat nadal działał przy braku internetu wykorzystam do komunikacji moduły nrf24l01. Czy w związku z tym poza inicjalizacją starczy zrobić zmiany w funkcji get_temperature() i przypisywać wartość temperatury zmiennej t ?
dokładnie tak. Ustaw zmienną t przed CheckTermostat
Riker
Posty: 4
Rejestracja: czw lis 07, 2019 7:09 pm

czw lis 07, 2019 8:07 pm

Witajcie,
Jestem początkującym użytkownikiem Supli więc proszę o wyrozumiałość ;). Na tą chwilą, korzystam z licznika energii (piękna sprawa) oraz dwóch przełączników sonoff basic. Wszystko działa doskonale. Zainteresowałem się niedawno omawianym projektem termostatu i mam kłopot z konfiguracją. Program wgrał się poprawnie, ustawienia sieci itp przyjął. Termostat zgłasza mi się w panelu Supli ale mam dostępne tylko dwie aktywne pozycje temperatury - aktualna i zadana (w niebieskim menu). Mam widoczne razem 6 kanałów (0-5), cztery z nich są na żółto. Gdy w któryś z nich wejdę aby zmienić jego funkcję, z listy mogę wybrać pozycje zupełnie niezwiązane z tym projektem. W aplikacji Supla pojawiły mi się dwa odczyty temperatury, lecz przy żadnym z nich nie mogę dokonać zmiany (+/-). Napiszcie mi proszę co robię źle albo co błędnie rozumuję. Dziękuję z góry za pomoc :).

Screeny: https://drive.google.com/drive/folders/ ... sp=sharing
krycha88
Posty: 920
Rejestracja: pt lis 16, 2018 7:25 am

czw lis 07, 2019 8:16 pm

Riker pisze:
czw lis 07, 2019 8:07 pm
Witajcie,
Jestem początkującym użytkownikiem Supli więc proszę o wyrozumiałość ;). Na tą chwilą, korzystam z licznika energii (piękna sprawa) oraz dwóch przełączników sonoff basic. Wszystko działa doskonale. Zainteresowałem się niedawno omawianym projektem termostatu i mam kłopot z konfiguracją. Program wgrał się poprawnie, ustawienia sieci itp przyjął. Termostat zgłasza mi się w panelu Supli ale mam dostępne tylko dwie aktywne pozycje temperatury - aktualna i zadana (w niebieskim menu). Mam widoczne razem 6 kanałów (0-5), cztery z nich są na żółto. Gdy w któryś z nich wejdę aby zmienić jego funkcję, z listy mogę wybrać pozycje zupełnie niezwiązane z tym projektem. W aplikacji Supla pojawiły mi się dwa odczyty temperatury, lecz przy żadnym z nich nie mogę dokonać zmiany (+/-). Napiszcie mi proszę co robię źle albo co błędnie rozumuję. Dziękuję z góry za pomoc :).

Screeny: https://drive.google.com/drive/folders/ ... sp=sharing
Klikasz w żółty panel i wybierasz dla pierwszych 3 kanałów wyłącznik swiatla
Nimi będziesz sterować wg opisu:
kanał 1 - Tryb AUTO - sterowanie przekaźnikiem w zależności od temperatury (możliwość zapamiętania stanu)
kanał 2 - Tryb MANUAL - sterowanie ręczne przekaźnikiem - można tylko włączyć jeżeli sterowanie automatyczne jest wyłączone(bez możliwości zapamiętania stanu)
kanał 3 - Ustawia temperaturę termostatu co -/+ 0,5 stopnia dla wilgotności jest to -/+ 1, po 10s temperatura zostanie zapisana do eeproma
kanał 4 - Wyświetla ustawioną temperaturę termostatu lub wartość wilgotnośći
kanał 5 - Wyświetla stan przekaźnika termostatu
tijo
Posty: 175
Rejestracja: pt gru 01, 2017 12:44 pm

czw lis 07, 2019 8:21 pm

jak przewałkujesz temat to zadziała, oto kanały:
0.włącznik zasilania -->automat
1.włącznik zasilania -->manual
2.włącznik zasilania --> regulacja zadanej temperatury
3.termometr --> wskazanie zadanej temperatury
4.czujnik braku cieczy --> kontrolka pracy termostatu
5.termometr --> termometr termostatu

oooooo!!!! kol. @krycha88 był pierwszy...
Riker
Posty: 4
Rejestracja: czw lis 07, 2019 7:09 pm

czw lis 07, 2019 8:33 pm

Bardzo Wam obu dziękuję, już wszystko jasne i działa jak powinno :)
wrobel111
Posty: 62
Rejestracja: wt cze 05, 2018 6:13 pm

pn lis 11, 2019 5:59 pm

Witam, próbuję samemu skompilować kod lecz sypie mi errorami, podmieniłem już bibliotekę SuplaDevice na ta z primary GUI i nadal coś.
problem z kompilacją.png
problem z kompilacją.png (96.66 KiB) Przejrzano 1404 razy


Edit: wklejam pełną treść wiadomości

Kod: Zaznacz cały

UWAGA: biblioteka SuplaDevice działa na architekturze(/architekturach) (avr) i może nie być kompatybilna z obecną płytką która działa na architekturze(/architekturach) (esp8266).
sketch\supla_board_settings.cpp: In function 'void supla_board_configuration()':

supla_board_settings.cpp:29:84: error: no matching function for call to 'SuplaDeviceClass::addRelayButton(int, uint8_t&, int, int)'

   SuplaDevice.addRelayButton(VIRTUAL_PIN_THERMOSTAT_MANUAL, PIN_BUTTON_MANUAL, 1, 0);

                                                                                    ^

sketch\supla_board_settings.cpp:29:84: note: candidates are:

In file included from sketch\supla_board_settings.cpp:10:0:

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note: int SuplaDeviceClass::addRelayButton(int, int, int, bool, int)

    int addRelayButton(int relayPin1, int relayPin2, int type_button, bool hiIsLo, _supla_int_t functions);

        ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note:   candidate expects 5 arguments, 4 provided

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note: bool SuplaDeviceClass::addRelayButton(int, int, int)

    bool addRelayButton(int relayPin, int relayPin2, int type_button);

         ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note:   candidate expects 3 arguments, 4 provided

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'SuplaDeviceCallbacks supla_arduino_get_callbacks()':

Primary_GUI_thermostat:377:6: error: 'SuplaDeviceCallbacks' has no member named 'read_supla_relay_state'

   cb.read_supla_relay_state = &read_supla_relay_state;

      ^

Primary_GUI_thermostat:378:6: error: 'SuplaDeviceCallbacks' has no member named 'save_supla_relay_state'

   cb.save_supla_relay_state = &save_supla_relay_state;

      ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'double get_temperature(int, double)':

Primary_GUI_thermostat:687:2: error: 'else' without a previous 'if'

  else if(termometr_radiowy == true)

  ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'void add_Relay(int)':

Primary_GUI_thermostat:783:75: error: no matching function for call to 'SuplaDeviceClass::addRelayButton(int&, int, int, int)'

   SuplaDevice.addRelayButton(relay, -1, 0, read_supla_relay_flag(nr_relay));

                                                                           ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:783:75: note: candidates are:

In file included from C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:22:0:

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note: int SuplaDeviceClass::addRelayButton(int, int, int, bool, int)

    int addRelayButton(int relayPin1, int relayPin2, int type_button, bool hiIsLo, _supla_int_t functions);

        ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note:   candidate expects 5 arguments, 4 provided

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note: bool SuplaDeviceClass::addRelayButton(int, int, int)

    bool addRelayButton(int relayPin, int relayPin2, int type_button);

         ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note:   candidate expects 3 arguments, 4 provided

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'void add_Relay_Button(int, int, int)':

Primary_GUI_thermostat:828:82: error: no matching function for call to 'SuplaDeviceClass::addRelayButton(int&, int&, int&, int)'

   SuplaDevice.addRelayButton(relay, button, type, read_supla_relay_flag(nr_relay));

                                                                                  ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:828:82: note: candidates are:

In file included from C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:22:0:

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note: int SuplaDeviceClass::addRelayButton(int, int, int, bool, int)

    int addRelayButton(int relayPin1, int relayPin2, int type_button, bool hiIsLo, _supla_int_t functions);

        ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note:   candidate expects 5 arguments, 4 provided

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note: bool SuplaDeviceClass::addRelayButton(int, int, int)

    bool addRelayButton(int relayPin, int relayPin2, int type_button);

         ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note:   candidate expects 3 arguments, 4 provided

exit status 1
no matching function for call to 'SuplaDeviceClass::addRelayButton(int, uint8_t&, int, int)'
krycha88
Posty: 920
Rejestracja: pt lis 16, 2018 7:25 am

wt lis 12, 2019 6:20 am

wrobel111 pisze:
pn lis 11, 2019 5:59 pm
Witam, próbuję samemu skompilować kod lecz sypie mi errorami, podmieniłem już bibliotekę SuplaDevice na ta z primary GUI i nadal coś.problem z kompilacją.png



Edit: wklejam pełną treść wiadomości

Kod: Zaznacz cały

UWAGA: biblioteka SuplaDevice działa na architekturze(/architekturach) (avr) i może nie być kompatybilna z obecną płytką która działa na architekturze(/architekturach) (esp8266).
sketch\supla_board_settings.cpp: In function 'void supla_board_configuration()':

supla_board_settings.cpp:29:84: error: no matching function for call to 'SuplaDeviceClass::addRelayButton(int, uint8_t&, int, int)'

   SuplaDevice.addRelayButton(VIRTUAL_PIN_THERMOSTAT_MANUAL, PIN_BUTTON_MANUAL, 1, 0);

                                                                                    ^

sketch\supla_board_settings.cpp:29:84: note: candidates are:

In file included from sketch\supla_board_settings.cpp:10:0:

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note: int SuplaDeviceClass::addRelayButton(int, int, int, bool, int)

    int addRelayButton(int relayPin1, int relayPin2, int type_button, bool hiIsLo, _supla_int_t functions);

        ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note:   candidate expects 5 arguments, 4 provided

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note: bool SuplaDeviceClass::addRelayButton(int, int, int)

    bool addRelayButton(int relayPin, int relayPin2, int type_button);

         ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note:   candidate expects 3 arguments, 4 provided

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'SuplaDeviceCallbacks supla_arduino_get_callbacks()':

Primary_GUI_thermostat:377:6: error: 'SuplaDeviceCallbacks' has no member named 'read_supla_relay_state'

   cb.read_supla_relay_state = &read_supla_relay_state;

      ^

Primary_GUI_thermostat:378:6: error: 'SuplaDeviceCallbacks' has no member named 'save_supla_relay_state'

   cb.save_supla_relay_state = &save_supla_relay_state;

      ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'double get_temperature(int, double)':

Primary_GUI_thermostat:687:2: error: 'else' without a previous 'if'

  else if(termometr_radiowy == true)

  ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'void add_Relay(int)':

Primary_GUI_thermostat:783:75: error: no matching function for call to 'SuplaDeviceClass::addRelayButton(int&, int, int, int)'

   SuplaDevice.addRelayButton(relay, -1, 0, read_supla_relay_flag(nr_relay));

                                                                           ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:783:75: note: candidates are:

In file included from C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:22:0:

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note: int SuplaDeviceClass::addRelayButton(int, int, int, bool, int)

    int addRelayButton(int relayPin1, int relayPin2, int type_button, bool hiIsLo, _supla_int_t functions);

        ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note:   candidate expects 5 arguments, 4 provided

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note: bool SuplaDeviceClass::addRelayButton(int, int, int)

    bool addRelayButton(int relayPin, int relayPin2, int type_button);

         ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note:   candidate expects 3 arguments, 4 provided

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino: In function 'void add_Relay_Button(int, int, int)':

Primary_GUI_thermostat:828:82: error: no matching function for call to 'SuplaDeviceClass::addRelayButton(int&, int&, int&, int)'

   SuplaDevice.addRelayButton(relay, button, type, read_supla_relay_flag(nr_relay));

                                                                                  ^

C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:828:82: note: candidates are:

In file included from C:\Users\mateu\Desktop\% SUPLA\Primary_GUI_thermostat\Primary_GUI_thermostat.ino:22:0:

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note: int SuplaDeviceClass::addRelayButton(int, int, int, bool, int)

    int addRelayButton(int relayPin1, int relayPin2, int type_button, bool hiIsLo, _supla_int_t functions);

        ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:269:8: note:   candidate expects 5 arguments, 4 provided

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note: bool SuplaDeviceClass::addRelayButton(int, int, int)

    bool addRelayButton(int relayPin, int relayPin2, int type_button);

         ^

C:\Program Files (x86)\Arduino\libraries\SuplaDevice/SuplaDevice.h:270:9: note:   candidate expects 3 arguments, 4 provided

exit status 1
no matching function for call to 'SuplaDeviceClass::addRelayButton(int, uint8_t&, int, int)'
Nie podmieniłeś poprawnie bibliotek SuplaDevice ...
wrobel111
Posty: 62
Rejestracja: wt cze 05, 2018 6:13 pm

wt lis 12, 2019 7:22 pm

krycha88 pisze:
wt lis 12, 2019 6:20 am
Nie podmieniłeś poprawnie bibliotek SuplaDevice ...
Masz rację, zrobiłem jeszcze raz i teraz działa, teraz wziąłem z Twojego githuba. Dzięki
Ostatnio zmieniony śr lis 13, 2019 5:43 am przez wrobel111, łącznie zmieniany 1 raz.
Awatar użytkownika
makrz
Posty: 310
Rejestracja: wt lis 27, 2018 1:43 pm
Lokalizacja: Opole

wt lis 12, 2019 9:38 pm

wrobel111 pisze:
wt lis 12, 2019 7:22 pm


Masz rację, zrobiłem jeszcze raz i teraz działa, teraz wiałem z Twojego githuba. Dzięki
A co? Bić chcieli? :D
scoobi
Posty: 28
Rejestracja: ndz gru 17, 2017 9:38 am

ndz lis 17, 2019 2:00 pm

krycha88 czy jest opcja żeby zrobić termostat np dla 4 kanałów ?? tzn chodzi mi o to żeby to co jest teraz wrzucić do nodemcu i sterować 4 obwodami podłogówki. Aktualnie mam podłączone 4x esp01 w jednym miejscu, ale chciałbym "bardziej eleganckie" rozwiązanie zrobić.
ODPOWIEDZ

Wróć do „Projekty użytkowników”