sinricpro / esp8266-esp32-sdk

Library for https://sinric.pro - simple way to connect your device to Alexa, Google Home, SmartThings and cloud
https://sinric.pro
Other
231 stars 124 forks source link

Library conflict #177

Closed WirelessMind closed 3 years ago

WirelessMind commented 3 years ago

I can't use this library for conflict with ESP8266WebServer, at least that's what I understand

In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:26:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h: In function 'String HMACbase64(const String&, const String&)':
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:44:3: error: 'base64_encodestate' was not declared in this scope
   base64_encodestate _state;
   ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:44:3: note: suggested alternative:
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFiWebServer\src/libb64/cencode.h:46:3: note:   'esp8266webserver::base64_encodestate'
 } base64_encodestate;
etc...

Any solution? Thanks

kakopappa commented 3 years ago

Are you using the latest version of esp sdk?

On Thu, 15 Apr 2021 at 6:03 PM WirelessMind @.***> wrote:

I can't use this library for conflict with ESP8266WebServer, at least that's what I understand

In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0, from src\main.cpp:26: .pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h: In function 'String HMACbase64(const String&, const String&)': .pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:44:3: error: 'base64_encodestate' was not declared in this scope base64_encodestate _state; ^ .pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:44:3: note: suggested alternative: In file included from C:\users\microchip.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0, from C:\users\microchip.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259, from src\main.cpp:15: C:\users\microchip.platformio\packages\framework-arduinoespressif8266\libraries\WiFiWebServer\src/libb64/cencode.h:46:3: note: 'esp8266webserver::base64_encodestate' } base64_encodestate; etc...

Any solution? Thanks

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sinricpro/esp8266-esp32-sdk/issues/177, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZAZZS45MDOEPCLUA2SB6LTI3BWJANCNFSM427IAAHA .

WirelessMind commented 3 years ago

I use Espressif 8266 version 2.6.3

sivar2311 commented 3 years ago

Do you mean "Espressif 8266 2.6.3" in PlatformIO ? Or do you mean "Arduino Core 2.6.3" ?

WirelessMind commented 3 years ago

"Espressif 8266 2.6.3" in PlatformIO

sivar2311 commented 3 years ago

Which SinricPro Version do you use?

WirelessMind commented 3 years ago

sinricpro/SinricPro@^2.9.3

sivar2311 commented 3 years ago

I can't reproduce the issue. Everything is compiling fine. (SinricPro | 2.9.3, Espressif 8266 @ 2.6.3) Can you share the sketch, please?

WirelessMind commented 3 years ago

https://pastebin.com/ncEZMTeB

but the important is libraries included. There is no code about Sinric, only library include because if I don't solve it, it is useless to write the code for sinric

sivar2311 commented 3 years ago

Yeah, there are a lot of libraries included. I guess one of them is causing the issue. Please try to compile the simple switch example and let me know if the error happens there too.

WirelessMind commented 3 years ago

Yeah, there are a lot of libraries included. I guess one of them is causing the issue. Please try to compile the simple switch example and let me know if the error happens there too.


|-- <SinricPro> 2.9.3
|   |-- <ArduinoJson> 6.17.0
|   |-- <WiFiWebServer> 1.1.0
|   |   |-- <WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <WiFi> 1.0
|   |-- <WebSockets> 2.3.6
|   |   |-- <ESP8266WiFi> 1.0
|   |   |-- <ESPAsyncTCP> 1.2.2
|   |   |   |-- <ESP8266WiFi> 1.0
|   |   |-- <WiFi> 1.0
|   |   |-- <Ethernet(esp8266)> 1.0.4
|   |   |   |-- <SPI> 1.0
|   |   |-- <SPI> 1.0
|   |   |-- <Hash> 1.0
|   |   |-- <WiFiWebServer> 1.1.0
|   |   |   |-- <WiFi> 1.0
|-- <WebSockets> 2.3.6
|   |-- <ESP8266WiFi> 1.0
|   |-- <ESPAsyncTCP> 1.2.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <WiFi> 1.0
|   |-- <Ethernet(esp8266)> 1.0.4
|   |   |-- <SPI> 1.0
|   |-- <SPI> 1.0
|   |-- <Hash> 1.0
|   |-- <WiFiWebServer> 1.1.0
|   |   |-- <WiFi> 1.0
|-- <ESP8266WiFi> 1.0
Building in release mode
Compiling .pio\build\esp12e\src\main.cpp.o
Compiling .pio\build\esp12e\lib354\WiFi\ETH.cpp.o
Compiling .pio\build\esp12e\lib354\WiFi\WiFi.cpp.o
Compiling .pio\build\esp12e\lib354\WiFi\WiFiAP.cpp.o
Compiling .pio\build\esp12e\lib354\WiFi\WiFiClient.cpp.o
Compiling .pio\build\esp12e\lib354\WiFi\WiFiGeneric.cpp.o
Compiling .pio\build\esp12e\lib354\WiFi\WiFiMulti.cpp.o
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\ETH.h:24:0,
                 from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\ETH.cpp:21:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

