LED Matrix MQTT Sign

My starting point is the same as @keithh666. This will mean you will need his upload for the libraries as he used an older version of Parola which i could not find in Arduino so i had to place it in the libraries directory manually. For now i only have a quick pastebin available for you: https://pastebin.com/ddNUfDZd

I will also try to clean up my node red flows and post them.

Update: no need for fiddling with old libraries: LED Matrix MQTT Sign

1 Like

This is an example of my Node RED flow. You can import it into Node RED. You need the “Moment” palette for the date formatting to work. And off course you will need to adjust the connection of your MQTT broker and HA instance.

Some texts are still in Dutch and some things will depend on things you probably won’t have available (for example i use Buienradar weather component which only makes sense for Dutch users). But you can use this as a starting point :wink:

https://pastebin.com/nBqmHtmM

1 Like

I still seem to have the old libraries… How would I archive to build this
?

You would use the library manager to update the libraries in ide :slight_smile:

This is nice, i will try this too. thanks @vbh

1 Like

i recently updates some libraries, my bad…@vbh

Now i see a bunch of errors on compile, can you tell me what versions of libraries your running to compile them?

Fantastic, it works out of the box.:hugs:

I have also updated my code to work with the newest versions (3.0.1 for both currently) of the MAX72xx and MD_Parola libraries you can install from within the Arduino editor.

Here’s the updated version: https://pastebin.com/qaaQbfdq

1 Like

Amazing :wink: thanks

Hey @vbh

I’m getting around to building your project - what version of the PubSubClient library did you use? I’m having issues building your sketch with the latest PubSubClient from the Arduino library.

Edit: I got this working - you need to use the old version of the PubSubClient library which is attached by the OP of this thread. The newer version use a different command structure and that messes up the code. Got it up and running now with that change.

Hey @keithh666

I have your project up and running. The text being displayed is unreadable though. I think I need to change the pins for my hardware? But I am not sure. I am very new with the esp and matrix boards.

Any help would be greatly appreciated.

Got it working. I had to change the HW type in the MDmax72xx.h

I think it is either 2.4 or 2.6. 2.4 seems to be what was included in the original download of the topic starter.

By the way; my matrix sign is still running strong. It works reliably, the only problem i have is when i make the brightness of the led’s too high, then parts of the led’s will stop working until i reconnect the power. I think this has to do with the power supply through usb being unsufficient. But otherwise no problems at all and the combination with Node RED supplying the content has proven to be very flexible.

I think it’s time for a clean writeup? Do u want to make it ? With all necessary files and so on?

mine as well, thanks to you :relieved:

Hi …I have this error…anyone can help me please

Thanks

MyParola_Scrolling:143: error: no matching function for call to 'PubSubClient::PubSubClient(WiFiClient&, const char [12], int)'

 PubSubClient mqttClient(wifiClient, MQTT_SERVER, MQTT_PORT);

                                                           ^

C:\Users\ncouto\Documents\Arduino\MyParola\MyParola_Scrolling\MyParola_Scrolling.ino:143:59: note: candidates are:

In file included from C:\Users\ncouto\Documents\Arduino\MyParola\MyParola_Scrolling\MyParola_Scrolling.ino:15:0:

sketch\pubsubclient.h:116:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned char*, unsigned int)>, Client&, Stream&)

    PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);

    ^

sketch\pubsubclient.h:116:4: note:   candidate expects 5 arguments, 3 provided

sketch\pubsubclient.h:115:4: note: PubSubClient::PubSubClient(const char*, uint16_t, std::function<void(char*, unsigned char*, unsigned int)>, Client&)

    PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);

    ^

sketch\pubsubclient.h:115:4: note:   candidate expects 4 arguments, 3 provided

sketch\pubsubclient.h:114:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&, Stream&)

    PubSubClient(const char*, uint16_t, Client& client, Stream&);

    ^

