O faktycznie, teraz widzę. Ok.slawek wrote: Sat Jul 03, 2021 11:36 am Taką samą rurą, w każdym pomieszczeniu masz nawiew i wyciąg.
SUPLA Air Conditioner
-
- Posts: 75
- Joined: Wed Aug 12, 2020 4:51 am
- Location: Bochnia
-
- Posts: 5
- Joined: Sun Feb 07, 2021 5:44 am
Witam wszystkich, czy była by możliwość dodania termometru do pomiaru temperatury w pomieszczeniu?
-
- Posts: 37
- Joined: Sat Feb 22, 2020 12:03 pm
- Location: Warszawa
Dopisz sobie kanał do obsługi Ds'a - new Supla::Sensor:: ...... i w #include.... bibliotekę ds18b20. Bawiłem się kilka miesięcy temu więc dokładnie nie pamiętam chyba tyle wystarczyło. W każdym razie działał, dla mnie służyło to przede wszystkim jako potwierdzenie że klima się załączyła.j707 wrote: Sun Oct 10, 2021 7:33 am Witam wszystkich, czy była by możliwość dodania termometru do pomiaru temperatury w pomieszczeniu?
Pozdrawiam
-
- Posts: 5
- Joined: Sun Feb 07, 2021 5:44 am
Dzięki za podpowiedź. Ale z tego co widzę to problem mam z biblioteką SuplaDevice.
Last edited by j707 on Sun Oct 10, 2021 3:51 pm, edited 2 times in total.
-
- Posts: 5
- Joined: Sun Feb 07, 2021 5:44 am
Z tą biblioteką program mi się kompiluje. Natomiast przykład z tej biblioteki DallasTemperature wywala błąd:
In file included from C:\Users\j707\AppData\Local\Temp\arduino_modified_sketch_811602\DallasTemperature.ino:18:0:
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:69:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:75:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:81:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:112:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
In file included from C:\Users\j707\AppData\Local\Temp\arduino_modified_sketch_811602\DallasTemperature.ino:30:0:
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h: In member function 'virtual void Supla::EthernetShield::setup()':
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h:94:14: error: void value not ignored as it ought to be
result = Ethernet.begin(mac, 10000, 4000);
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h: In member function 'virtual void Supla::EthernetShield::fillStateData(TDSC_ChannelState&)':
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h:119:14: error: 'class EthernetClass' has no member named 'MACAddress'
Ethernet.MACAddress(channelState.MAC);
^
exit status 1
Błąd kompilacji dla płytki Generic ESP8266 Module.
Jak zmienię bibliotekę SuplaDevice na inną to DallasTemperature kompiluje się bez problemu ale za to jest problem z kompilacją SuplaAirConditioner .
Może ktoś ma biblioteki na których kompiluje się SuplaAirConditioner i DallasTemperature .
In file included from C:\Users\j707\AppData\Local\Temp\arduino_modified_sketch_811602\DallasTemperature.ino:18:0:
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:69:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:75:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:81:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/SuplaDevice.h:112:1: warning: 'typedef' was ignored in this declaration [enabled by default]
};
^
In file included from C:\Users\j707\AppData\Local\Temp\arduino_modified_sketch_811602\DallasTemperature.ino:30:0:
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h: In member function 'virtual void Supla::EthernetShield::setup()':
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h:94:14: error: void value not ignored as it ought to be
result = Ethernet.begin(mac, 10000, 4000);
^
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h: In member function 'virtual void Supla::EthernetShield::fillStateData(TDSC_ChannelState&)':
C:\Users\j707\OneDrive\Pulpit\arduino-1.8.16-windows\szkic\libraries\SuplaDevice\src/supla/network/ethernet_shield.h:119:14: error: 'class EthernetClass' has no member named 'MACAddress'
Ethernet.MACAddress(channelState.MAC);
^
exit status 1
Błąd kompilacji dla płytki Generic ESP8266 Module.
Jak zmienię bibliotekę SuplaDevice na inną to DallasTemperature kompiluje się bez problemu ale za to jest problem z kompilacją SuplaAirConditioner .
Może ktoś ma biblioteki na których kompiluje się SuplaAirConditioner i DallasTemperature .
You do not have the required permissions to view the files attached to this post.
-
- Posts: 9692
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Na jaką płytkę chcesz to kompilować?
Kiedy będzie Supla Offline Party / SOP#2025 ?
-
- Posts: 37
- Joined: Sat Feb 22, 2020 12:03 pm
- Location: Warszawa
1. biblioteka SUPLA DEVICE tylko ta którą jakiś czas temu linkowałem
2. biblioteka czujnika DS18B20, jeśli dodawałeś jakiś DALLAS czy coś to możliwe że nie zadziała, ja robiłem tak jak poniżej, przy okazji (nieudanej niestety) próby dodania czujników otwarcia czy przekaźników...
3. jeśli masz dobre biblioteki to tak jak napisał @klew sprawdź czy dobra płytka
jakoś tak, nie mam teraz arduino żeby sprawdzić czy się kompiluje
2. biblioteka czujnika DS18B20, jeśli dodawałeś jakiś DALLAS czy coś to możliwe że nie zadziała, ja robiłem tak jak poniżej, przy okazji (nieudanej niestety) próby dodania czujników otwarcia czy przekaźników...
3. jeśli masz dobre biblioteki to tak jak napisał @klew sprawdź czy dobra płytka
Code: Select all
#include <supla/sensor/DS18B20.h>
.......
.......
void addControls() {
.......
.......
new Supla::Sensor::DS18B20(nr pinu);
-
- Posts: 5
- Joined: Sun Feb 07, 2021 5:44 am
Witam, dziękuję za zainteresowanie i pomoc.
Płytka na której się kompiluje: NodeMCU 1.0 (ESP -12E Module)
Biblioteka SuplaDevice jest na 4 stronie.
Kod z termometrem może komuś się przyda:
Płytka na której się kompiluje: NodeMCU 1.0 (ESP -12E Module)
Biblioteka SuplaDevice jest na 4 stronie.
Kod z termometrem może komuś się przyda:
Code: Select all
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
#include <supla/events.h>
#include <supla/actions.h>
#include <supla/sensor/DS18B20.h> //=================
#include "thermometer_ex.h"
#include "powerswitch.h"
#include <EEPROM.h>
#include "a_globals.h"
#include "eeprom_funcs.h"
#include "wifi_config.h"
#include "common.h"
#include <IRac.h>
const uint16_t kIrLed = D5;
IRac ac(kIrLed);
struct state {
uint8_t temperature = 22, fan = 0, operation = 0;
bool powerStatus;
};
state acState;
void addControls() {
/* Channel 0*/
new Supla::Control::PowerSwitch(true); /* włącznik on-off */
/* Channel 1*/
new Supla::Control::PowerSwitch(); /* grzenie/chłodzenie */
/* Channel 2*/
new Supla::Control::PowerSwitch(); /* wentylator auto/min */
/* Channel 4*/
new Supla::Control::PowerSwitch(); /* temp -/+ */
/* Channel 5*/
new Supla::Sensor::ThermometerEx(); /* temperatura nastawiona */
/* Channel 6 - Thermometer DS18B20 */
// 4 DS18B20 thermometers at pin 23. DS address can be omitted when there is only one device at a pin
DeviceAddress ds1addr = {0x28, 0xFF, 0xC8, 0xAB, 0x6E, 0x18, 0x01, 0xFC}; //adres należy odczytać z DS18B20
new Supla::Sensor::DS18B20(23, ds1addr);
}
class MyDigitalRead : public Supla::Io {
public:
int customDigitalRead(int channelNumber, uint8_t pin) {
switch (channelNumber) {
case 0: /* power_status */
{
return acState.powerStatus;
} break;
case 1: /* mode */
{
return acState.operation;
} break;
case 2: /* fan */
{
return acState.fan;
} break;
case 4: /* wartosc temperatury */
{
return acState.temperature;
} break;
};
}
void customDigitalWrite(int channelNumber, uint8_t pin, uint8_t val) {
bool send = true;
switch (channelNumber) {
case 0: /* power_status */
{
Serial.print("changing power state to: ");
Serial.println(val);
if (val == 0)
ac.next.power = false;
else if (val == 1)
ac.next.power = true;
acState.powerStatus = val;
} break;
case 1: /* mode */
{
Serial.print("changing operating mode to: ");
Serial.println(val);
if (val == 0)
ac.next.mode = stdAc::opmode_t::kCool;
else if (val == 1)
ac.next.mode = stdAc::opmode_t::kHeat;
acState.operation = val;
} break;
case 2: /* fan */
{
Serial.print("changing fan speed to: ");
Serial.println(val);
if (val == 0)
ac.next.fanspeed = stdAc::fanspeed_t::kLow;
else if (val == 1)
ac.next.fanspeed = stdAc::fanspeed_t::kAuto;
acState.fan = val;
} break;
case 3: /* temperature */
{
uint8_t temp = acState.temperature;
if (val == 0)
{
if (temp <= 18) return;
temp--;
} else if (val == 1)
{
if (temp >= 32) return;
temp++;
}
ac.next.degrees = temp;
acState.temperature = temp;
} break;
default: send = false;
};
if (send) {
Serial.println("sending data to device");
ac.sendAc();
}
}
};
MyDigitalRead instanceMyDigitalRead;
int C_W_state = HIGH;
int last_C_W_state = HIGH;
unsigned long time_last_C_W_change = 0;
long C_W_delay = 10000; // config delay 10 seconds
Supla::ESPWifi wifi("", "");
WiFiManager wifiManager;
void setup() {
EEPROM.begin(1024);
Serial.begin(115200);
ac.next.protocol = decode_type_t::ELECTRA_AC;
guid_authkey();
/* brak zapisanego SSID -> włączamy config */
if (WiFi.SSID() == "") {
initialConfig = true;
}
/* niepoprawna wartość w EEPROM -> włączamy config */
if (EEPROM.read(300) != 60) {
initialConfig = true;
}
/* odczytywanie z EEPROM parametrów konfigracyjnych SUPLA */
eeprom_read_string(20, Supla_server, max_cr);
Serial.print("Supla server: ");
Serial.println(Supla_server);
eeprom_read_string(105, Email, max_cr);
Serial.print("Email: ");
Serial.println(Email);
eeprom_read_string(200, Supla_name, max_cr);
Serial.print("Supla name: ");
Serial.println(Supla_name);
wifi_station_set_hostname(Supla_name);
WiFi.mode(WIFI_STA);
/* niestety wemos d1 nie ma wystarczająco duże pamięcie do obsługi SSL i WifiManager*/
wifi.enableSSL(false);
addControls();
SuplaDevice.setName(Supla_name);
SuplaDevice.setStatusFuncImpl( & status_func);
SuplaDevice.begin(GUID, Supla_server, Email, AUTHKEY);
ac.next.model = 1; // Some A/Cs have different models. Try just the first.
ac.next.mode = stdAc::opmode_t::kCool; // Run in cool mode initially.
ac.next.celsius = true; // Use Celsius for temp units. False = Fahrenheit
ac.next.degrees = acState.temperature; // 25 degrees.
ac.next.fanspeed = stdAc::fanspeed_t::kLow; // Start the fan at medium.
ac.next.swingv = stdAc::swingv_t::kOff; // Don't swing the fan up or down.
ac.next.swingh = stdAc::swingh_t::kOff; // Don't swing the fan left or right.
ac.next.light = false; // Turn off any LED/Lights/Display that we can.
ac.next.beep = false; // Turn off any beep from the A/C if we can.
ac.next.econo = false; // Turn off any economy modes if we can.
ac.next.filter = false; // Turn off any Ion/Mold/Health filters if we can.
ac.next.turbo = false; // Don't use any turbo/powerful/etc modes.
ac.next.quiet = false; // Don't use any quiet/silent/etc modes.
ac.next.sleep = -1; // Don't set any sleep time or modes.
ac.next.clean = false; // Turn off any Cleaning options if we can.
ac.next.clock = -1; // Don't set any current time if we can avoid it.
ac.next.power = false; // Initially start with the unit off.
}
void loop() {
// put your main code here, to run repeatedly:
if (initialConfig == true) {
initialConfig = false;
ondemandwifiCallback(false);
}
SuplaDevice.iterate();
yield();
}
-
- Posts: 37
- Joined: Sat Feb 22, 2020 12:03 pm
- Location: Warszawa
Adres ds'a to tylko jeśli ktoś będzie chciał spróbować podłączyć kilka. Dla pojedynczego zbędna komplikacja, jeśli się uszkodzi to trzeba będzie na nowo kompilować.
-
- Posts: 1
- Joined: Tue Feb 27, 2024 8:54 am
Odświeżam temat sterowania klimatyzacją przy pomocy supli za pośrednictwem podczerwieni. Czy komuś udało się to ostatnio uruchomić i mu to działa? Czy można poprosić o podzielenie się wsadem lub naprowadzenie jak można skompilować samodzielnie wsad?