Telegram Messenger Modul

Ich hab’s gefunden, nach X Stunden :banghead:
Und weiter gehts …

Hallo Fogg!

Vielen vielen Dank. Du hast mich ein großes Stück weitergebracht!!!:smiley:
Ich habe glatt hinbekommen an den Bot eine Nachricht zu schicken!!!

Wenn ich jetzt was zurück an IP-Symcon sende, erscheint folgende Fehlermeldung im Meldefenster:

Leuchtet ja ein, wenn ich nur Hallo schreibe, denkt sich das pHP Modul, was soll das:confused:

Weißt Du, ob es irgendwo Beispiel PHP Scripte gibt, mit denen man mal ein wenig rumtesten kann?

Was für Möglichkeiten hat man denn, dem IP-Symcon von „außerhalb“ „Befahle“ zuzusenden und welche Syntax steckt dahinter?

Mein erster Projekt soll wie folgt aussehen:
Handy an Funksteckdose anschließen.
Wenn der Akku 90% geladen ist, soll die Funksteckdose über Telegramm den Befehl zum Ausschalten bekommen.
Irgendwie erinnere ich mich, dass man einen entsprechenden Befahl mit einer Handy App über Telegramm senden kann,
wenn ich mich recht erinnere hieß die App Task oder so.
Ist auch erst einmal egal.
Mir wäre schon damit geholfen wenn ich wüsste wie man Telegram einen Steuerungsbefehl an das System schicken kann, sodass die Funksteckdose ausgeschaltet wird!

Nochmals vielen Dank für Deine Hilfe und Geduld :o

Gruß
Jörg

Freut mich wenn ich helfen konnte :slight_smile:

Empfangen von Nachrichten habe ich noch nichts umgesetzt. Soweit ich das Read Me verstehe gibt es keinen default Befehlssatz. Du musst da selbst bauen mit einem geeigneten Script.

Ein Beispielskript ist dort auch angegeben:

<?php
if ($_IPS['SENDER'] == "Telegram") {
    process_incoming($_IPS['INSTANCE'], $_IPS['CHAT'], $_IPS['VALUE']);
}

function process_incoming($instance, $senderid, $text) {
    $return = "";

    switch(strtolower($text)) {

        case "temp": // Aussentemperatur
           $return = "Die Aussentemperatur beträgt " . GetValueFormatted(54500 /*[Garten\Wetterstation\Aussentemperatur (komb.)]*/);
            break;

        default:
           $return = "Der Befehl '".$text."' ist unbekannt.";
           break;
    }

    if ($return != "") {
        Telegram_SendText($instance, $return, $senderid);
    }
}
?>

Wenn ich richtig verstehe musst das Skript einfach irgendwo im ObjectTree anlegen und dann in der Instanzkonfiguration der Telegram Instanz angeben.

Viel Erfolg!

Ja, da bin ich auch fast verzweifelt… Ist nicht alles einleuchtend. Gut dass Du es gefunden hast.

Hallo Titus!

Ich wende mich mal direkt an den Modul Entwickler.
Ich habe das Telegram Message Modul mithilfe von Fogg (Danke noch einmal für Deine Hilfe) eingerichtet.
Eine Test-Message konnte ich auch schon an meinen Telegram Bot schicken :slight_smile:

Ich brauche aber Starthilfe bei meinem ersten Projekt; und ich bin absoluter blutiger Anfänger.

Mein erster Projekt soll wie folgt aussehen:

[ul]
[li]Handy an mit IP-Symcon verbundener Funksteckdose anschließen und aufladen.
[/li][li]
[/li][/ul]

[ul]
[li]Wenn der Akku auf z.B. 90% geladen ist, soll die Funksteckdose vom Handy über Telegram den Befehl zum Ausschalten bekommen.
[/li]Irgendwie erinnere ich mich, dass man einen entsprechenden Befehl mit einer Handy-App über/mit Telegramm senden kann.
Wenn ich mich recht erinnere, hieß die Handy-App Tasker oder so. Vielleicht weißt Du da mehr und hast einen Vorschlag:o
[li]
[/li][/ul]

Mir wäre fürs Erste schon damit geholfen, wenn ich wüsste wie man Telegram einen Steuerungsbefehl an das System schicken kann, sodass die Funksteckdose ausgeschaltet wird!
Denkbar wären ja auch Steuerungsbefehle, um ein Licht anzuschalten, einen Alarm auszulösen, etc…

Ich würde mich sehr freuen, wenn Du mir als Anfänger helfen könntest, bevor ich total verzweifele :slight_smile:
Vielen Dank im Voraus!

Gruß
Jörg

Hi Jörg,
ich habe mal exemplarisch versicht mir einen ‚temp‘ Befehl wie in dem Beispiel einzurichten. Das hat eigentlich auf Anhieb geklappt :slight_smile:
Also Du müsstest mit ‚Tasker‘ eine Nachricht schicken und in dem Skript was ich aus dem Beispielen hab eben in dem ‚if‘ einen eigenen Zweig einbauen um Deine Steckdose auszuschalten.
Fogg