sketch\pubsubclient.h:114:4: note:   candidate expects 4 arguments, 3 provided

sketch\pubsubclient.h:113:4: note: PubSubClient::PubSubClient(const char*, uint16_t, Client&)

    PubSubClient(const char*, uint16_t, Client& client);

    ^

sketch\pubsubclient.h:113:4: note:   no known conversion for argument 1 from 'WiFiClient' to 'const char*'

sketch\pubsubclient.h:112:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, std::function<void(char*, unsigned char*, unsigned int)>, Client&, Stream&)

    PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);

    ^

sketch\pubsubclient.h:112:4: note:   candidate expects 5 arguments, 3 provided

sketch\pubsubclient.h:111:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, std::function<void(char*, unsigned char*, unsigned int)>, Client&)

    PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);

    ^

sketch\pubsubclient.h:111:4: note:   candidate expects 4 arguments, 3 provided

sketch\pubsubclient.h:110:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, Client&, Stream&)

    PubSubClient(uint8_t *, uint16_t, Client& client, Stream&);

    ^

sketch\pubsubclient.h:110:4: note:   candidate expects 4 arguments, 3 provided

sketch\pubsubclient.h:109:4: note: PubSubClient::PubSubClient(uint8_t*, uint16_t, Client&)

    PubSubClient(uint8_t *, uint16_t, Client& client);

    ^

sketch\pubsubclient.h:109:4: note:   no known conversion for argument 1 from 'WiFiClient' to 'uint8_t* {aka unsigned char*}'

sketch\pubsubclient.h:108:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char*, unsigned char*, unsigned int)>, Client&, Stream&)

    PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&);

    ^

sketch\pubsubclient.h:108:4: note:   candidate expects 5 arguments, 3 provided

sketch\pubsubclient.h:107:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, std::function<void(char*, unsigned char*, unsigned int)>, Client&)

    PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client);

    ^

sketch\pubsubclient.h:107:4: note:   candidate expects 4 arguments, 3 provided

sketch\pubsubclient.h:106:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&, Stream&)

    PubSubClient(IPAddress, uint16_t, Client& client, Stream&);

    ^

sketch\pubsubclient.h:106:4: note:   candidate expects 4 arguments, 3 provided

sketch\pubsubclient.h:105:4: note: PubSubClient::PubSubClient(IPAddress, uint16_t, Client&)

    PubSubClient(IPAddress, uint16_t, Client& client);

    ^

sketch\pubsubclient.h:105:4: note:   no known conversion for argument 1 from 'WiFiClient' to 'IPAddress'

sketch\pubsubclient.h:104:4: note: PubSubClient::PubSubClient(Client&)

    PubSubClient(Client& client);

    ^

sketch\pubsubclient.h:104:4: note:   candidate expects 1 argument, 3 provided

sketch\pubsubclient.h:103:4: note: PubSubClient::PubSubClient()

    PubSubClient();

    ^

sketch\pubsubclient.h:103:4: note:   candidate expects 0 arguments, 3 provided

