variable Werte per Telegram-Message versenden

OP #5039018
Guten Tag werte Freunde der Sonne,

die Übertragung einer "simplen" Textnachricht per Telegram an meinen Bot 
bzw. auf mein Handy funktioniert einwandfrei. Soweit sogut, jedoch wäre 
die Übertragung eines Wertes meiner Sensoren wünschenswert. Das Problem 
ist jedoch, dass mit dem verwendeten Befehl (s.u.) alles in den " " 
natürlich nur reine Textform behält. Hat da jemand eine Idee, wie man 
eine Variable überträgt?
1
--> Folgende Library wird verwendet und wie folgt eingerichtet:
2

3
#include <ESP8266TelegramBOT.h>  
4

5
#define botName "ZZZZZZZZZZZ"                                     
6
#define botUserName "ZZZ_bot"              
7
#define botToken "XXXXXXXXXXXXXXXXXXXXXXXXXXX"    
8
#define adminID "YYYYYYYYYYYYYYYY"
9

10
TelegramBOT bot(botToken, botName, botUserName);  
11

12

13
--> Folgender Befehl wird erfolgreich zur Nachrichtenuebertragung verwendet:
14

15
bot.begin();
16
bot.sendMessage(adminID, "texttexttexttext", "");
17

18

19
--> Folgender Befehl wird leider nicht erfolgreich zur Uebertragung versucht, tempC ist eine Variable, die aus den Sensoren ausgelesen wird:
20

21
bot.begin();
22
bot.sendMessage(adminID, tempC, "");

Wenn ich den Text in " " einfach durch eine Variable ersetze haut er 
folgende Fehlermeldung raus:

Sensoren_nodemcuipadresse_rgb_Telegram:184: error: no matching function 
for call to 'TelegramBOT::sendMessage(const char [10], float&, const 
char [1])'
     bot.sendMessage(adminID, tempC, "");

Hat jemand eine Idee, wie ich die Temperaturen übertragen kann? Google 
zeigt sich leider, zumindest durch meine Schlagworte, als ziemlich 
lösungskarg.

Vielen Dank schonmal im vorraus!
Gast #5039023
Hallo,

wie ist den in der Klasse sendMessage() deklariert, ist die Methode 
evtl. Überladen ?
Sonst programmiere Dir halt den "fehlenden" Datentyp (Argument) als 
Überladung dazu.
Gast #5039117
S. R. schrieb:
> Warum nicht? Mir sind die printf()-Varianten lieber als die Streams von
> C++.

Weil Arduino-String nicht std::string ist, die Streams hier überhaupt 
nicht verwendet werden und der passende Konstruktor von String 
Speicherverwaltung und Pointergefrickel übernimmt, so dass man als 
Anfänger in 99.7% der Fälle keine Fehler machen kann.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.