NEWS
MQTT Zahl in Variable ESP8266
-
@marc-berg ,
das das Gleiche habe ich oben schon gepostet, schau es dir nochmal an.@wal sagte in MQTT Zahl in Variable ESP8266:
@marc-berg ,
das das Gleiche habe ich oben schon gepostet, schau es dir nochmal an.Sorry, ich habe nur bis "String umwandeln" gelesen. Du hast natürlich recht.
-
@wal sagte in MQTT Zahl in Variable ESP8266:
@marc-berg ,
das das Gleiche habe ich oben schon gepostet, schau es dir nochmal an.Sorry, ich habe nur bis "String umwandeln" gelesen. Du hast natürlich recht.
Danke euch, ich werde das terminieren der Zeichenkette mal integrieren.
-
Danke euch, ich werde das terminieren der Zeichenkette mal integrieren.
Ich habe jetzt mal folgendes geladen:
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) { int length if (strcmp(topic,"Thermometer/Aussentemperatur")==0) payload[length] = '\0'; T = atoi((char*)payload); Serial.print("Variabel-T "); Serial.println(T); } }Hier kommt jetzt für alle Werte aber eine 0 als Ergebnis. Was fehlt da?
void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) { Serial.println("Publish received."); Serial.print(" topic: "); Serial.println(topic); if (strcmp(topic,"Thermometer/Aussentemperatur")==0){ char payload2[len+1]; payload2[len] = '\0'; strncpy(payload2, payload, len); T = atoi((char*)payload2); Serial.print("Variabel-T "); Serial.println(T);So funktioniert es :) Danke, hoffe auch fehlerfrei - werde berichten...
-
Nein, ich meinte die aktuellen Aussentemperaturen.
Es wird immer nur eine - auf ein Ganzes - gerundete Zahl über mittelt.
also
-1
0
1
dementsprechend rechnet jetzt der ESP +20 und es gehen bei 0 -> 20 LED's an -> was dann 0 Grad sind. bei -1 sollten es 19 sein, sind es aber leider nicht immer.@smallfeuer sagte in MQTT Zahl in Variable ESP8266:
dementsprechend rechnet jetzt der ESP +20 und es gehen bei 0 -> 20 LED's an -> was dann 0 Grad sind. bei -1 sollten es 19 sein, sind es aber leider nicht immer.
Und warum überträgst du nicht direkt die Anzahl der LED die leuchten sollen? Vielleicht macht ja auch der negative Wert Probleme?
-
@smallfeuer sagte in MQTT Zahl in Variable ESP8266:
dementsprechend rechnet jetzt der ESP +20 und es gehen bei 0 -> 20 LED's an -> was dann 0 Grad sind. bei -1 sollten es 19 sein, sind es aber leider nicht immer.
Und warum überträgst du nicht direkt die Anzahl der LED die leuchten sollen? Vielleicht macht ja auch der negative Wert Probleme?
@dr-bakterius Hi, ja der Hinweis ist berechtigt. Liegt aber im Aufbau der Programmierung.
Ich definiere nur die Anzahl der LED's und den 0 Punkt. Für einen anderen Ort will man ja ggf. tiefere Temperaturen haben, oder höhere und dann muss man die Programmierung nicht ändern.
Zumal es ja auch einen Partymodus gibt, sobald der Verstärker zu laut ist, fängt das Thermometer dann an an mit 120 Beats zu blinken und so... ;)Jetzt könnte man das alles umbauen, aber ich denke eine normale Subtraktion sollte kein Problem für einen ESP8622 sein, wenn man überlegt was andere LED-Projekte den Chips zumuten. Gestern Abend gab es auf jeden Fall keine Auffälligkeiten mehr, es schaut also erstmal gut aus :+1: Danke dafür.
-
@dr-bakterius Hi, ja der Hinweis ist berechtigt. Liegt aber im Aufbau der Programmierung.
Ich definiere nur die Anzahl der LED's und den 0 Punkt. Für einen anderen Ort will man ja ggf. tiefere Temperaturen haben, oder höhere und dann muss man die Programmierung nicht ändern.
Zumal es ja auch einen Partymodus gibt, sobald der Verstärker zu laut ist, fängt das Thermometer dann an an mit 120 Beats zu blinken und so... ;)Jetzt könnte man das alles umbauen, aber ich denke eine normale Subtraktion sollte kein Problem für einen ESP8622 sein, wenn man überlegt was andere LED-Projekte den Chips zumuten. Gestern Abend gab es auf jeden Fall keine Auffälligkeiten mehr, es schaut also erstmal gut aus :+1: Danke dafür.


Also bisher läuft alles ohne BUG. Hier mal noch 2 Bilder wie das ganze aussieht. Alles mit dem 3D Drucker erstellt.
MinTemp (blau), aktuelle Temp(je nach Temp - gelb) und Max Temp. (rot).Danke für Eure Unterstützung.