Fehlermeldung TelegramBot

Moin,

ich versuche derzeit, den TelegramBot in mein Programm einzubinden, scheitere jedoch bereits daran, die Bibliothek hinzuzufügen. Sobald ich die Bibliothek hinzufüge, treten zahlreiche Fehlermeldungen auf. Ich habe hier mal einen kleinen Teil der Fehlermeldungen beigefügt, da diese sehr umfangreich sind.

Fehlermeldung:

In file included from /home/builder/opt/libraries/arduinojson_7_0_2/src/ArduinoJson.hpp:33:0,
                 from /home/builder/opt/libraries/arduinojson_7_0_2/src/ArduinoJson.h:9,
                 from /home/builder/Arduino/libraries/universaltelegrambot_1_3_0/src/UniversalTelegramBot.h:29,
                 from /tmp/3347242213/Pflanzensensor_apr19a/Pflanzensensor_apr19a.ino:6:
/home/builder/opt/libraries/arduinojson_7_0_2/src/ArduinoJson/Document/JsonDocument.hpp: In constructor 'ArduinoJson::V702PB2::JsonDocument::JsonDocument(ArduinoJson::V702PB2::JsonDocument&&)':
/home/builder/opt/libraries/arduinojson_7_0_2/src/ArduinoJson/Document/JsonDocument.hpp:33:51: error: no matching function for call to 'ArduinoJson::V702PB2::JsonDocument::JsonDocument()'
   JsonDocument(JsonDocument&& src) : JsonDocument() {

Ich habe versucht, ChatGPT mit diesen Fehlermeldungen zu füttern (shame on me), und dabei kam heraus, dass es Probleme mit der ArduinoJson-Bibliothek gibt, bzw. dass der TelegramBot nicht mit der ArduinoJson-Bibliothek Version 7.0.2 kompatibel ist. Ich habe auch schon die ArduinoJson-Bibliothek in der Version 6.14.2 ausprobiert, jedoch ebenfalls ohne Erfolg. Was meint ihr, was ich noch versuchen kann?

Anmerkung:
Ich arbeite mit der IOT Cloud von Arduino und nutze die IOT Remote App.

Mit freundlichen Grüßen

Das Programm ist folgendes:


#include "WiFiUdp.h"
#include "NTPClient.h"
#include "thingProperties.h"
#include "DHT.h"
#include <UniversalTelegramBot.h>

#define DHTpin 2 // Pin für Temperatur und Luftfeuchtesensor
#define DHTTYPE DHT21 // Modelltyp des Sensors
// Zeitverschiebung UTC MEZ (Winterzeit) = 3600 Sekunden (1 Stunde)
// Zeitverschiebung UTC MEZ (Sommerzeit) = 7200 Sekunden (2 Stunden)
const long utcOffsetInSeconds = 3600; // Sommer oder Winterzeit

WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds); // Server für die Abfrage der Uhrzeit

int beleuchtungStartHour; // Uhrzeit, wann die Beleuchtung angeht
int beleuchtungsmodus;
int lueftermodus;
int abluftfeuchtigkeit;
int abluftvpd;

DHT dht(DHTpin, DHTTYPE);
int sensor = A0; // Pin für den Bodenfeuchtesensor

extern float feuchtigkeit;
extern float temperatur;

void setup() {
pinMode(4, OUTPUT); // Pin für die Abluft
pinMode(0, OUTPUT); // Pin für die Beleuchtung

Serial.begin(9600);
delay(1500);

initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
timeClient.begin();


}


