Cayenne IoT - ESP-01 integration

Hello everyone,

i'm quite new with Arduino because i'm mainly using AVR studio and Atmega chips for my projects.
I'm using now Arduino Ide and libraries because ESP-01 requires it.
The Arduino ide runs on my Raspberry Pi and the ESP-01 connected directly to TXD, RXD pins.
When writing custom code in Arduino it normally downloads and runs on ESP-01.
Today i was trying to integrate the ESP-01 standalone to Cayenne IOT. Therefore I donwloaded MQTT libraries.
I opened the example project and hit verify.
The following error has shown up:

<command-line>:0:9: error: expected identifier before numeric constant
/home/pi/Arduino/libraries/CayenneMQTT/src/ESP8266SerialLibrary/ESP8266SerialLibrary.h:39:7: note: in expansion of macro 'ESP8266'
 class ESP8266 {
<command-line>:0:9: error: expected unqualified-id before numeric constant
/home/pi/Arduino/libraries/CayenneMQTT/src/ESP8266SerialLibrary/ESP8266SerialLibrary.h:39:7: note: in expansion of macro 'ESP8266'
 class ESP8266 {
exit status 1
Error compiling for board Generic ESP8266 Module.

The code itself is the example code of CayenneMQTT

// This example shows how to connect to Cayenne using an ESP8266 and send/receive sample data.
// Make sure you install the ESP8266 Board Package via the Arduino IDE Board Manager and select the correct ESP8266 board before compiling. 

#define CAYENNE_PRINT Serial
#include <CayenneMQTTESP8266.h>

// WiFi network info.
char ssid[] = "***";
char wifiPassword[] = "***";

// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username[] = "***";
char password[] = "***";
char clientID[] = "***";

unsigned long lastMillis = 0;

void setup() {
 Cayenne.begin(username, password, clientID, ssid, wifiPassword);

void loop() {

// Default function for sending sensor data at intervals to Cayenne.
// You can also use functions for specific channels, e.g CAYENNE_OUT(1) for sending channel 1 data.
 // Write data to Cayenne here. This example just sends the current uptime in milliseconds on virtual channel 0.
 Cayenne.virtualWrite(0, millis());
 // Some examples of other functions you can use to send data.
 //Cayenne.celsiusWrite(1, 22.0);
 //Cayenne.luxWrite(2, 700);
 //Cayenne.virtualWrite(3, 50, TYPE_PROXIMITY, UNIT_CENTIMETER);

// Default function for processing actuator commands from the Cayenne Dashboard.
// You can also use functions for specific channels, e.g CAYENNE_IN(1) for channel 1 commands.
 CAYENNE_LOG("Channel %u, value %s",, getValue.asString());
 //Process message here. If there is an error set an error message using getValue.setError(), e.g getValue.setError("Error message");

Yes I have downloaded the latest board definition, latest libraries for ESP8266 and Cayenne.

What could cause the error and how to resolve it?

Thank you very much for your time and help in advance.