Probleme mit Numeric Input Blynk

Hi Leute, aus irgendeinem Grund, wird Boxtemperatur nicht vom Numeric Inout auf den Voidbereich übertragen. Könnt ihr mir helfen? Danke im voraus.

float Boxtemperatur;
#define BLYNK_PRINT Serial
#include <SimpleDHT.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int pinDHT22 = D4;
SimpleDHT22 dht22;


char auth[] = "XXXXXXXXX";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "XXXXXXXXXXXX";
char pass[] = "XXXXXXXXXXXXX";


WidgetLED led1(V0);
WidgetLED led2(V1);
WidgetLED led3(V7);
BlynkTimer timer;

BLYNK_WRITE(V3) {

int Zeit =param.asInt();
  if (Zeit == 1)
  {
  led1.on();
  led2.off();
    
  }
  else
  {
led2.on();
  led1.off();
  
  }

}
BLYNK_WRITE(V4)
{  
  Boxtemperatur = param.asFloat();   
}

 void sendSensor()
{
  float temperature = 0;
  float humidity = 0;
  int err = SimpleDHTErrSuccess;
  if ((err = dht22.read2(pinDHT22, &temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
    Serial.print("Read DHT22 failed, err="); Serial.println(err); delay(2000);
    return;
    
  }
   Serial.print(Boxtemperatur);
   Serial.println(temperature);
   Blynk.virtualWrite(V2, temperature);

   

  if (temperature < Boxtemperatur)
  {led3.on();}
  else
  {led3.off();}
 
  

}

void setup()
{
  // Debug console
  Serial.begin(9600);
  timer.setInterval(2000L, sendSensor);
  Blynk.begin(auth, ssid, pass);
  
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  

  // Setup a function to be called every second

}

void loop()
{
  Blynk.run();
  timer.run();
}

Ich kenne Blynk zwar nicht, aber in der Funktion BLYNK_WRITE(V4) fehlt der vorangestellte Datentyp void:
void BLYNK_WRITE(V4)
{
~~ Boxtemperatur = param.asFloat(); ~~
}
Wenn du die Fehlermeldungen beim Kompilieren beachtet hättest, hättest du vielleicht auch drauf kommen können.

Ich kenne Blynk zwar nicht, aber in der Funktion BLYNK_WRITE(V4) fehlt der vorangestellte Datentyp void

Ich kenne Blynk auch nicht, daher wäre ich vorsichtig mit solchen Aussagen.
Nach deiner Interpretation fehlt auch der Datentyp des Parameters V4 und der wird dann gar nicht verwendet...

michael_x:
Ich kenne Blynk auch nicht, daher wäre ich vorsichtig mit solchen Aussagen.
Nach deiner Interpretation fehlt auch der Datentyp des Parameters V4 und der wird dann gar nicht verwendet...

Oh, das hab ich auf die Schnelle nicht bemerkt, aber wer weiß was noch alles falsch ist... So weit ich weiß ist Blynk eine Handy App, die Daten vom µC ausgeben kann, schien mir für den Sketch nebensächlich.

Edit: Die Variablen V0...V7 sind allesamt nicht deklariert, vielleicht über eine der Libs deklariert, aber es fehlen zu viele Infos vom TO und ich geb auf meine Aussage keine Gewähr mehr...

@michael_x: Du hast natürlich recht, hab daher meinen Beitrag in #1 gestrichen markiert, alles zu undurchsichtig. Bringt nicht immer viel, wenn man eben mal in der Mittagspause helfen will. :wink:

Vx sind virtuelle Pins. Blynk ist eine sehr interessante Geschichte. Möchte es nicht mehr missen.

ElEspanol:
Vx sind virtuelle Pins. Blynk ist eine sehr interessante Geschichte. Möchte es nicht mehr missen.

Also werden diese virtuellen Pins in einer der Libs (Blynk...?) bestimmt? Mit meiner Vermutung der fehlenden Funktionsdeklaration lag ich vielleicht nicht doch nicht falsch. Fakt ist m.E., das dort der Datentype fehlt.

Nein, macht alles die Lib. Der Fehler muss woanders liegen. Hab vielleicht nachher einen Moment, dann setze ich mich mal dran und verifiziere das.

ElEspanol:
Nein, macht alles die Lib.

Also ist das ein Funktionsaufruf über die Lib?

Blynk ist noch ne Nummer zu hoch für mich, ich enthalte mich da mal.

Hab es gerade mal ausprobiert, allerdings den DHT Kram rausgeschnissen.
Der Sketch macht genau, wass er soll:
Drück ich V3 (button), leuchtel led1, wenn nich led2
Stell ich am Slider V4 über 22, geht led3 an, stell ich unter 22, geht led3 aus. Ich hab halt temperatur auf 22 gesetzt, weil der DHT draussen ist.

float Boxtemperatur;
#define BLYNK_PRINT Serial
// #include <SimpleDHT.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int pinDHT22 = D4;
// SimpleDHT22 dht22;


char auth[] = "xxx";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "xx-xx";
char pass[] = "xxx";


WidgetLED led1(V0);
WidgetLED led2(V1);
WidgetLED led3(V7);
BlynkTimer timer;

BLYNK_WRITE(V3) {

int Zeit =param.asInt();
  if (Zeit == 1)
  {
  led1.on();
  led2.off();
   
  }
  else
  {
led2.on();
  led1.off();
 
  }

}
BLYNK_WRITE(V4)
{ 
  Boxtemperatur = param.asFloat();   
   Serial.print("V4: ");
  Serial.println(Boxtemperatur);
}

 void sendSensor()
{
  float temperature = 22;
  float humidity = 59;
  int err = 0; // SimpleDHTErrSuccess;

   Serial.print(Boxtemperatur);
   Serial.print("  ");
   Serial.println(temperature);
   Blynk.virtualWrite(V2, temperature);
 
  if (temperature < Boxtemperatur)
  {led3.on();}
  else
  {led3.off();}
 
}

void setup()
{
  // Debug console
  Serial.begin(115200);
  timer.setInterval(2000L, sendSensor);
  Blynk.begin(auth, ssid, pass);


}

void loop()
{
  Blynk.run();
  timer.run();
}