Push nachrichten via Telegram.

Hallo
da bin ich wieder mit einem neuen Problem.
Ich habe einen Code gefunden um Nachrichten via Telegramm Messenger zu senden.

Wie kann ich diesen code der in einer Scene wunderbar funktioniert in ein VD umschreiben???
Ich bekomme das mit dem local selfhttp = net.HTTPClient({timeout=2000})nicht hin.

ich bitte um einen tip.

--[[
%% properties
%% globals
Telegram
--]]

--#################   Telegram fuer xxxxxx ######################################

local debug = true;
local token = "2244444:Abcdefghijkkkkkkkkkk-nnnn"
local chat_id = "1234567"
local url = "https://api.telegram.org/bot"..token.."/sendMessage?chat_id="..chat_id.."&text="

local function log(str) if debug then fibaro:debug(str); end; end
local function errorlog(str) fibaro:debug("<font color='red'>"..str.."</font>"); end

--Prevents the scene from running again
if (tonumber(fibaro:getGlobalValue("Telegram")) == 0) then
  fibaro:abort();
end

local selfhttp = net.HTTPClient({timeout=2000})
local msg = fibaro:getGlobalValue("Telegram")
log(msg);

url = url .. msg
selfhttp:request(url, {
  options={
    headers = selfhttp.controlHeaders,
    data = requestBody,
    method = 'GET',
    timeout = 5000
  },
  success = function(status)
    local result = json.decode(status.data);
    if result.ok == true then
      log("successful");
    else
      errorlog("failed");
      log(status.data);
    end
  end,
  error = function(error)
    errorlog("ERROR")
    log(error)
  end
})

--Reset the global Telegram variable to 0
fibaro:setGlobal("Telegram", "0") 

Hi,

geht leider nicht, da https nicht in VDs unterstützt wird. Warum willst du es denn in ein VD auslagern?

Gruß

Hi,
ich habe mir ein VD mit Schichtarbeit, Urlaub und verschiedene Heitzungszustände je nach Schichtarbeit, Sonnenposition und später mehr… zusammen gestellt wo ich alles rein packe was ich nur selten brauche oder das eine Aufgabe erledigen muss das nur bei bedarf benötigt wird… damit nicht alles in Scene irgend wo rum liegt. Einfach so damit es aufgeräumt ist.

Schade das es nicht funktioniert. Danke

Neue-Bitmap.png

Hi,
Ich habe hier zufällig gelesen, dass du Nachrichten über Telegram verschickst.
Wie bekomm ich denn die Token und ChatID??

Muss ich das bei Telegramm irgendwie regsitrieren?
Hab dort nix genaues gefunden…

Hallo
Über den User “get id” kannst du das alles bekommen oder noch einfacher über “FibaroBot”.

Viel Spaß

Hi,
Sorry falls ich blöd frage, aber ich habe Telegram heute das erste Mal installiert!
Ich glaube ich habe das mit den Bots noch nicht richtig verstanden !?

Ich habe mit inzwischen über BotFather einen Bot mit “/newbot” erstellt und diesen zum Testen mal “Fibaro” genannt. Als mich danach den Usernamen “Fibaro” vergeben wollte kam die Meldung dass der Namen schon existiert!
Den Token hab ich schon rausgefunden, aber die Chat ID leider noch nicht!

Ist dieser FIbaro Bot ein algemeinder Bot den JEDER verwenden kann?
Dann war das Erstellen des Bot vielleicht garnicht nötig??

Suche den Kontakt „FibaroBot“ in telegram… dann must du einen User anlegen mit der erhaltenen Email von Telegram in der fibaro HC2… es ist dann einiges schon erklärt, beim bot anlegen.

Ich habes geschafft, man muss den neuen Bot einige Nachrichten schicken, damit er die Chat ID ausspuckt, das war mein Fehler :wink:

Eine tolle Anleitung die ohne Commandlinetools oder weitere Software funktioniert, habe ich hier gefunden.

Das Basis Skript um Telegramm Nachrichten zu schicken hab ich schon hier bei euch gefunden:
https://www.siio.de/board/thema/push-nachrichten-via-telegram/

Jetzt heißt es ein Skript zu estellen um das richtige Format an die Variable “Telegram” zu senden :wink:

Hallo,
Nachdem ich meinen Telegram nun fetig eingerichtet habe, kam die erste Testnachricht erfolgreich an!!
Danke für eure Tipps!

Ich habe das Skript am ANfang des Threats nun in meine HC2 übernommen und bin nun dran formatierte Texte mit mehreren Zeilen zu senden!
Leider habe ich noch ein Probleme mit den Zeilenumbrüchen.
Sende ich: fibaro:setGlobal(“Telegram”,“Hallo Welt\n Hallo Lebnen!”)
kommt “hallo Welt” an, aber alles nach dem “\n” nicht mehr.

Das Skript gibt im Debug folgende Medlung aus:
ERROR
short read

Hat jemand einen Tipp??

Hallo
benutze diesen “%0A”.
fibaro:setGlobal(“Telegram”,“Hallo Welt %0AHallo Lebnen!”)

Gruss

Funktioniert wunderbar, danke @parip69