Compiling .pio\build\esp12e\lib354\WiFi\WiFiSTA.cpp.o
 #include "IPv6Address.h"
                         ^
compilation terminated.
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.cpp:24:0:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

 #include "IPv6Address.h"
                         ^
compilation terminated.
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFiAP.cpp:25:0:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

 #include "IPv6Address.h"
                         ^
compilation terminated.
*** [.pio\build\esp12e\lib354\WiFi\ETH.cpp.o] Error 1
*** [.pio\build\esp12e\lib354\WiFi\WiFi.cpp.o] Error 1
*** [.pio\build\esp12e\lib354\WiFi\WiFiAP.cpp.o] Error 1
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFiGeneric.cpp:25:0:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

 #include "IPv6Address.h"
                         ^
compilation terminated.
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFiMulti.h:29:0,
                 from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFiMulti.cpp:26:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

 #include "IPv6Address.h"
                         ^
compilation terminated.
*** [.pio\build\esp12e\lib354\WiFi\WiFiGeneric.cpp.o] Error 1
*** [.pio\build\esp12e\lib354\WiFi\WiFiMulti.cpp.o] Error 1
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFiSTA.cpp:25:0:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

 #include "IPv6Address.h"
                         ^
compilation terminated.
*** [.pio\build\esp12e\lib354\WiFi\WiFiSTA.cpp.o] Error 1
In file included from C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFiClient.cpp:21:0:
C:\users\microchip\.platformio\packages\framework-arduinoespressif8266\libraries\WiFi\src\WiFi.h:29:25: fatal error: IPv6Address.h: No such file or directory

*********************************************************************
* Looking for IPv6Address.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:IPv6Address.h"
* Web  > https://platformio.org/lib/search?query=header:IPv6Address.h
*
*********************************************************************

 #include "IPv6Address.h"
                         ^
compilation terminated.
*** [.pio\build\esp12e\lib354\WiFi\WiFiClient.cpp.o] Error 1
================================================================================================== [FAILED] Took 4.17 seconds ==================================================================================================
The terminal process "C:\Users\Microchip\.platformio\penv\Scripts\platformio.exe 'run', '--environment', 'esp12e'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.```
sivar2311 commented 3 years ago

This is definetly not caused by SinricPro Library. Looks like somethings wrong with your PlatformIO setup. I suggest a clean up (complete reinstall).

WirelessMind commented 3 years ago

I suggest a clean up (complete reinstall).

Noooooo I reinstalled VScode and Platform.IO and now I get

C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266HTTPClient\src\ESP8266HTTPClient.cpp: In member function 'bool HTTPClient::beginInternal(const String&, const char*)':
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266HTTPClient\src\ESP8266HTTPClient.cpp:322:32: error: 'base64' has not been declared
         _base64Authorization = base64::encode(auth, false /* doNewLines */);
                                ^
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266HTTPClient\src\ESP8266HTTPClient.cpp: In member function 'void HTTPClient::setAuthorization(const char*, const char*)':
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266HTTPClient\src\ESP8266HTTPClient.cpp:510:32: error: 'base64' has not been declared
         _base64Authorization = base64::encode(auth, false /* doNewLines */);
                                ^

even without Sinricpro!!!!

