FHEM Forum

FHEM => Automatisierung => Thema gestartet von: btmerz am 06 Januar 2021, 19:44:18

Titel: Versand mit TelegramBot (gelöst)
Beitrag von: btmerz am 06 Januar 2021, 19:44:18
Hi zusammen,
ich habe eine Renault Zoe im Leasing gekauft (fährt meine Frau). Die Zoe ist in FHEM eingebunden, so dass ich den aktuelle Kilometerstand auslesen kann. Jetzt möchte ich meiner Frau per TelegramBot täglich die frei verfügbaren KM zukommen lassen.
Dazu berechne ich die seit dem Kauf vergangenen Sekunden und daraus die noch freien km. Das ergebnis soll dann gesendet werden.
Prinzipiell funktioniert das auch, jedoch kann ich die Daten nur an den defaultPeer, also mich senden. Ich schaffe es nicht diese Nachricht an meine Frau zu senden.
Das ganze steht in einem Doif:

so funktionierts, Nachricht geht aber an mich:
(1) ({my $SEK = time - time_str2num("2020-10-05 00:00:00");
my $KMERL=$SEK*0.000237660658605217;
my $KMREST=$KMERL-ReadingsVal("Zoe", "totalMileageKm", 30000); 
my $txt='Zoe freie km: '.int($KMREST);
fhem("set TeleBot message $txt")})


Mache ich 
(1) ({my $SEK = time - time_str2num("2020-10-05 00:00:00");
my $KMERL=$SEK*0.000237660658605217;
my $KMREST=$KMERL-ReadingsVal("Zoe", "totalMileageKm", 30000); 
my $txt='Zoe freie km: '.int($KMREST);
fhem("set TeleBot message @Name_Frau $txt")})

, bekomme ich folgende Fehlermeldung:
: Global symbol "@Name_Frau" requires explicit package name at (eval 42384) line 1.

Wenn ich
(1) ({my $SEK = time - time_str2num("2020-10-05 00:00:00");
my $KMERL=$SEK*0.000237660658605217;
my $KMREST=$KMERL-ReadingsVal("Zoe", "totalMileageKm", 30000); 
my $txt='Zoe freie km: '.int($KMREST);}
set TeleBot message @Name_Frau $txt)

mach , dann bekommt meine Frau die Nachricht 'Zoe freie km $txt', es wird also nicht die Variable $txt eingesetzt...

Wisst ihr dazu eine Lösung?
Titel: Antw:Versand mit TelegramBot
Beitrag von: TWART016 am 07 Januar 2021, 00:11:52
Hi,

probiere es mal mit escapen vom @

fhem("set TeleBot message \@Name_Frau $txt")})
Titel: Antw:Versand mit TelegramBot
Beitrag von: btmerz am 07 Januar 2021, 07:46:31
Das war der richtige Hinweis. Jetzt funktioniert es wie gewünscht. Vielen dank!