Trying to compile EmonESP failes with ‘WiFi’ was not declared in this scope.
Arduino IDE and all libraries are updated right now.
The error message is:
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\mqtt.cpp: In function 'void mqtt_publish(String)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\mqtt.cpp:152:15: error: 'WiFi' was not declared in this scope
152 | long rssi = WiFi.RSSI();
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void startAP()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:92:3: error: 'WiFi' was not declared in this scope
92 | WiFi.enableAP(true);
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void startClient()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:142:3: error: 'WiFi' was not declared in this scope
142 | WiFi.enableSTA(true);
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: At global scope:
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:172:6: error: variable or field 'WiFiEvent' declared void
172 | void WiFiEvent(WiFiEvent_t event)
| ^~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:172:16: error: 'WiFiEvent_t' was not declared in this scope
172 | void WiFiEvent(WiFiEvent_t event)
| ^~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_setup()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:338:3: error: 'WiFi' was not declared in this scope
338 | WiFi.onEvent(WiFiEvent);
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:338:16: error: 'WiFiEvent' was not declared in this scope
338 | WiFi.onEvent(WiFiEvent);
| ^~~~~~~~~
In file included from C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:29:
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_loop()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:124:40: error: 'WIFI_STA' was not declared in this scope
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:365:19: note: in expansion of macro 'wifi_mode_is_sta'
365 | bool isClient = wifi_mode_is_sta();
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:124:53: error: 'WiFi' was not declared in this scope
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:365:19: note: in expansion of macro 'wifi_mode_is_sta'
365 | bool isClient = wifi_mode_is_sta();
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:126:40: error: 'WIFI_AP' was not declared in this scope
126 | #define wifi_mode_is_ap() (WIFI_AP == (WiFi.getMode() & WIFI_AP))
| ^~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:367:15: note: in expansion of macro 'wifi_mode_is_ap'
367 | bool isAp = wifi_mode_is_ap();
| ^~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:131:41: error: 'WIFI_AP_STA' was not declared in this scope
131 | (WIFI_AP_STA == WiFi.getMode() && !wifi_is_client_configured()))
| ^~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:368:19: note: in expansion of macro 'wifi_mode_is_ap_only'
368 | bool isApOnly = wifi_mode_is_ap_only();
| ^~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_scan()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:518:11: error: 'WiFi' was not declared in this scope
518 | int n = WiFi.scanNetworks();
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_disconnect()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:124:40: error: 'WIFI_STA' was not declared in this scope
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:541:7: note: in expansion of macro 'wifi_mode_is_sta'
541 | if (wifi_mode_is_sta()) {
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:124:53: error: 'WiFi' was not declared in this scope
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:541:7: note: in expansion of macro 'wifi_mode_is_sta'
541 | if (wifi_mode_is_sta()) {
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_turn_off_ap()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:126:40: error: 'WIFI_AP' was not declared in this scope
126 | #define wifi_mode_is_ap() (WIFI_AP == (WiFi.getMode() & WIFI_AP))
| ^~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:550:7: note: in expansion of macro 'wifi_mode_is_ap'
550 | if (wifi_mode_is_ap()) {
| ^~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:126:52: error: 'WiFi' was not declared in this scope
126 | #define wifi_mode_is_ap() (WIFI_AP == (WiFi.getMode() & WIFI_AP))
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:550:7: note: in expansion of macro 'wifi_mode_is_ap'
550 | if (wifi_mode_is_ap()) {
| ^~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'void wifi_turn_on_ap()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:126:40: error: 'WIFI_AP' was not declared in this scope
126 | #define wifi_mode_is_ap() (WIFI_AP == (WiFi.getMode() & WIFI_AP))
| ^~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:559:8: note: in expansion of macro 'wifi_mode_is_ap'
559 | if (!wifi_mode_is_ap()) {
| ^~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.h:126:52: error: 'WiFi' was not declared in this scope
126 | #define wifi_mode_is_ap() (WIFI_AP == (WiFi.getMode() & WIFI_AP))
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:559:8: note: in expansion of macro 'wifi_mode_is_ap'
559 | if (!wifi_mode_is_ap()) {
| ^~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp: In function 'bool wifi_client_connected()':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:566:10: error: 'WiFi' was not declared in this scope
566 | return WiFi.isConnected() && (WIFI_STA == (WiFi.getMode() & WIFI_STA));
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\wifi.cpp:566:33: error: 'WIFI_STA' was not declared in this scope
566 | return WiFi.isConnected() && (WIFI_STA == (WiFi.getMode() & WIFI_STA));
| ^~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\emoncms.cpp: In function 'void emoncms_publish(const char*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\emoncms.cpp:49:5: error: 'WiFi' was not declared in this scope
49 | WiFi.RSSI(), emoncms_node.c_str(), emoncms_apikey.c_str());
| ^~~~
In file included from C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.h:35,
from C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:31:
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp: In function 'bool requestPreProcess(AsyncWebServerRequest*, AsyncResponseStream*&, const char*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:124:40: error: 'WIFI_STA' was not declared in this scope; did you mean 'WIFI_IF_STA'?
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:109:7: note: in expansion of macro 'wifi_mode_is_sta'
109 | if (wifi_mode_is_sta() && www_username != "" &&
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:124:53: error: 'WiFi' was not declared in this scope
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:109:7: note: in expansion of macro 'wifi_mode_is_sta'
109 | if (wifi_mode_is_sta() && www_username != "" &&
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp: In function 'void handleHome(AsyncWebServerRequest*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:124:40: error: 'WIFI_STA' was not declared in this scope; did you mean 'WIFI_IF_STA'?
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:133:10: note: in expansion of macro 'wifi_mode_is_sta'
133 | && wifi_mode_is_sta()) {
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:124:53: error: 'WiFi' was not declared in this scope
124 | #define wifi_mode_is_sta() (WIFI_STA == (WiFi.getMode() & WIFI_STA))
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:133:10: note: in expansion of macro 'wifi_mode_is_sta'
133 | && wifi_mode_is_sta()) {
| ^~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp: In function 'void handleScan(AsyncWebServerRequest*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:159:11: error: 'WiFi' was not declared in this scope
159 | int n = WiFi.scanComplete();
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp: In function 'void handleStatus(AsyncWebServerRequest*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:125:40: error: 'WIFI_STA' was not declared in this scope; did you mean 'WIFI_IF_STA'?
125 | #define wifi_mode_is_sta_only() (WIFI_STA == WiFi.getMode())
| ^~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:400:7: note: in expansion of macro 'wifi_mode_is_sta_only'
400 | if (wifi_mode_is_sta_only()) {
| ^~~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:125:52: error: 'WiFi' was not declared in this scope
125 | #define wifi_mode_is_sta_only() (WIFI_STA == WiFi.getMode())
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:400:7: note: in expansion of macro 'wifi_mode_is_sta_only'
400 | if (wifi_mode_is_sta_only()) {
| ^~~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:130:41: error: 'WIFI_AP' was not declared in this scope; did you mean 'WIFI_IF_AP'?
130 | #define wifi_mode_is_ap_only() ((WIFI_AP == WiFi.getMode()) || \
| ^~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:402:14: note: in expansion of macro 'wifi_mode_is_ap_only'
402 | } else if (wifi_mode_is_ap_only()) {
| ^~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:131:41: error: 'WIFI_AP_STA' was not declared in this scope; did you mean 'WIFI_IF_STA'?
131 | (WIFI_AP_STA == WiFi.getMode() && !wifi_is_client_configured()))
| ^~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:402:14: note: in expansion of macro 'wifi_mode_is_ap_only'
402 | } else if (wifi_mode_is_ap_only()) {
| ^~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:410:32: error: 'WiFi' was not declared in this scope
410 | s += "\"srssi\":\"" + String(WiFi.RSSI()) + "\",";
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp: In function 'void handleRst(AsyncWebServerRequest*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:532:3: error: 'WiFi' was not declared in this scope
532 | WiFi.disconnect(false, true);
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp: In function 'void handleNotFound(AsyncWebServerRequest*)':
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:130:41: error: 'WIFI_AP' was not declared in this scope; did you mean 'WIFI_IF_AP'?
130 | #define wifi_mode_is_ap_only() ((WIFI_AP == WiFi.getMode()) || \
| ^~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:725:7: note: in expansion of macro 'wifi_mode_is_ap_only'
725 | if (wifi_mode_is_ap_only()) {
| ^~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:130:52: error: 'WiFi' was not declared in this scope
130 | #define wifi_mode_is_ap_only() ((WIFI_AP == WiFi.getMode()) || \
| ^~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:725:7: note: in expansion of macro 'wifi_mode_is_ap_only'
725 | if (wifi_mode_is_ap_only()) {
| ^~~~~~~~~~~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src/WiFi.h:131:41: error: 'WIFI_AP_STA' was not declared in this scope; did you mean 'WIFI_IF_STA'?
131 | (WIFI_AP_STA == WiFi.getMode() && !wifi_is_client_configured()))
| ^~~~~~~~~~~
C:\Users\UNSERNAME\Documents\Arduino\Split-Single-Phase-Energy-Meter-master\Software\EmonESP\src\web_server.cpp:725:7: note: in expansion of macro 'wifi_mode_is_ap_only'
725 | if (wifi_mode_is_ap_only()) {
| ^~~~~~~~~~~~~~~~~~~~
exit status 1
Compilation error: 'WiFi' was not declared in this scope
Any idea what to do?