sketch\pubsubclient.h:83:7: note: PubSubClient::PubSubClient(const PubSubClient&)

 class PubSubClient {

       ^

sketch\pubsubclient.h:83:7: note:   candidate expects 1 argument, 3 provided

sketch\pubsubclient.h:83:7: note: PubSubClient::PubSubClient(PubSubClient&&)

sketch\pubsubclient.h:83:7: note:   candidate expects 1 argument, 3 provided

MyParola_Scrolling:270: error: 'MQTT' does not name a type

 void callback(const MQTT::Publish& pub) 

                     ^

MyParola_Scrolling:270: error: expected unqualified-id before '&' token

 void callback(const MQTT::Publish& pub) 

                                  ^

MyParola_Scrolling:270: error: expected ')' before '&' token

MyParola_Scrolling:270: error: expected initializer before 'pub'

 void callback(const MQTT::Publish& pub) 

                                    ^

C:\Users\ncouto\Documents\Arduino\MyParola\MyParola_Scrolling\MyParola_Scrolling.ino: In function 'void checkStatus()':

MyParola_Scrolling:244: error: 'MQTT' has not been declared

     mqttClient.publish(MQTT::Publish(PUB_PREFIX"/"MQTT_TOPIC, "true").set_retain().set_qos(1));

                        ^

C:\Users\ncouto\Documents\Arduino\MyParola\MyParola_Scrolling\MyParola_Scrolling.ino: At global scope:

MyParola_Scrolling:270: error: 'MQTT' does not name a type

 void callback(const MQTT::Publish& pub) 

                     ^

MyParola_Scrolling:270: error: expected unqualified-id before '&' token

 void callback(const MQTT::Publish& pub) 

                                  ^

MyParola_Scrolling:270: error: expected ')' before '&' token

MyParola_Scrolling:270: error: expected initializer before 'pub'

 void callback(const MQTT::Publish& pub) 

                                    ^

exit status 1
no matching function for call to 'PubSubClient::PubSubClient(WiFiClient&, const char [12], int)'

You are probably using the wrong libs for the pubsubclient use Nick O’Leary’s 2.4.0, I think that’s the version that works.

Try this version …

https://1drv.ms/f/s!AmTLZpPsxi58hxkwBvnrzkfm1Ydz

Sorry to bother you, but can you help?
What am I doing wrong?
Open file but is now giving error:

Arduino: 1.8.5 (Windows 10), Board: “LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

In file included from C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino:22:0:

PubSubClient.h:25: error: ‘Publish’ in ‘class MQTT’ does not name a type

typedef std::function<void(const MQTT::Publish&)> callback_t;

                                ^

PubSubClient.h:25: error: ISO C++ forbids declaration of ‘parameter’ with no type [-fpermissive]

typedef std::function<void(const MQTT::Publish&)> callback_t;

                                             ^

PubSubClient.h:25: error: expected ‘::’ before ‘callback_t’

typedef std::function<void(const MQTT::Publish&)> callback_t;

                                                 ^

PubSubClient.h:25: error: ‘std::function<void()>::callback_t’ has not been declared

PubSubClient.h:34: error: ‘callback_t’ does not name a type

callback_t _callback;

^

PubSubClient.h:47: error: ‘Message’ in ‘class MQTT’ does not name a type

MQTT::Message* _recv_message(void);

^

PubSubClient.h:54: error: ‘MQTT::Message’ has not been declared

bool _send_message(MQTT::Message& msg, bool need_reply = false);

                         ^

PubSubClient.h:63: error: ‘MQTT::Message’ has not been declared

void _process_message(MQTT::Message* msg);

                            ^

PubSubClient.h:72: error: ‘MQTT::message_type’ has not been declared

bool _wait_for(MQTT::message_type wait_type, uint16_t wait_pid = 0);

                     ^

PubSubClient.h:99: error: ‘callback_t’ does not name a type

callback_t callback(void) const { return _callback; }

^

PubSubClient.h:101: error: expected ‘;’ at end of member declaration

PubSubClient& set_callback(callback_t cb) { _callback = cb; return *this; }

              ^

PubSubClient.h:101: error: expected ‘)’ before ‘cb’

PubSubClient& set_callback(callback_t cb) { _callback = cb; return *this; }

                                      ^

PubSubClient.h:153: error: ‘MQTT::payload_callback_t’ has not been declared

bool publish(String topic, MQTT::payload_callback_t pcb, uint32_t length, bool retained = false);

                                 ^

PubSubClient.h:186: error: ‘MQTT::Connect’ has not been declared

bool connect(MQTT::Connect &conn);

                   ^

PubSubClient.h:188: error: ‘MQTT::Publish’ has not been declared

bool publish(MQTT::Publish &pub);

                   ^

PubSubClient.h:190: error: ‘MQTT::Subscribe’ has not been declared

