Hallo
Ich suche schon seit Stunden nach einer Lösung die wahrscheinlich total leicht zu lösen ist, ich komm nur nicht auf den Fehler...
In FHEM hab ich Telegram installiert, es funktioniert auch wunderbar wenn ich mit meinem Handy etwas Abfrage oder hinschicke. Von FHEM aus kann ich nur zu meinem Handy senden wenn das Attribut ,,defaultPeer" mit @meinBenutzername gesetzt ist. Lösche ich dieses Attribut kann ich keine Nachrichten empfangen. Ansich kein Problem, ich möchte aber dass mehrere User Readings abrufen und Befehle senden können. Ist defaultPeer gesetzt kann zwar ich empfangen aber sonst niemand.
In den Contacts sind die User korrekt drin, TelegramBot kann also empfangen und erkennt den zweiten oder dritten User.
Was muss ich machen damit mehrere User mit FHEM kommunizieren können?
Danke für Eure Hilfe !
Michael
Du musst die Befehle so verwenden wie in der commandref beschrieben mit @<userID>
Beispiel
set telegram_bot message @@user1_benutzername @@user2_benutzername Testnachricht
Der Benutzername ist der bei Telegram eingetragene.
Grüße
Schnitzelbrain
Vielen Dank schon mal für Eure Antworten.
Ich check das leider noch immer nicht ganz.
Wenn ich das Attribut "defaultPeer" auf "@MeinTelegramName" setze dann kann ich in Telegramm einen Befehl senden der beantwortet wird.
Als Beispiel kann ich "Temp" senden und bekomme dafür aus einem Notify bestimmte Temperturwerte die ich aus den Reading der Geräte auslese. Das kann aber nur ich empfangen. Wenn User2 Temp sendet bekommt User2 gar keine Antwort denn sie kommt bei User1 an...
Lösche ich das Attribut "defaultPeer" dann überhaupt niemand etwas empfangen, Telegram reagiert überhaupt nicht darauf...
Wisst Ihr was ich meine?
Mit Sicherheit hab ich noch irgendwo einen Fehler drin. In meiner WhatsApp-Instanz funktioniert das ja auch alles, alle Familienmitglieder können dort Befehle an FHEM senden und diese werden beantwortet und ausgeführt. Das muss doch bei Telegram auch funktionieren...
Hier mal das Notify welches ich für Telegram erstellt habe:
Telegram:msgText.* {
if ($EVTPART1 eq 'Filterpumpe') {
if ($EVENT =~ 'an') {
fhem("set Steckdose_Pool_Filterpumpe_Sw on");
}
elsif ($EVENT =~ 'aus') {
fhem("set Steckdose_Pool_Filterpumpe_Sw off");
}
}
elsif ($EVTPART1 eq 'Garage') {
fhem("set Garagentor on-for-timer 1");
fhem("set $NAME send Das Garagentor sollte sich nun bewegen");
}
elsif( $EVTPART1 eq 'Ruhe' ) {
fhem("set Ruhemodus_OG aktiv");
fhem("set $NAME send Der HvO-Alarm im OG ist AUS");
}
elsif( $EVTPART1 eq 'Bereit' ) {
fhem("set Ruhemodus_OG inaktiv");
fhem("set $NAME send Der HvO-Alarm im OG ist AN");
}
elsif ($EVTPART1 eq 'Temp') {
my $atemp = ReadingsVal("netatmo_M02_00_00_19_0f_0c", "temperature", "");
fhem("set $NAME send Aussentemperatur: $atemp °C");
my $watertemp = ReadingsVal("Temp.Poolwasser", "temperature", "");
fhem("set $NAME send Pool Wassertemperatur: $watertemp °C");
my $tectemp = ReadingsVal("Temp.Technikraum", "temperature", "");
my $techum = ReadingsVal("Temp.Technikraum", "humidity", "");
fhem("set $NAME send Technikraum: $tectemp °C, $techum %");
my $htemp = ReadingsVal("netatmo_M03_00_00_03_a4_64", "temperature", "");
my $hhum = ReadingsVal("netatmo_M03_00_00_03_a4_64", "humidity", "");
fhem("set $NAME send Poolhalle: $htemp °C, $hhum %");
my $saunatemp = ReadingsVal("netatmo_D70_ee_50_18_fc_9e", "temperature", "");
my $saunahum = ReadingsVal("netatmo_D70_ee_50_18_fc_9e", "humidity", "");
fhem("set $NAME send Saunahaus: $saunatemp °C, $saunahum %");
}
else {
}
}
Nochmals danke für Eure Unterstützung
Hab jetzt das Notify nochmal abgeändert und das $Name entfernt und durch Telegram ersetzt, selbes, ich bekomme keine Antwort.
Nur als Info, set Telegram message @@User1 @@User2 Testnachricht
funktioniert, es kommt bei beiden User etwas an
Telegram:msgText.* {
if ($EVTPART1 eq 'Filterpumpe') {
if ($EVENT =~ 'an') {
fhem("set Steckdose_Pool_Filterpumpe_Sw on");
}
elsif ($EVENT =~ 'aus') {
fhem("set Steckdose_Pool_Filterpumpe_Sw off");
}
}
elsif ($EVTPART1 eq 'Garage') {
fhem("set Garagentor on-for-timer 1");
fhem("set Telegram message Das Garagentor sollte sich nun bewegen");
}
elsif( $EVTPART1 eq 'Ruhe' ) {
fhem("set Ruhemodus_OG aktiv");
fhem("set Telegram message Der HvO-Alarm im OG ist AUS");
}
elsif( $EVTPART1 eq 'Bereit' ) {
fhem("set Ruhemodus_OG inaktiv");
fhem("set Telegram message Der HvO-Alarm im OG ist AN");
}
elsif ($EVTPART1 eq 'Temp') {
my $atemp = ReadingsVal("netatmo_M02_00_00_19_0f_0c", "temperature", "");
fhem("set Telegram message Aussentemperatur: $atemp °C");
my $watertemp = ReadingsVal("Temp.Poolwasser", "temperature", "");
fhem("set Telegram message Pool Wassertemperatur: $watertemp °C");
my $tectemp = ReadingsVal("Temp.Technikraum", "temperature", "");
my $techum = ReadingsVal("Temp.Technikraum", "humidity", "");
fhem("set Telegram message Technikraum: $tectemp °C, $techum %");
my $htemp = ReadingsVal("netatmo_M03_00_00_03_a4_64", "temperature", "");
my $hhum = ReadingsVal("netatmo_M03_00_00_03_a4_64", "humidity", "");
fhem("set Telegram message Poolhalle: $htemp °C, $hhum %");
my $saunatemp = ReadingsVal("netatmo_D70_ee_50_18_fc_9e", "temperature", "");
my $saunahum = ReadingsVal("netatmo_D70_ee_50_18_fc_9e", "humidity", "");
fhem("set Telegram message Saunahaus: $saunatemp °C, $saunahum %");
}
else {
}
}
Es wundert mich ein wenig, das Igami nicht auf sein Modul verwiesen hat, aber kennst du das schon? Dort ist es auch so, dass der eine es nicht mal mitbekommt, wenn der andere das Menü anfordert.
https://forum.fhem.de/index.php/topic,77297.0.html
Grüße
Ich kann ja nicht überall darauf hinweisen :D
Zitat von: Pflasterbicker am 17 November 2017, 09:47:30
Hab jetzt das Notify nochmal abgeändert und das $Name entfernt und durch Telegram ersetzt, selbes, ich bekomme keine Antwort.
Nur als Info, set Telegram message @@User1 @@User2 Testnachricht
funktioniert, es kommt bei beiden User etwas an
Telegram:msgText.* {
if ($EVTPART1 eq 'Filterpumpe') {
if ($EVENT =~ 'an') {
fhem("set Steckdose_Pool_Filterpumpe_Sw on");
}
elsif ($EVENT =~ 'aus') {
fhem("set Steckdose_Pool_Filterpumpe_Sw off");
}
}
elsif ($EVTPART1 eq 'Garage') {
fhem("set Garagentor on-for-timer 1");
fhem("set Telegram message Das Garagentor sollte sich nun bewegen");
}
elsif( $EVTPART1 eq 'Ruhe' ) {
fhem("set Ruhemodus_OG aktiv");
fhem("set Telegram message Der HvO-Alarm im OG ist AUS");
}
elsif( $EVTPART1 eq 'Bereit' ) {
fhem("set Ruhemodus_OG inaktiv");
fhem("set Telegram message Der HvO-Alarm im OG ist AN");
}
elsif ($EVTPART1 eq 'Temp') {
my $atemp = ReadingsVal("netatmo_M02_00_00_19_0f_0c", "temperature", "");
fhem("set Telegram message Aussentemperatur: $atemp °C");
my $watertemp = ReadingsVal("Temp.Poolwasser", "temperature", "");
fhem("set Telegram message Pool Wassertemperatur: $watertemp °C");
my $tectemp = ReadingsVal("Temp.Technikraum", "temperature", "");
my $techum = ReadingsVal("Temp.Technikraum", "humidity", "");
fhem("set Telegram message Technikraum: $tectemp °C, $techum %");
my $htemp = ReadingsVal("netatmo_M03_00_00_03_a4_64", "temperature", "");
my $hhum = ReadingsVal("netatmo_M03_00_00_03_a4_64", "humidity", "");
fhem("set Telegram message Poolhalle: $htemp °C, $hhum %");
my $saunatemp = ReadingsVal("netatmo_D70_ee_50_18_fc_9e", "temperature", "");
my $saunahum = ReadingsVal("netatmo_D70_ee_50_18_fc_9e", "humidity", "");
fhem("set Telegram message Saunahaus: $saunatemp °C, $saunahum %");
}
else {
}
}
Du musst es nicht nur durch telegram ersetzen sondern durch telegram @@user1 @@user2 wenn es beide bekommen sollen.
Oder hast bei deinem code post die user nur weggelassen das es übersichtlicher ist?
Grüße
Schnitzelbrain
Zitat von: schnitzelbrain am 17 November 2017, 11:01:42
Du musst es nicht nur durch telegram ersetzen sondern durch telegram @@user1 @@user2 wenn es beide bekommen sollen.
Oder hast bei deinem code post die user nur weggelassen das es übersichtlicher ist?
Grüße
Schnitzelbrain
Es sollen ja nicht beide bekommen sondern nur DERJENIGE der die Anfrage stellt...
Dann guck dir doch einfach mal das msgDialog Modul an.