Hallo Fogg!

Ich habe mal folgendes probiert:

<?php
if ($_IPS['SENDER'] == "Telegram") {
    process_incoming($_IPS['INSTANCE'], $_IPS['CHAT'], $_IPS['VALUE']);
}

function process_incoming($instance, $senderid, $text) {
    $return = "";

    switch(strtolower($text)) {

        case "temp": // Steckdose
           $return = "Die Steckdose ist: " . GetValueBoolean(16724 STATE (Erster Stock\Wohnzimmer\Steckdose));
           break;

        default:
           $return = "Der Befehl '".$text."' ist unbekannt.";
           break;
    }

    if ($return != "") {
        Telegram_SendText($instance, $return, $senderid);
    }
}
?>

Wobei nach Eingabe der ID der Rest im Editor automatisch eingefügt wurde (16724 STATE (Erster Stock\Wohnzimmer\Steckdose));

Was muss ich denn jetzt in Telegram eingeben?
Aber egal was ich eingebe, es kommt im Meldungen Fenster immer die Fehlermeldung:


Eigentlich müsste doch die Meldung „Die Steckdose ist ON“ zurückgesendet werden.

Ich denke, ich habe mal wieder einen riesengroßen Denkfehler gemacht :banghead:

Gruß
Jörg

Das Skript sieht Grundsätzlich brauchbar aus. Bin auch noch kein Experte darin :slight_smile: Was ich versuchen würde zu ändern wäre diese Zeile

           $return = "Die Steckdose ist: " . GetValueBoolean(16724 STATE (Erster Stock\Wohnzimmer\Steckdose));

Ich würde die so einstellen:

           $return = "Die Steckdose ist: " . GetValueBoolean('16724' /* STATE (Erster Stock\Wohnzimmer\Steckdose) */);

Gibt immer noch den gleichen Fehler :o
Welches Wort muss ich denn überhaupt in Telgramm eingeben?

In Telegram musst das eingeben was hinter dem ‚case‘ steht: case „temp“:

Was hast Du in der Instanzkonfig als ‚Skript für eingehende Nachrichten‘ drin? Hier müsste dein Script hinterlegt sein.

Mal wieder eine dumme Frage, wie komme ich zur Instanzkonfig ?

Ich habs gefunden :slight_smile:
Da steht aber nichts drin :o Ist ein Homematic Gerät


Bei meinen Z-Wave Aktoren steht was drin :slight_smile:

Das ist das, wo Du die BotID und die User ID eingetragen hast. Ein Stück drunter sind switches im Inbound Processing zu aktivieren und das Skript zu hinterlegen.

Falsch, die Instanz des Telegram Moduls :wink:

Gesendet von meinem EML-L29 mit Tapatalk

Guten Morgen Fogg!

Echt super, es funktioniert!!!
Habe es eben gerade ausprobiert!

Jetzt kann ich an den Teil rangehen, wo die Steckdose ausgeschalt werden soll,
wenn die Handy-Ladespannung erreicht ist.
Also erst einmal das Script anpassen, dann die Umsetzung mit Tasker erstellen!

Vielen Dank für Deine Hilfe, ich hätte noch tagelang rumgeeiert, wenn Du mir nicht die
entscheidenden Tipps gegeben hättest!!! :slight_smile:

Gruß
Jörg

Wofür brauchst du dafür jetzt Telegram?

Mit Tasker kannst Du den Ladestatus an IPS direkt übermitteln. Und IPS macht den Rest.

Den Zwischenschritt über Telegram kannst Du in diesem Fall eigentlich einsparen.

Gesendet von iPhone mit Tapatalk

Guten Morgen manni!

Danke für den Hinweis!!!
Ich bin, wie man meinen Fragen sicherlich ansieht, noch ein absoluter Neuling auf dem IP-Symcon Gebiet.
Kannst Du mir bitte mal einen Tipp geben, wo und wie ich das im Tasker einstellen kann?
Mir ist im Augenblick noch nicht klar, wie Tasker die Verbindung zum IPS aufnehmen soll.
Muss ich in IPS noch irgend etwas „machen“, damit die „Info“ von Tasker verarbeitet werden kann?

Fragen über Fragen …

Vielen Dank schon einmal für Deine Hilfe und noch einen schönen Tag!

Gruß
Jörg

Hallo,

warum kommt das Modul bei mir nicht zum laufen?
Selbst die Testzeile 2 funktioniert nicht. Es kommt da keine Fehlermeldung jedoch wird die Nachricht nicht verschickt.

Steve

Hallo,

wie kann ich denn mir eine Telegram Message zusenden lassen wenn z.B. eine Temperatur eine gewisse Grenze überschreitet?
Im Prinzip mache ich ja eine ausgelöste Aktion auf einer Instanz und führe einen php Code aus oder?
Wie müsste der Code aussehen?

Viele Grüße und Danke

Die Kommandos findest du in der Doku des Moduls (Link auch im ersten Beitrag) unter „Nachrichten von IPS aus versenden“ ;).