Hallo,
läuft dein Programm jetzt?
Gruß
Toni
Hallo,
läuft dein Programm jetzt?
Gruß
Toni
ich hatte nur den Sonoff Adapter als Mqtt. `
So was hatte ich ganz am Anfang vermutet.Bitte auf die Ports von mqtt und Sonoff achten
Na dann viel Spaß
Gruß
Rainer `
Danke dir
Gruß
Toni
was ist den da für ein lichtsensor angeschlossen ein LDRxx oder so `
ja genau ein LDR mit nem Widerstand
Hallo zusammen,
Danke nochmal an alle, war mein Fehler ich hatte nur den Sonoff Adapter als Mqtt.
ich habe den Mqtt Iobroker Adaper installiert und dem einen anderen Port gegeben 1886 wie den Sonoff Adapter mit 1883.
Und siehe Bild alles geht
~~![](</s><URL url=)https://abload.de/img/objekt_2n3kbk.png" />
Gruß
Toni~~
na, genau das was ich suche … die MQtt - Anmeldung mit Username und Passwort
objekte ? bei den richtigen zugangsdaten für den MQtt zugang sind dort die daten zu finden.
aber warum der DHT xx ? ... die machen nur ärger !!
entweder:
BME280 - Temperatur, Feuchte, Luftdruck
SI7021 - Temperatur, Feuchte
BH1750 - Helligkeit `
Hallo,
ich benutze keine Anmeldedaten user und Passwort für mqtt, deswegen gehen meine Sonoff Geräte mit Tasmota trotzdem alle.
Würde das später mit einem Esp1 als temp Feuchte Sensoren mit Batterie Betreiben. Habe schon ein paar Wemos D1 mit der Tasmota allerdings mit nem Netzteil am laufen.
Gruß
Toni
eigentlich dachte ich das nun Objekte im Iobroker erzeugt werden `
Über welchen Adapter willst du diese Objekte erzeugen?
Gruß
Rainer `
Hallo Reiner,
also die Objekte erscheinen im Sonoff Adapter, oder nutzt man da einen anderen Adapter für ESP´s und Arduino Soft?
Es wird auch was erzeugt allerdings nur der Titel mit Alive siehe Bild
![](</s><URL url=)https://abload.de/img/objekti2kue.png" />
Hallo,
keiner der mir ein kleine tipp geben kann?
Gruß
Toni
Hallo zusammen,
ich habe aus dem Netz folgendes Programm auf mein NodeMcu aufgespielt zum testen, eigentlich dachte ich das nun Objekte im Iobroker erzeugt werden
#define BASE "8266 TmpSensor" // <---------------!!Entsprechend für jeden Sensor anpassen!!
#define mqtt_client_id BASE
#define mqtt_topics_ip BASE "/IP"
#define mqtt_topics_light BASE "/Licht"
#define mqtt_topics_humidity BASE "/Luftfeuchte"
#define mqtt_topics_temperature1 BASE "/Temperatur1"
und diese dann mit den Variablen Inhalt aktualisiert wird, tut so aber nicht es wird nur die Base erzeugt mit register Alive.
Kann sich das jemand mal anschauen, was mache ich da falsch.
Gruß
Toni
[spoiler]//#define DEBUG // Debug-Modus einschalten fuer spezielle Ausgaben ueber Serial
#include <esp8266wifi.h>
extern "C" { // nur fuer ESP8266 systen_deep_sleep()
#include "user_interface.h"
} // nur fuer ESP8266 systen_deep_sleep()
#include <pubsubclient.h>
//#include <onewire.h>
#include "DHT.h"
// DS18x20-Settings
// float celsius, fahrenheit;
//#define DSPIN 5 // DS18x20-Pin entsprechend der GPIO z.B GPIO05 -> 5
//OneWire ds(DSPIN);
// Netzwerk-Settings <-------------------------!!ANPASSEN!!
const char* ssid = "";
const char* password = "";
const char* USE_DHCP = "on"; // "on" fuer DHCP
IPAddress Myip(192, 168, 2, 61); //static IP-Adresse (Sensor)
IPAddress gateway(192, 168, 2, 1); //IP-Gateway
IPAddress subnet(255, 255, 255, 0);//Subnet
//// MQTT-Settings
IPAddress mqtt_server(192,168,2,68); // IP-MQTT-Broker
const char* mqtt_username = "user"; // MQTT-User
const char* mqtt_key = "pass"; // MQTT-Password
#define BASE "8266 TmpSensor" // <---------------!!Entsprechend für jeden Sensor anpassen!!
#define mqtt_client_id BASE
#define mqtt_topics_ip BASE "/IP"
#define mqtt_topics_light BASE "/Licht"
#define mqtt_topics_humidity BASE "/Luftfeuchte"
#define mqtt_topics_temperature1 BASE "/Temperatur1"
WiFiClient espClient;
PubSubClient client(espClient);
#define interval 600 // DeepSleep oder delay Zeit in Sekunden
#define DHTPIN 4 // DHT-Pin entsprechend der GPIO z.B GPIO04 -> 4
// DHT-Typ
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
DHT dht(DHTPIN, DHTTYPE); // DHT initialisieren
char message_humidity[20];
char message_temperature1[20];
//char message_temperature2[20];
//char message_heatindex[20];
char message_light[20];
void setup() {
Serial.begin(115200);
if(USE_DHCP == "off") {setup_wifi();}
Serial.println("DHTxx test!");
dht.begin();
client.setServer(mqtt_server, 1883);
client.setClient(espClient);
}
void setup_wifi() {
Serial.println("");
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
if(USE_DHCP == "off") {WiFi.config(Myip, gateway, subnet); }
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
// Attempt to connect
if (client.connect(mqtt_client_id,mqtt_username,mqtt_key)) {
Serial.println("connected");
// IP-Adresse umwandeln und publish
IPAddress localAddr = WiFi.localIP();
char s[16];
sprintf(s, "%d.%d.%d.%d", localAddr[0], localAddr[1], localAddr[2], localAddr[3]);
client.publish(mqtt_topics_ip,s, true);
// client.publish("Antonio Tedesco")
Serial.println(WiFi.localIP());
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
// Wait 5 seconds before retrying
delay(5000);
}
}
}
void loop() {
delay(2000); // Pause fuer DHT-Initialisierung
if (!client.connected()) {
reconnect();
}
// DS18x20 lesen
// readDS18x29();
// Sensor lesen
float h = dht.readHumidity(); // Luftfeuchtigkeit
float t = dht.readTemperature(); // Temperatur in Celsius
float f = dht.readTemperature(true); // Temperatur in Fahrenheit (isFahrenheit = true)
if (isnan(h) || isnan(t) || isnan(f)) { // Auf Lesefehler pruefen -> evtl wiederholen
Serial.println("Lesefehler DHT-Sensor!");
return;
}
float hif = dht.computeHeatIndex(f, h); // Compute heat index in Fahrenheit (the default)
float hic = dht.computeHeatIndex(t, h, false); // Compute heat index in Celsius (isFahreheit = false)
#if defined DEBUG
Serial.print("Luftfeuchte: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperatur: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hic);
Serial.print(" *C ");
Serial.print(hif);
Serial.println(" *F");
#endif
String pub_humidityString = String(h);
pub_humidityString.toCharArray(message_humidity, pub_humidityString.length()+1);
client.publish(mqtt_topics_humidity, message_humidity);
Serial.println("Humidity: "+pub_humidityString+" gesendet");
String pub_temperature1String = String(t);
pub_temperature1String.toCharArray(message_temperature1, pub_temperature1String.length()+1);
client.publish(mqtt_topics_temperature1, message_temperature1, true);
Serial.println("Temperatur1: "+pub_temperature1String+" C gesendet");
String pub_lightString = String(analogRead(A0)); // Lichtsensor
pub_lightString.toCharArray(message_light, pub_lightString.length()+1); // Lichtsensor
client.publish(mqtt_topics_light, message_light, true); // Lichtsensor
Serial.println("Licht: "+pub_lightString+" gesendet"); // Lichtsensor
// nur bei system_deep_sleep() ////////
delay(3000);
void disconnect ();
Serial.println("...DeepSleep enabled!");
system_deep_sleep(interval*1000000); //sleep time in usecs. 10000000 = 10 secs.
///////////////////////////////////////
// delay(interval*1000); // Interval für Publish - wenn nicht system_deep_sleep()
}[/spoiler]</onewire.h></pubsubclient.h></esp8266wifi.h>
geändert: Code in Code-Tags und Spoiler gesetzt; Homoran (Admin)
Hallo zusammen,
habe ein kleines Problem ich sehe in den Objekten die Javascript.0 Objekte nicht bzw. nur wenn ich in den Expertenmodus schalte.
Wenn ich aber z.B diese verknüpfen möchte erscheinen gerade diese nicht.
Ich habe die Version 4.0.7 installiert habe irgendwo gelesen man sollte auf 3.6.4 Downgraden ist das richtig und wie funktioniert das?
Gruß
Tedesco