bool subscribe(MQTT::Subscribe &sub);

                     ^

PubSubClient.h:192: error: ‘MQTT::Unsubscribe’ has not been declared

bool unsubscribe(MQTT::Unsubscribe &unsub);

                       ^

sketch\PubSubClient.h: In member function ‘PubSubClient& PubSubClient::unset_callback()’:

PubSubClient.h:103: error: ‘_callback’ was not declared in this scope

PubSubClient& unset_callback(void) { _callback = NULL; return * this; }

                                     ^

C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino: At global scope:

MyParola_Scrolling:731: error: ‘Publish’ in ‘class MQTT’ does not name a type

void callback(const MQTT::Publish& pub)

                 ^

MyParola_Scrolling:731: error: ISO C++ forbids declaration of ‘pub’ with no type [-fpermissive]

void callback(const MQTT::Publish& pub)

                                ^

C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino: In function ‘void checkStatus()’:

MyParola_Scrolling:629: error: ‘Publish’ is not a member of ‘MQTT’

 mqttClient.publish(MQTT::Publish(PUB_PREFIX"/"MQTT_TOPIC, "true").set_retain().set_qos(1));

                    ^

C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino: At global scope:

MyParola_Scrolling:731: error: ‘Publish’ in ‘class MQTT’ does not name a type

void callback(const MQTT::Publish& pub)

                 ^

MyParola_Scrolling:731: error: ISO C++ forbids declaration of ‘pub’ with no type [-fpermissive]

void callback(const MQTT::Publish& pub)

                                ^

C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino: In function ‘void callback(const int&)’:

MyParola_Scrolling:737: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_BITC))

       ^

MyParola_Scrolling:741: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 msg = pub.payload_string();

           ^

MyParola_Scrolling:749: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_INTENSITY))

            ^

MyParola_Scrolling:753: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 requestintensity = pub.payload_string().toInt();

                        ^

MyParola_Scrolling:757: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_SPEED))

            ^

MyParola_Scrolling:760: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 requestspeed = pub.payload_string().toInt();

                    ^

MyParola_Scrolling:765: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_HUMID))

            ^

MyParola_Scrolling:768: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 msg = pub.payload_string();

           ^

MyParola_Scrolling:779: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_TEMP))

            ^

MyParola_Scrolling:782: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 msg = pub.payload_string();

           ^

MyParola_Scrolling:792: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_PLANT))

            ^

MyParola_Scrolling:795: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 msg = pub.payload_string();

           ^

MyParola_Scrolling:805: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_TODAYW))

            ^

MyParola_Scrolling:808: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 msg = pub.payload_string();

           ^

MyParola_Scrolling:818: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.topic() == (SUB_PREFIX"/“MQTT_TOPIC”/"MQTT_TOPIC_TOMORROWW))

            ^

MyParola_Scrolling:821: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

 msg = pub.payload_string();

           ^

MyParola_Scrolling:831: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if (pub.payload_string() == “ON”)

            ^

MyParola_Scrolling:836: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “OFF”))

             ^

MyParola_Scrolling:836: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “OFF”))

                                                          ^

MyParola_Scrolling:841: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “reset”))

             ^

MyParola_Scrolling:841: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “reset”))

                                                          ^

MyParola_Scrolling:846: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_PRINT”))

             ^

MyParola_Scrolling:846: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_PRINT”))

                                                          ^

MyParola_Scrolling:852: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_LEFT”))

             ^

MyParola_Scrolling:852: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_LEFT”))

                                                          ^

MyParola_Scrolling:858: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_RIGHT”))

             ^

MyParola_Scrolling:858: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_RIGHT”))

                                                          ^

MyParola_Scrolling:864: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_UP”))

             ^

MyParola_Scrolling:864: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_UP”))

                                                          ^

MyParola_Scrolling:870: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_DOWN”))

             ^