void loop() {
timeClient.update();
ArduinoCloud.update();
feuchtigkeit = dht.readHumidity();
temperatur = dht.readTemperature();
bodenfeuchtigkeit = (100 - (analogRead(sensor) * 100 / 800));

  
int currentHour = timeClient.getHours();
if (beleuchtungsmodus == 0) {
digitalWrite(0, HIGH);
} else {
digitalWrite(0, LOW);
}

if (beleuchtungsmodus == 1) {
digitalWrite(0, LOW);
} else {
digitalWrite(0, HIGH);
}

if (beleuchtungsmodus == 2) {
if ((currentHour >= beleuchtungStartHour && currentHour < (beleuchtungStartHour + 18) % 24)) {
digitalWrite(0, LOW);

} else {
digitalWrite(0, HIGH);

}
}

if (beleuchtungsmodus == 3) {
if ((currentHour >= beleuchtungStartHour && currentHour < (beleuchtungStartHour + 12) % 24)) {
digitalWrite(0, LOW);

} else {
digitalWrite(0, HIGH);

}
}

if (lueftermodus == 0) {
digitalWrite(4, HIGH);
} else {
digitalWrite(4, LOW);
}

if (lueftermodus == 1) {
digitalWrite(4, LOW);
} else {
digitalWrite(4, HIGH);
}

if (lueftermodus == 2) {
if (digitalRead(0) == LOW) {
digitalWrite(4, LOW);
} else {
digitalWrite(4, HIGH);
}
}

if (lueftermodus == 3) {
if (feuchtigkeit > abluftfeuchtigkeit + 5) {
digitalWrite(4, LOW);
} if (feuchtigkeit < abluftfeuchtigkeit) {
digitalWrite(4, HIGH);
} 
}

if (lueftermodus == 4) {
float svp = getSVP(temperatur);
float targetHumidity = 0;
if (abluftvpd == 1) {
targetHumidity = (100 - (((0.55 * 1000) / svp) * 100));
} else if (abluftvpd == 2) {
targetHumidity = (100 - (((0.825 * 1000) / svp) * 100));
} else if (abluftvpd == 3) {
targetHumidity = (100 - (((1.15 * 1000) / svp) * 100));
}
float lowerLimit = targetHumidity - 2.5;
float upperLimit = targetHumidity + 2.5;
if (feuchtigkeit > upperLimit) {
digitalWrite(4, LOW);
} else if (feuchtigkeit < lowerLimit) {
digitalWrite(4, HIGH);
}
}
}

float getSVP(float temp) {
if (temp <= 1) return 657;
if (temp <= 2) return 706;
if (temp <= 3) return 758;
if (temp <= 4) return 813;
if (temp <= 5) return 872;
if (temp <= 6) return 935;
if (temp <= 7) return 1002;
if (temp <= 8) return 1073;
if (temp <= 9) return 1148;
if (temp <= 10) return 1228;
if (temp <= 11) return 1312;
if (temp <= 12) return 1402;
if (temp <= 13) return 1497;
if (temp <= 14) return 1598;
if (temp <= 15) return 1705;
if (temp <= 16) return 1818;
if (temp <= 17) return 1937;
if (temp <= 18) return 2064;
if (temp <= 19) return 2197;
if (temp <= 20) return 2338;
if (temp <= 21) return 2486;
if (temp <= 22) return 2643;
if (temp <= 23) return 2809;
if (temp <= 24) return 2983;
if (temp <= 25) return 3167;
if (temp <= 26) return 3361;
if (temp <= 27) return 3565;
if (temp <= 28) return 3779;
if (temp <= 29) return 4005;
if (temp <= 30) return 4242;
return 4242; // Rückfallwert für Temperaturen über 30 °C
}

void onBeleuchtungChange() {
if (beleuchtung == 0) {
beleuchtungsmodus = 0;
}
if (beleuchtung == 1) {
beleuchtungsmodus = 1;
}
if (beleuchtung == 2) {
beleuchtungsmodus = 2;
}
if (beleuchtung == 3) {
beleuchtungsmodus = 3;
}
}

void onAbluftChange() {
if (abluft == 1) {
lueftermodus = 1;
}
if (abluft == 0) {
lueftermodus = 0;
}

if (abluft == 2) {
lueftermodus = 2;
}
if (abluft == 3) {
lueftermodus = 3;
}
if (abluft == 4) {
lueftermodus = 4;
}
}

