FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: littleswabi am 05 Oktober 2017, 18:51:46

Titel: Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 05 Oktober 2017, 18:51:46
Hallo zusammen  :)

von Zeit zu Zeit beschäftige ich mich mit meiner kleinen "Heimautomatisierung".... :) macht immer wieder aufs neue Spaß.

Vor kurzem habe ich Telegram für mich entdeckt und auch schon einige Sachen umgesetzt.

z.B. das versenden von Nachrichten an Fhem und schalten von Steckdosen und Licht über Favoriten und so sachen halt...

jetzt würde ich gerne wenn ich an den Bot den Befehl "Status" sende die aktuelle Außentemperatur und andere abgefragt werden.


Das schalten von Steckdosen habe ich über DOIF gemacht und das funktioniert wunderbar.

Hatte ich auch erst mit dem versenden der Temparatur vor allerdings hatte ich gelesen, dass man bei DOIF kein readingsVal einbinden kann.

Wie kann ich das realisieren?

Vielen Dank :)
Titel: Telegram - versenden von Temparaturdaten
Beitrag von: Ma_Bo am 05 Oktober 2017, 18:57:18
Mit DOIF geht das.
Im Ausführungsteil

(set TelegramBot message Temperatur Außen [Device:Reading])

Du musst TelegramBot gegen den Namen deines Bot tauschen und Device:Reading gegen dein Device und Reading tauschen.

Grüße Marcel


Tapatalk iPhone, daher kurz gehalten.
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 05 Oktober 2017, 19:11:15
Super!

Hat auf anhieb funktioniert :)

Danke
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 05 Oktober 2017, 19:13:57
noch eine Frage:

ich habe einen Home Bot über diesen kann ich über Favoriten - in meinem Fall "Licht"- eine Auswahl bekommen was ich gerne Schalten möchte
Nun wollte ich an den selben Bot "Status" senden und einige informationen auslesen.

über cmdFavorites habe ich /Licht als Favorite angelegt. Kann ich hier noch einen zweiten anlegen? Wenn ja wie?

Danke
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: kroman am 05 Oktober 2017, 20:36:03
https://fhem.de/commandref.html#TelegramBot

Zitat
favorites <list of commands>
Specify a list of favorite commands for Fhem (without cmdKeyword). Multiple favorites are separated by a single semicolon. A double semicolon can be used to specify multiple commands for a single favorite
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: viegener am 05 Oktober 2017, 20:41:36
@kroman: Schöner hätte ich es nicht sagen können - oops hab ich ja ;)
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: igami am 05 Oktober 2017, 20:44:39
Für mehrstufige Dialoge möchte ich mal auf dieses Modul verweisen: msgDialog: Instant Messaging als FHEM Interface (https://forum.fhem.de/index.php/topic,77297.msg693353.html).
Am Wochenende werde ich es vermutlich offiziell einchecken.
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 05 Oktober 2017, 21:20:48
Danke :)
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 05 Oktober 2017, 21:24:35
Zitatfavorites <list of commands>
Specify a list of favorite commands for Fhem (without cmdKeyword). Multiple commands are separated by semicolon (;). This also means that only simple commands (without embedded semicolon) can be defined

Wenn ich in Fhem auf
ZitatDevice specific help
gehe steht der obere Text da.
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 06 Oktober 2017, 20:39:22
Ich habe noch eine Farge an @Ma_Bo zu dem DOIF :)

meine DEF ist folgendermaßen

([myHomeTemp:msgText] eq "Wetter") (set myHomeTemp send die Außentemperatur beträgt [Temp_Outside:temperature] Grad und die Luftfeuchtigeit beträgt [Temp_Outside:humidity] %)

Wenn ich von Telegram ein "Wetter" sende passiert folgendes:

[code2017-10-06 20:32:22.060 DOIF di_outsidetemp cmd_nr: 1
2017-10-06 20:32:22.060 DOIF di_outsidetemp cmd: 1
2017-10-06 20:32:22.060 DOIF di_outsidetemp cmd_event: myHomeTemp
2017-10-06 20:32:22.060 DOIF di_outsidetemp cmd_1
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgId: 169
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgPeer: meinName
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgPeerId: 279979850
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgChat: meinName
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgChatId: 279979850
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgText: Wetter
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgReplyMsgId:
2017-10-06 20:32:22.066 TelegramBot myHomeTemp msgFileId:
2017-10-06 20:32:22.478 TelegramBot myHomeTemp sentMsgResult: SUCCESS
2017-10-06 20:32:22.478 TelegramBot myHomeTemp sentMsgId: 170
2017-10-06 20:32:22.478 TelegramBot myHomeTemp sentMsgPeerId: 279979850][/code]

Der State in den Readings ist cmd_1. Wenn ich jetzt ein weiteres mal Wetter sende passiert folgendes:

nichts  :)

Erst wenn ich set di_outsidetemp cdm_2 bekomme ich wieder eine Antwort.

Wie kann ich das ändern?

Danke schonmal  :)
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: igami am 06 Oktober 2017, 20:41:38
guck dir Mal das Attribut  "do" an, vorzugsweise mit dem Wert "always"
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: Ma_Bo am 07 Oktober 2017, 00:02:15
igami hat die Antwort ja schon geschrieben... zu empfehlen ist auch das attr checkReadingEvent auf 1 zu stellen...

Lies dir bitte auch mal die commandref zu DOIF durch, dort sind sehr viele Beispiele und das ganze ist sehr gut erklärt...

Grüße Marcel


Tapatalk iPhone, daher kurz gehalten.
Titel: Antw:Telegram - versenden von Temparaturdaten
Beitrag von: littleswabi am 09 Oktober 2017, 12:57:44
Danke! So funktioniert es!