Meldungen per Telegram melden

Überwachung der Solaranlage per eMail oder Pushover und Steuerung von Geräten mit Smart Home Zentralen. PV-Überschuss Steuerung verbunden mit Geräten und Tasmota Firmware. Wallbox Steuerungen und API Schnittstelle, über die Daten in die Solaranzeigen Datenbanken geschrieben und gelesen werden können. Alles, was man für Steuerungsaufgaben benötigt.

Moderator: Ulrich

Antworten
dl8ny
Beiträge: 13
Registriert: Sa 14. Okt 2017, 19:57

Meldungen per Telegram melden

Beitrag von dl8ny »

Hallo,

ich nutze Telegram und wollte die Meldungen per Telegram bekommen, damit ich nicht noch einen Messenger auf dem iPhone habe. Nach einigem Test und Experimentieren funktioniert es.

Die Einstellungen in der user.config.php werden die Einstellungen die für Pushover vorgesehen sind auch für Telegram benutzt, also $API_Token = bot Nr.,
$User_Key[1] = chatID. Wer das jetzt übernehmen möchte und keine Erfahrungen mit Telegram hat, bitte erst googlen wie man einen Bot erstellt und wie man an die chatID kommt.

Die Funktion "send Message" muss geändert werden, hier der Code (einige Zeilen bleiben erhalten):


function send_message($APP_ID, $UserToken, $Message) {
Global $funktionen;

$url = 'https://api.telegram.org/bot'.$APP_ID.'/sendMessage';
$fields = array(
'chat_id' => urlencode($UserToken),
'text' => urlencode($Message)
);

foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
rtrim($fields_string, '&');

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);

// Diese Zeilen sind von der alten Funktion!!

if (curl_errno($ch)) {
$funktionen->log_schreiben("Curl Fehler! Daten nicht zur entfernten InfluxDB gesendet! Curl ErrNo. ".curl_errno($ch)," ",5);
return false;
}
if ($rc_info["http_code"] == 200 or $rc_info["http_code"] == 204) {
$funktionen->log_schreiben("Daten zur InfluxDB gesendet. ","* ",9);
}
elseif ($rc_info["http_code"] == 401) {
$funktionen->log_schreiben("Influx UserID oder Kennwort ist falsch.","* ",5);
return false;
}
curl_close($ch);

return true;
}


Viel Spaß damit

Klaus

jklasen
Beiträge: 13
Registriert: Fr 3. Apr 2020, 22:07

Re: Meldungen per Telegram melden

Beitrag von jklasen »

Hi,

würde auch gern Telegram einsetzen wollen... Bot einrichten u.s.w bekomme ich hin.. habe schon einige Bots am laufen...
ABER
wo finde ich denn die "Die Funktion "send Message" " ?

Grüße,

Jens

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“