void onBeleuchtungStartChange() {
if (beleuchtungStart == 1) {
beleuchtungStartHour = 1;
}
if (beleuchtungStart == 2) {
beleuchtungStartHour = 2;
}
if (beleuchtungStart == 3) {
beleuchtungStartHour = 3;
}
if (beleuchtungStart == 4) {
beleuchtungStartHour = 4;
}
if (beleuchtungStart == 5) {
beleuchtungStartHour = 5;
}
if (beleuchtungStart == 6) {
beleuchtungStartHour = 6;
}
if (beleuchtungStart == 7) {
beleuchtungStartHour = 7;
}
if (beleuchtungStart == 8) {
beleuchtungStartHour = 8;
}
if (beleuchtungStart == 9) {
beleuchtungStartHour = 9;
}
if (beleuchtungStart == 10) {
beleuchtungStartHour = 10;
}
if (beleuchtungStart == 11) {
beleuchtungStartHour = 11;
}
if (beleuchtungStart == 12) {
beleuchtungStartHour = 12;
}
if (beleuchtungStart == 13) {
beleuchtungStartHour = 13;
}

if (beleuchtungStart == 14) {
beleuchtungStartHour = 14;
}
if (beleuchtungStart == 15) {
beleuchtungStartHour = 15;
}
if (beleuchtungStart == 16) {
beleuchtungStartHour = 16;
}
if (beleuchtungStart == 17) {
beleuchtungStartHour = 17;
}
if (beleuchtungStart == 18) {
beleuchtungStartHour = 18;
}
if (beleuchtungStart == 19) {
beleuchtungStartHour = 19;
}
if (beleuchtungStart == 20) {
beleuchtungStartHour = 20;
}
if (beleuchtungStart == 21) {
beleuchtungStartHour = 21;
}
if (beleuchtungStart == 22) {
beleuchtungStartHour = 22;
}
if (beleuchtungStart == 23) {
beleuchtungStartHour = 23;
}
if (beleuchtungStart == 24) {
beleuchtungStartHour = 24;
}
}

void onAbluftLuftfeuchtigkeitChange() {
if (abluftLuftfeuchtigkeit == 30) {
abluftfeuchtigkeit = 30;
}
if (abluftLuftfeuchtigkeit == 35) {
abluftfeuchtigkeit = 35;
}
if (abluftLuftfeuchtigkeit == 40) {
abluftfeuchtigkeit = 40;
}
if (abluftLuftfeuchtigkeit == 45) {
abluftfeuchtigkeit = 45;
}
if (abluftLuftfeuchtigkeit == 50) {
abluftfeuchtigkeit = 50;
}
if (abluftLuftfeuchtigkeit == 55) {
abluftfeuchtigkeit = 55;
}
if (abluftLuftfeuchtigkeit == 60) {
abluftfeuchtigkeit = 60;
}
if (abluftLuftfeuchtigkeit == 65) {
abluftfeuchtigkeit = 65;
}
}

void onAbluftVPDChange() {
if (abluftVPD == 1) {
abluftvpd = 1;
}
if (abluftVPD == 2) {
abluftvpd = 2;
}
if (abluftVPD == 3) {
abluftvpd = 3;
}
}

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

1 Like

Welchen MC verwendest Du? (ESP32, ESP8266, ...?)

Gruß Tommy

Dann versuch es mit der, ich nutze die allerdings auf einem ESP32.

Ganz vergessen.
Ich nutze einen ESP8266 Mini.
Mit freundlichen Grüßen

Und was genau ist das ?

Ja es gibt so was :wink:

Der heißt aber ESP8266 D1 mini.

Gruß Tommy

Echt jetzt....das hätte ich nicht gedacht. Und das weiß der TO nicht ?
Oder hat der gar was anderes ?

Keine Ahnung, deshalb habe ich Fony ja korrigiert.

Gruß Tommy

Ups D1 übersehen Ihr habt Recht !

6 posts were merged into an existing topic: ESP8266 Modul

schrittweise vorangehen und analsieren.

Das erste wäre mal einen Sketch mit diesem "UniversalTelegramBot" und der richtigen ArduinoJSON Version zum Laufen zu bringen. Da wirds ja hoffentlich Beispiele in der Library geben - die müssen funktionieren bevor du das in deinem eigenen Sketch einbaust.

Also leg erst mal deinen bisherigen Versuch zur Seite und geh exact nach Library vor.

und bezüglich

erkunde dich mal wie man mit dieser Toolchain seinen Code vernünftig formatiert. In der IDE geht das mit STRG-T ... online wirds wohl hoffentlich was ähnliches geben.

Hallo,

was ist das für ein Quatsch, und sowas gibts da laufend.
wenn schon zwei Variable dann reicht das auch
lueftermodus = abluft;