MQTT-Weather-display/Weatherdisplay_Nokia_5110/mqtt_callback.ino

46 lines
1014 B
Arduino
Raw Permalink Normal View History

2021-03-08 15:03:38 +00:00
void callback(String topic, byte* message, unsigned int length)
{
String messageTemp;
for (int i = 0; i < length; i++)
messageTemp += (char)message[i];
if (topic == "wetter_display/set")
{
JsonObject& json = jsonBuffer.parseObject(messageTemp);
if (!json.success()) {
error = 2;
return;
}
temp_2m = json["Temp_2m"].as<String>();
temp_0m = json["Temp_0m"].as<String>();
pressure = json["Pressure"].as<String>();
humidity = json["Humidity"].as<String>();
dewpoint = json["Dewpoint"].as<String>();
luminosity = json["Luminosity"].as<String>();
wind = json["Wind_kmh"].as<String>();
windr = json["Wind_r"].as<String>();
error = 1;
jsonBuffer.clear();
}
}
void reconnect()
{
while (!client.connected())
{
if (client.connect("WetterDisplay", mqtt_user, mqtt_pass))
2021-03-22 07:44:02 +00:00
{
2021-03-08 15:03:38 +00:00
client.subscribe("wetter_display/set");
2021-03-22 07:44:02 +00:00
updatedisplay();
}
2021-03-08 15:03:38 +00:00
else
{
display_error("MQTT Error");
delay(5000);
}
}
}