Advertisement
Guest User

CallBack-with-Probs

a guest
Mar 27th, 2018
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.62 KB | None | 0 0
  1. void callback(char* topic, byte* payload, unsigned int length) {
  2.   pinMode(BUILTIN_LED, OUTPUT);
  3.  
  4.   Serial.println("*INFO:DO  :Payload Topic Check");
  5.   Serial.print("***********Message arrived in topic: ");
  6.   Serial.println(topic);                                    // Zeige Topic auf Serial an.
  7.   digitalWrite(BUILTIN_LED, LOW);                           // Interne LED bei CALLBACK an
  8.  
  9.   int PayloadLength = 0;                                    // Payloadlänge = 0;
  10.   Serial.print("***********Message:");
  11.   for (int i = 0; i < length; i++) {
  12.     Serial.print((char)payload[i]);
  13.     PayloadLength = i;                                      // Payloadlänge = Gezählt;
  14.     }
  15.    
  16.   if (String(topic) == Value9){                             // Wenn Topic xyz_Nachtlicht ist
  17.     if ((char)payload[0] == '1') {                          // Wenn Wert im Topic xyz_Nachtlicht == 1 ist
  18.       bool_var_NachtLicht_an = 1;                           // dann setze globale Variable auf 1;
  19.       bool_fkt_getAktor_Nachtlicht(bool_var_NachtLicht_an); // und Rufe Funktion auf für PIN = HIGH
  20.     } else {                                                // ODER Wenn Wert im Topic xyz_Nachtlicht != 1 ist
  21.       bool_var_NachtLicht_an = 0;                           // dann setze globale Variable auf 0;
  22.       bool_fkt_getAktor_Nachtlicht(bool_var_NachtLicht_an); // und Rufe Funktion auf für PIN = LOW
  23.     }
  24.   }
  25.  
  26.   if (String(topic) == Value17){                            // Wenn Topic SystenZeit ist
  27.     Serial.println("*INFO:DO  :SystemZeit Topic Check");
  28.     char *cstringZeit = (char *) payload;                   // Dann Caste irgendwas (inet Tip: https://github.com/knolleary/pubsubclient/issues/105)
  29.     cstringZeit[PayloadLength+1] = '\0';                    // Arrayende
  30.     string_var_SystemZeit = String(cstringZeit);            // Schreibe in Globale Variable
  31.     Serial.println(String(cstringZeit));            
  32.   }
  33.   if (String(topic) == Value18){                             // Wenn Topic SystenDatum ist
  34.     Serial.println("*INFO:DO  :System Datum Topic Check");
  35.     char *cstringDatum = (char *) payload;                   // Dann Caste irgendwas (inet Tip: https://github.com/knolleary/pubsubclient/issues/105)
  36.     cstringDatum[PayloadLength+1] = '\0';                    // Arrayende
  37.     string_var_SystemDatum = String(cstringDatum);           // Schreibe in Globale Variable
  38.     Serial.println(String(cstringDatum));
  39.   }
  40.  
  41.  
  42.    
  43.   client.loop();
  44.   Serial.println();
  45.   digitalWrite(BUILTIN_LED, HIGH);
  46.   Serial.println("*INFO:DONE:Payload Topic Check");
  47.   Serial.println("*----------------------------------");
  48.  
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement