did you integrate it into home assistant? I’m curious on how to do it
Hi Chris, I want to do the same way you have described. Could I get please the full documentation you’ve mentioned in your post. Regards
Sure, please PM me your email address
Hi Chris, is it necessary to change a lot in the project for the ESP32? Do you already have something ready? Do the connection pins also need to be changed? Thanks again for your availability!
Hi!
I have added ESP32 to the project for you to test. You can now build the firmware with “pio run -e ESP32” (you need to update the repository or re-download it). The pins are hardware serial 1 (GPIO9 (R) and 10 (W)).
I have NOT tested this with an ESP32. So please be aware you are the first to test it
Hi, thank you very much for your prompt response! I’m definitely doing something wrong, but when I try to run it, I get this output:
Output
In file included from src/wifi.h:15,
from src/wifi.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
In file included from src/WiFi.h:15,
from .pio/libdeps/ESP32/ElegantOTA/src/ElegantOTA.h:16,
from src/ota.h:8,
from src/main.h:20,
from src/httpHandlers.h:8,
from src/httpHandlers.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
In file included from src/WiFi.h:15,
from .pio/libdeps/ESP32/ElegantOTA/src/ElegantOTA.h:16,
from src/ota.h:8,
from src/main.h:20,
from src/modbus_ascii.h:11,
from src/fancoil.h:12,
from src/fancoil.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
src/wifi.cpp: In function 'boolean waitForWifi(long unsigned int)':
src/wifi.cpp:33:13: error: 'WiFi' was not declared in this scope
while (!WiFi.isConnected() && (millis() - waitForConnectStart) < timeout) {
^~~~
src/wifi.cpp:37:12: error: 'WiFi' was not declared in this scope
return WiFi.isConnected();
^~~~
src/wifi.cpp: In function 'void connectToWifi()':
src/wifi.cpp:47:5: error: 'WiFi' was not declared in this scope
WiFi.scanDelete();
^~~~
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
src/wifi.cpp:49:15: error: 'WIFI_STA' was not declared in this scope
WiFi.mode(WIFI_STA);
^~~~~~~~
src/wifi.cpp:49:15: note: suggested alternative: 'WIFI_IF_STA'
WiFi.mode(WIFI_STA);
^~~~~~~~
WIFI_IF_STA
src/wifi.cpp:97:27: error: 'WIFI_OFF' was not declared in this scope
WiFi.mode(WIFI_OFF);
^~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
src/wifi.cpp:97:27: note: suggested alternative: 'WIFI_IF_AP'
WiFi.mode(WIFI_OFF);
^~~~~~~~
WIFI_IF_AP
src/wifi.cpp: In function 'void setupWifi(const char*, const char*, const char*, long unsigned int, long unsigned int, long unsigned int, long unsigned int)':
src/wifi.cpp:143:5: error: 'WiFi' was not declared in this scope
WiFi.mode(WIFI_STA);
^~~~
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
src/wifi.cpp:143:15: error: 'WIFI_STA' was not declared in this scope
WiFi.mode(WIFI_STA);
^~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
src/wifi.cpp:143:15: note: suggested alternative: 'WIFI_IF_STA'
WiFi.mode(WIFI_STA);
^~~~~~~~
WIFI_IF_STA
src/wifi.cpp: In function 'void loopWifi()':
src/wifi.cpp:174:10: error: 'WiFi' was not declared in this scope
if (!WiFi.isConnected()) {
^~~~
In file included from src/WiFi.h:15,
from .pio/libdeps/ESP32/ElegantOTA/src/ElegantOTA.h:16,
from src/ota.h:8,
from src/main.h:20,
from src/modbus_ascii.h:11,
from src/fancoil.h:12,
from src/fancoil_manager.h:10,
from src/fancoil_manager.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
src/wifi.cpp:180:9: error: 'WiFi' was not declared in this scope
if (WiFi.isConnected()) {
^~~~
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
src/wifi.cpp: In function 'void sendRSSI()':
src/wifi.cpp:202:51: error: 'WiFi' was not declared in this scope
wifiMgrServer->send(200, "text/plain", String(WiFi.RSSI()));
^~~~
src/wifi.cpp: In function 'void isConnected()':
src/wifi.cpp:206:51: error: 'WiFi' was not declared in this scope
wifiMgrServer->send(200, "text/plain", String(WiFi.isConnected()));
^~~~
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
src/wifi.cpp: In function 'void ssid()':
src/wifi.cpp:210:44: error: 'WiFi' was not declared in this scope
wifiMgrServer->send(200, "text/plain", WiFi.SSID());
^~~~
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
src/wifi.cpp: In function 'void bssid()':
src/wifi.cpp:214:44: error: 'WiFi' was not declared in this scope
wifiMgrServer->send(200, "text/plain", WiFi.BSSIDstr());
^~~~
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
src/wifi.cpp: In function 'void status()':
src/wifi.cpp:218:27: error: 'WiFi' was not declared in this scope
String s = "ssid: " + WiFi.SSID() + "\nconnected: " + String(WiFi.isConnected()) + "\nbssid: " + WiFi.BSSIDstr() + "\nrssi: " + String(WiFi.RSSI()) + "\nuptime: " + String(millis()/1000) + "s\nlast scan: " + String((millis() - wifiMgrLastScan)/1000) + "s\nscanned: " + String(wifiMgrScanCount) + " times\nconnected: " + String(wifiMgrConnectCount) + " times";
^~~~
In file included from src/WiFi.h:15,
from .pio/libdeps/ESP32/ElegantOTA/src/ElegantOTA.h:16,
from src/ota.h:8,
from src/main.h:20,
from src/main.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
src/fancoil.cpp: In member function 'bool Fancoil::writeSwingIfNeeded(Stream*)':
Compiling .pio\build\ESP32\libd27\ElegantOTA\ElegantOTA.cpp.o
src/fancoil.cpp:534:9: error: 'WiFi' was not declared in this scope
if (WiFi.macAddress() == "48:3F:DA:45:35:EE") {
^~~~
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
In file included from src/WiFi.h:15,
from .pio/libdeps/ESP32/ElegantOTA/src/ElegantOTA.h:16,
from src/ota.h:8,
from src/ota.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
In file included from src/WiFi.h:15,
from .pio/libdeps/ESP32/ElegantOTA/src/ElegantOTA.h:16,
from src/ota.h:8,
from src/main.h:20,
from src/modbus_ascii.h:11,
from src/modbus_ascii.cpp:1:
*PATH*/libraries/WebServer/src/WebServer.h:112:11: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
virtual WiFiClient client() { return _currentClient; }
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
*** [.pio\build\ESP32\src\wifi.cpp.o] Error 1
*PATH*/libraries/WebServer/src/WebServer.h:170:22: error: 'WiFiClient' has not been declared
bool _parseRequest(WiFiClient& client);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:173:19: error: 'WiFiClient' has not been declared
bool _parseForm(WiFiClient& client, String boundary, uint32_t len);
^~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:176:23: error: 'WiFiClient' has not been declared
int _uploadReadByte(WiFiClient& client);
^~~~~~~~~~
*** [.pio\build\ESP32\src\fancoil.cpp.o] Error 1
*PATH*/libraries/WebServer/src/WebServer.h:192:3: error: 'WiFiServer' does not name a type; did you mean 'WebServer'?
WiFiServer _server;
^~~~~~~~~~
WebServer
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:194:3: error: 'WiFiClient' does not name a type; did you mean 'DNSClient'?
WiFiClient _currentClient;
^~~~~~~~~~
DNSClient
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
*** [.pio\build\ESP32\src\httpHandlers.cpp.o] Error 1
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
src/main.cpp: In function 'void setup()':
src/main.cpp:65:18: error: 'WiFi' was not declared in this scope
debugPrintln(WiFi.localIP().toString());
^~~~
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'size_t WebServer::streamFile(T&, const String&, int)':
*PATH*/libraries/WebServer/src/WebServer.h:161:12: error: '_currentClient' was not declared in this scope
return _currentClient.write(file);
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:161:12: note: suggested alternative: '_currentClientWrite'
return _currentClient.write(file);
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:165:72: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
*PATH*/libraries/WebServer/src/WebServer.h:165:72: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite(const char* b, size_t l) { return _currentClient.write( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*PATH*/libraries/WebServer/src/WebServer.h: In member function 'virtual size_t WebServer::_currentClientWrite_P(const char*, size_t)':
*PATH*/libraries/WebServer/src/WebServer.h:166:68: error: '_currentClient' was not declared in this scope
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
*** [.pio\build\ESP32\src\fancoil_manager.cpp.o] Error 1
*PATH*/libraries/WebServer/src/WebServer.h:166:68: note: suggested alternative: '_currentClientWrite'
virtual size_t _currentClientWrite_P(PGM_P b, size_t l) { return _currentClient.write_P( b, l ); }
^~~~~~~~~~~~~~
_currentClientWrite
*** [.pio\build\ESP32\src\main.cpp.o] Error 1
*** [.pio\build\ESP32\src\ota.cpp.o] Error 1
*** [.pio\build\ESP32\src\modbus_ascii.cpp.o] Error 1
= [FAILED] Took 4.32 seconds =
Environment Status Duration
------------- -------- ------------
ESP32 FAILED 00:00:04.317
1 failed, 0 succeeded in 00:00:04.317
i’ve replaced “C:/Users/user/.platformio/packages/framework-arduinoespressif32” with “path” to shorten the character count.
No idea tbh. If you think its a problem with the project itself it would be great if you could open an issue on github
Ok, I found the problem. Essentially, the file wifi.h
was conflicting with the WiFi.h
library.
I changed the file name and updated the include in wifi.cpp
accordingly.
Now I’ll try putting everything together and keeping my fingers crossed! Thanks!!
Ah, interesting!
It could be that you are on a windows machine which has case insensitive file systems.
I didnt think about that.
@dumpfheimer could you also send me a private photo of the connection between the max485 and the fancoil? I’m not sure about the connection I’m using.
Also, could you tell me how you integrated it with Home Assistant? Thanks again
hello @dumpfheimer, I use the Olimpia system with BTicino MyHome. The Olimpia boards are addressed by BTicino, and it often happens that they lose their Modbus address, forcing me to send them back to BTicino for reprogramming. If I wanted to do it myself, could you explain what is needed?
It seems to me that a Wemos D1 Mini Lite connected to a MAX485 Module is required. However, since I am NOT interested in managing the fan coil but only in reprogramming the Olimpia remote board, what should I do?
Let me know if you need any further refinements!
You can see the connections that need to be made on the github page if you need help please open an issue there
I’m afraid if you can not set the adress via the device you will need an other device capable of it. I think an esp and max are probably your best options.
I have had two devices loose their address once. Both arw on the same bus. Not sure if it is an electrical issue or if they have difficulties when multiple devices are on a bus. But you could check if terminating resistors have been added where necessary. Bad connections might be an issue.
Hello, thank you for your kind response. Yes, I think I absolutely need to change the address of the remote board. Now, I want to ask you something, but perhaps I haven’t fully understood the situation.
I have 8 Olimpia Splendid Bi2 Wall fan coils connected together via a single Modbus cable, which is linked to a Bticino Modbus converter with a Bticino driver manager. According to Bticino, it’s not possible to change the addresses of the remote boards, and now I have two fan coils that aren’t working because both have address 1.
Should I connect a Wemos D1 Mini Lite + an ANGEEK MAX485 module to each fan coil, or to the remote board of the ones that aren’t functioning, or to the final cable that goes to the Bticino converter? Sorry, but I’m not sure how to connect everything.
hello @dumpfheimer finally I can communicate with the fan coil units via Modbus. I assume that register 200 is used to change the device ID, correct? From register 101, I can see the various states, but if I want to change the setpoint or turn the fan coils on and off using Modbus tools, how should I proceed? I tried writing to register 103 to change the temperature, but nothing happens… What am I doing wrong? Do I need to write something in a specific sequence?
You need to write 2 registers periodically. One with the room temperature and then some bits that represent the state of the fancoil (heat/cool/fan speed on/off etc). Also the fan coils need to be in “remote enabled” mode.
PM me your email adress and I can send you a PDF with sme information about the protocol.