MyParola_Scrolling:870: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCROLL_DOWN”))

                                                          ^

MyParola_Scrolling:876: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SLICE”))

             ^

MyParola_Scrolling:876: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SLICE”))

                                                          ^

MyParola_Scrolling:882: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_MESH”))

             ^

MyParola_Scrolling:882: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_MESH”))

                                                          ^

MyParola_Scrolling:888: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_FADE”))

             ^

MyParola_Scrolling:888: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_FADE”))

                                                          ^

MyParola_Scrolling:894: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_DISSOLVE”))

             ^

MyParola_Scrolling:894: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_DISSOLVE”))

                                                          ^

MyParola_Scrolling:900: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_BLINDS”))

             ^

MyParola_Scrolling:900: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_BLINDS”))

                                                          ^

MyParola_Scrolling:906: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_RANDOM”))

             ^

MyParola_Scrolling:906: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_RANDOM”))

                                                          ^

MyParola_Scrolling:912: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_WIPE”))

             ^

MyParola_Scrolling:912: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_WIPE”))

                                                          ^

MyParola_Scrolling:918: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_WIPE_CURSOR”))

             ^

MyParola_Scrolling:918: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_WIPE_CURSOR”))

                                                          ^

MyParola_Scrolling:924: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCAN_HORIZ”))

             ^

MyParola_Scrolling:924: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCAN_HORIZ”))

                                                          ^

MyParola_Scrolling:930: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCAN_VERT”))

             ^

MyParola_Scrolling:930: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_SCAN_VERT”))

                                                          ^

MyParola_Scrolling:936: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_OPENING”))

             ^

MyParola_Scrolling:936: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_OPENING”))

                                                          ^

MyParola_Scrolling:942: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_OPENING_CURSOR”))

             ^

MyParola_Scrolling:942: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_OPENING_CURSOR”))

                                                          ^

MyParola_Scrolling:948: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_CLOSING”))

             ^

MyParola_Scrolling:948: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_CLOSING”))

                                                          ^

MyParola_Scrolling:954: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_CLOSING_CURSOR”))

             ^

MyParola_Scrolling:954: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_CLOSING_CURSOR”))

                                                          ^

MyParola_Scrolling:960: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_GROW_UP”))

             ^

MyParola_Scrolling:960: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_GROW_UP”))

                                                          ^

MyParola_Scrolling:966: error: request for member ‘topic’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_GROW_DOWN”))

             ^

MyParola_Scrolling:966: error: request for member ‘payload_string’ in ‘pub’, which is of non-class type ‘const int’

else if ((pub.topic() == SUB_PREFIX"/"MQTT_TOPIC) and (pub.payload_string() == “PA_GROW_DOWN”))

                                                          ^

C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino: In function ‘int startwifimqtt()’:

MyParola_Scrolling:1077: error: ‘Connect’ is not a member of ‘MQTT’

 while (!mqttClient.connect(MQTT::Connect(MQTT_CLIENT).set_keepalive(MQTTKEEPALIVE).set_auth(MQTT_USER, MQTT_PASS).set_will(PUB_PREFIX"/"MQTT_TOPIC, MQTT_WILLMSG)) && kRetries--) 

                            ^

MyParola_Scrolling:1101: error: ‘Publish’ is not a member of ‘MQTT’

   mqttClient.publish(MQTT::Publish(PUB_PREFIX"/"MQTT_TOPIC, MQTT_ONLINEMSG).set_retain().set_qos(0));

                      ^

C:\Users\ncouto\Documents\Arduino\MyParola_Scrolling\MyParola_Scrolling.ino: In function ‘void setup()’:

MyParola_Scrolling:1151: error: no match for call to ‘(PubSubClient) (void (&)(const int&))’

mqttClient.set_callback(callback);

                               ^

exit status 1
‘Publish’ in ‘class MQTT’ does not name a type

This report would have more information with
“Show verbose output during compilation”
option enabled in File → Preferences.