Hallo zusammen,
bin neu hier im Forum, ich heiße Marco und komme aus der Nähe von Köln.
Bin gerade seid einem Monat mit dem ioBroker dran, und wollte mir mit mehreren ESP8266´s die Temperatur und Luftfeuchtigkeit von den verschiedenen Räumen messen und über die VIS anzeigen lassen.
Bin schon seid fast 2 Wochen am probieren mir die Daten vom ESP zum MQTT zu senden, aber irgendwie klappt das nicht. Da ich die ESP´s mit einer 18650 Batterie jeweils laufen lassen will und diese dann nach der Messeung für 10 min in den DeppSleep sollen, kann ich hier nicht mit Tasmota probieren.
Bekomme immer die Ausgabe über den Seriellen-Monitor:
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
Ich hab schon einige Codes aus dem Netz probiert, aber immer die selbe Fehlermeldung. Denke mal das das am ioBroker-Adapter mqtt.0 liegen müsste. Kann mir hierbei jemand helfen
Hier mein Arduino-Code:
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>
#define wifi_ssid "xxxxxxx"
#define wifi_password "xxxxxxxx"
#define mqtt_server "192.168.178.37"
#define mqtt_user ""
#define mqtt_password ""
#define humidity_topic "TempBad/Humidity"
#define temperature_topic "TempBad/Temperature"
#define DHTTYPE DHT11
#define DHTPIN 4
#define TIMEFRAME 60000
DHT dht(DHTPIN, DHTTYPE);
WiFiClient espClient;
PubSubClient client(espClient);
float temp = 0.0;
float hum = 0.0;
bool status;
void setup()
{
Serial.begin(9600);
dht.begin(); //DHT11 Sensor starten
setup_wifi();
client.setServer(mqtt_server, 1883);
if (!client.connected())
{
reconnect();
}
client.loop();
delay(3000);
temp=dht.readTemperature();
hum=dht.readHumidity();
Serial.println(temp);
client.publish(temperature_topic, String(temp).c_str(), true);
Serial.println(hum);
client.publish(humidity_topic, String(hum).c_str(), true);
Serial.println("Going into deep sleep");
//ESP.deepSleep(TIMEFRAME);
}
void loop()
{
}
void setup_wifi()
{
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(wifi_ssid);
WiFi.begin(wifi_ssid, wifi_password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
WiFi.hostname("TempBad ESP8266");
}
void reconnect()
{
while (!client.connected())
{
Serial.print("Attempting MQTT connection...");
if (client.connect("nodemcu"))
{
Serial.println("connected");
}
else
{
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}
}
}
Mod-Edit: Thema von "off Topic" nach "ioBroker Allgemein" verschoben!