:( :( :(

sivar2311 commented 3 years ago

Yepp, that's what i am trying to say...

WirelessMind commented 3 years ago

yes, but at least before my sketch worked!!! :'(

sivar2311 commented 3 years ago

The sketch is ... abit complex and have a lot of inlcudes.

Start with a very basic sketch. Step by step... First wifi only, then add the next feature. To see where the issue comes from.

Did you wrote the sketch on your own, or is it a mix of multiple different sketches?

WirelessMind commented 3 years ago

I wrote on my own about one year ago...

sivar2311 commented 3 years ago

There have been a lot of changes in the Espressif framework during the last year.

WirelessMind commented 3 years ago

But during the year I have always updated it and it has always worked. It started giving me problems when I added the sinricpro library. If commented on sinrcpro, it worked. Then I reinstalled platform.io and it no longer works even without sinricpro.

Now if I comment the library (and obviously removed the functions that use it), compile without problems. But I need the ESP8266HTTPClient.h library, I can't delete it!

sivar2311 commented 3 years ago

Did you clean up the .pio/libdeps folder in your project?

sivar2311 commented 3 years ago

I don't have any issues when including to a SinricPro project.

WirelessMind commented 3 years ago

Did you clean up the .pio/libdeps folder in your project?

no. I did it now and it worked !!! Thank you!!!

But now if I include sinricpro I get errors again!!!


In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h: In function 'String HMACbase64(const String&, const String&)':
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:45:3: error: 'base64_encodestate' was not declared in this scope
   base64_encodestate _state;
   ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:45:3: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:31:3: note:   'esp8266webserver::base64_encodestate'
 } base64_encodestate;
   ^
In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:45:22: error: expected ';' before '_state'
   base64_encodestate _state;
                      ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:46:28: error: '_state' was not declared in this scope
   base64_init_encodestate(&_state);
                            ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:46:34: error: 'base64_init_encodestate' was not declared in this scope
   base64_init_encodestate(&_state);
                                  ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:46:34: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:33:6: note:   'esp8266webserver::base64_init_encodestate'
 void base64_init_encodestate(base64_encodestate* state_in);
      ^
In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:51:89: error: 'base64_encode_block' was not declared in this scope
   int len = base64_encode_block((const char *)hmacResult, 32, base64encodedHMAC, &_state);
                                                                                         ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:51:89: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:38:5: note:   'esp8266webserver::base64_encode_block'
 int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in);
     ^
In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:52:60: error: 'base64_encode_blockend' was not declared in this scope
   base64_encode_blockend((base64encodedHMAC + len), &_state);
                                                            ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:52:60: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:40:5: note:   'esp8266webserver::base64_encode_blockend'
 int base64_encode_blockend(char* code_out, base64_encodestate* state_in);
     ^
src\main.cpp: In function 'String httpGETRequest(String, String)':
src\main.cpp:469:26: warning: 'bool HTTPClient::begin(String)' is deprecated (declared at C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:174) [-Wdeprecated-declarations]
     http.begin(serverName);                                               //Specify request destination
                          ^
src\main.cpp:479:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
*** [.pio\build\esp12e\src\main.cpp.o] Error 1```
sivar2311 commented 3 years ago

Please try again with simple switch example

WirelessMind commented 3 years ago

Please try again with simple switch example

yes, it is works. But it works only with 3 libraries in project.

include

include "SinricPro.h"

include "SinricProSwitch.h"

if it conflicts with the libraries I need, I can't use it

sivar2311 commented 3 years ago

SinricPro makes (beside WebSocket and ArduinoJson) use of standard libraries provided by espressif / arduino framework. If this conflicts with one of your needed libraries - i am sorry to say, but i cannot help.

Edit: Again, i have no issues compiling a SinricPro project using "ESP8266WebClient.h"

WirelessMind commented 3 years ago

Ok, Is not a problem with ESP8266WebClient. I commented an useless library and now I returned to initial problem: Sinricpro and base64_encodestate

In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h: In function 'String HMACbase64(const String&, const String&)':
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:45:3: error: 'base64_encodestate' was not declared in this scope
   base64_encodestate _state;
   ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:45:3: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:31:3: note:   'esp8266webserver::base64_encodestate'
 } base64_encodestate;
   ^
In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:45:22: error: expected ';' before '_state'
   base64_encodestate _state;
                      ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:46:28: error: '_state' was not declared in this scope
   base64_init_encodestate(&_state);
                            ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:46:34: error: 'base64_init_encodestate' was not declared in this scope
   base64_init_encodestate(&_state);
                                  ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:46:34: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:33:6: note:   'esp8266webserver::base64_init_encodestate'
 void base64_init_encodestate(base64_encodestate* state_in);
      ^
In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:51:89: error: 'base64_encode_block' was not declared in this scope
   int len = base64_encode_block((const char *)hmacResult, 32, base64encodedHMAC, &_state);
                                                                                         ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:51:89: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:38:5: note:   'esp8266webserver::base64_encode_block'
 int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in);
     ^
In file included from .pio\libdeps\esp12e\SinricPro\src/SinricPro.h:15:0,
                 from src\main.cpp:27:
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:52:60: error: 'base64_encode_blockend' was not declared in this scope
   base64_encode_blockend((base64encodedHMAC + len), &_state);
                                                            ^
.pio\libdeps\esp12e\SinricPro\src/SinricProSignature.h:52:60: note: suggested alternative:
In file included from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:24:0,
                 from C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:259,
                 from src\main.cpp:15:
C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/libb64/cencode.h:40:5: note:   'esp8266webserver::base64_encode_blockend'
 int base64_encode_blockend(char* code_out, base64_encodestate* state_in);
     ^
src\main.cpp: In function 'String httpGETRequest(String, String)':
src\main.cpp:469:26: warning: 'bool HTTPClient::begin(String)' is deprecated (declared at C:\Users\Microchip\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:174) [-Wdeprecated-declarations]
     http.begin(serverName);                                               //Specify request destination
                          ^
src\main.cpp:479:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
*** [.pio\build\esp12e\src\main.cpp.o] Error 1
sivar2311 commented 3 years ago

base64_encodestate is included in framework-arduinoespressif8266/cores/esp8266/libb64/cencode.h

Maybe one of your libraries is colliding with this. If this is so, please open an issue in the corresponding library's git repository.

WirelessMind commented 3 years ago

I don't understand why, but basically it was enough to put #include "SinricPro.h" as include after the first include "Arduino.h" If I put it at the end of other includes it gives that error.

sivar2311 commented 3 years ago

Because one of the other libraries is causing the incompatibility. Good that you have found a solution.

I was only surprised that your sketch does not contain a single SinricPro function. What kind of project will it be, if I may ask?

sivar2311 commented 3 years ago

Btw: strange that you reported a similar issue in another git repository yesteray, but not related to SinricPro

WirelessMind commented 3 years ago

Because one of the other libraries is causing the incompatibility. Good that you have found a solution.

I was only surprised that your sketch does not contain a single SinricPro function. What kind of project will it be, if I may ask?

It doesn't contain sinric functions yet just because I have to add them now. I have to add it for the temperature and humidity sensor. Now I get the ESP data from the web, from telegram and on home assistant via MQTT. I wanted to add Alexa too. That sounds like too much, but in fact I'm just experimenting with various test solutions

Btw: strange that you reported a similar issue in another git repository yesteray, but not related to SinricPro

yes, but yesterday I still hadn't cleaned everything up. As I said I am experimenting with some libraries. However, in the end I removed FauxmoESP because it supports lights and swtich, but not the temperature / humidity sensor

sivar2311 commented 3 years ago

That sounds like too much, but in fact I'm just experimenting with various test solutions

Yes...this will end up in a very complex project. I suggest to do it step by step.... then combining them step by step

WirelessMind commented 3 years ago

if I write the various parts separately and then they are not compatible with each other, however, I would not have solved anything. After all, every function I add text and if it works I go ahead. In the end this project was born a year ago only with the 433Mhz receiving antenna to read sensors. Then I added the DB save. Then I put Telegram. Later I added the DHT11 sensor, then the display. Later also the transmission antenna 433, etc ... Over the years it will become a nuclear power plant! ahahaaha

sivar2311 commented 3 years ago

Good luck furthermore!

(I just hope the nuclear power plant does not explode ;)

WirelessMind commented 3 years ago

I hope too! :D