NEWS
[gelöst] Blockly- Telegram an unterschiedliche Empfänger senden
-
Hallo,
ich möchte euch um eure Hilfe bitten, da ich an einem Punkt nicht mehr weiter komme.
Mit Hilfe von ioBroker kann ich mittlerweile viele Sachen von Unterwegs überwachen. Wer ist zuhause angekommen oder hat das Haus verlassen oder Welche Fenster/Türen wurden geöffnet oder geschlossen. Über die Zustände sollen insgesamt viel Familienmitglieder über Telegram informiert werden. Dafür haben ich der Frau, den Kindern und mir Telegram installiert, was im ioBroker vier Telegram Instanzen ergibt.
Jetzt ist es so, dass nicht jeder dieselben Informationen informiert werden soll bzw. möchte.
Den Skript habe ich mithelfe von Blockly erstellt und bei noch zwei Telegram Instanzen hat das sehr gut funktioniert. In dem Block „Senden an Telegram“ konnte ich mit dem Pfeil auswählen an wen die Information verschickt werden soll. Zur Auswahl stand „ An alle Instanzen“, „telegram.0“ oder „telegram.1“. Ausgewählt konnte immer nur eine Sache, was auch kein Problem ist.
Jetzt habe ich vier Instanzen „telegram.0 bis „telegram.4“ und kann immer noch nur eine Sache auswählen. Das heißt entweder dasselbe an alle oder nur an einen.
Ist es möglich zwei oder mehrere „Empfänger“ auszuwählen damit man einfacher auswählen kann, wer über was über Telegram informiert werden soll?
PS. Ich habe schon das Forum nach einer Lösung durchsucht. Jedoch wurde das entweder noch nicht besprochen oder ich habe ein Brett vorm Kopf
Danke und viele Grüße
Christian
7614_telegram.png -
Wieso hast du 4 Instanzen? Du brauchst nur eine Instanz pro Bot..
Und an einem Bot kannst du beliebig viele Leute anmelden..
Für das versenden an "bestimmte Leute" ist das Feld "Empfänger" da..
Du gibst bei Empfänger einfach an, welcher Benutzer die Nachricht empfangen soll..
Wenn du den Empfänger leer lässt, wird die Nachricht an alle Benutzer geschickt die sich mit dem Bot über die Telegram App verbunden bzw. authentifiziert haben..
Mit der Version 1.2.5, die seit heute Nacht verfügbar ist, kannst du auch mehrere Empfänger angeben
Empfänger: "Laura,Christian" z.B..
Gruß
-
Danke für Deine Antwort,
Genau so hätte ich es gerne gehabt, dennoch merke ich, wie schwer ich mich mit dem Thema noch tue.
Ich habe dazu noch weitere Fragen mit denen ich mich wieder blamieren werde:
-
Wie kann ich denn die anderen Personen an dem Bot anmelden, den ich an meinem Handy erstellt habe?
-
in einem anderen Beitrag von Dir habe ich gelesen, dass man im Telegram einen „usernamen" bzw. einen „optionalen Benutzernamen“ eingeben kann. Wie ist das gemeint? Werden diese Namen im Telegram-Adapter eingegeben oder direkt in der App auf dem Smartphone.
-
Ich habe die Version 1.2.4. Der ioBroker hat mir gestern Abend nicht angezeigt, dass ich auf eine neuere updaten kann. Muss ich das Manuel machen und die alte Version deinstallieren oder wie mache ich das?
Danke im Voraus und sorry für die Anfängerfragen.
Gruß
Christian
-
-
Ich habe dazu noch weitere Fragen mit denen ich mich wieder blamieren werde.. ` Keine Sorge,.. Ich hab auch mal klein angefangen!
…
- Wie kann ich denn die anderen Personen an dem Bot anmelden, den ich an meinem Handy erstellt habe? ` Du schreibst einfach eine neue Nachricht an deinen Bot von dem anderen Handy aus..
Also auf jedem Handy welches du im Bot anmelden willst: Telegram App öffnen -> neuen Chat starten -> Lupe auswählen um Benutzer zu suchen -> Benutzername von deinem Bot in der Suche eingeben (den Benutzernamen vom Bot hast du festgelegt als du den Bot bei Telegram erstellt hast) -> Nachricht an den Bot senden.
…
- in einem anderen Beitrag von Dir habe ich gelesen, dass man im Telegram einen „usernamen" bzw. einen „optionalen Benutzernamen“ eingeben kann. Wie ist das gemeint? Werden diese Namen im Telegram-Adapter eingegeben oder direkt in der App auf dem Smartphone. ` Ja, jeder Benutzer kann einen Benutzernamen in der Telegram App vergeben damit man auch ohne Handynummer - nur mit dem Benutzernamen gefunden werden kann. Den Benutzernamen kann man in den Einstellungen der Telegram App vergeben..
…
- Ich habe die Version 1.2.4. Der ioBroker hat mir gestern Abend nicht angezeigt, dass ich auf eine neuere updaten kann. Muss ich das Manuel machen und die alte Version deinstallieren oder wie mache ich das? ` Ich vermute du meinst 1.1.4 und nicht 1.2.4 oder?
Ich würde erstmal alle Instanzen löschen, bis auf telegram.0 damit du nur noch einen Bot hast.
Dann kannst du den Adapter von Github neu installieren..
Bitte verwende diese Art der installation nur wenn du dazu aufgefordert wirst - Adapter direkt von GitHub zu installieren kann manchmal Probleme bereiten. Ist im Falle vom Telegram Adapter jedoch jetzt nicht der Fall..…
Danke im Voraus und sorry für die Anfängerfragen.
Gruß
Christian `
Kein Problem..Gruß
-
So langsam geht mir das Licht auf
Melde mich sofort nachdem ich das zuhause ausprobiert habe.
Dankeschön und Gruß
Christian
-
- Wie kann ich denn die anderen Personen an dem Bot anmelden, den ich an meinem Handy erstellt habe? ` Du schreibst einfach eine neue Nachricht an deinen Bot von dem anderen Handy aus..
Also auf jedem Handy welches du im Bot anmelden willst: Telegram App öffnen -> neuen Chat starten -> Lupe auswählen um Benutzer zu suchen -> Benutzername von deinem Bot in der Suche eingeben (den Benutzernamen vom Bot hast du festgelegt als du den Bot bei Telegram erstellt hast) -> Nachricht an den Bot senden. `
ich muss bei dem Punkt nochmal nachfragen.
Heißt das, dass jeder der meinen Bot einmal angeschrieben hat automatisch an ihm angemeldet ist?
Wenn ein Fremder, der meinen Bot findet und anschreibt und noch zufällig denselben Vornamen, wie ein Familienmitglied hat, bekommt er, je nach Telegram-Adapter-Einstellung, Nachrichten/Informationen, die an diesen Vornamen gedacht sind?
Wahrscheinlich habe ich wieder etwas durcheinander gebracht aber im Moment verstehe ich das so. :roll:
-
Deswegen sollte man ein Passwort in den Einstellungen vom Adapter festlegen..
Dann muss man sich erst mit "/p PASSWORT" bei deinem Bot anmelden bevor man sich mit ihm unterhalten kann..
"To start a conversation with your bot you need to authenticate user with "/password phrase", where phrase is your configured password. So open a new conversation with your generated Bot in Telegram and then you need to enter the passwort as first command."
Gruß
-
oh ja , dann mache ich das besser auch ganz schnell, wenn ich zuhause bin :roll:
Danke!
-
Ich konnte mein Problem noch nicht ganz lösen
Als Erstes habe ich den Telegram Adapter auf die aktuelle Version gebracht
Anschließend dem Bot ein Passwort verpasst und dieses auch im Adapter eingegeben.
Außerdem sollte auch auf den Vornamen gehört werden. Also das Häkchen nicht gesetzt.
Alle Benutzer konnten sich beim Bot nach Eingabe des Passwortes neu anmelden und wurden mit "Hallo Christian" , "Hallo Maximilian" usw. begrüßt.
Anschließend habe ich den bereits funktionierenden Blockly-Skript, der uns informiert, wer zuhause (im W-Lan angemeldet) ist mit den entsprechenden Vornamen, unter "Empfänger optional" ergänzt.
leider wird niemand mehr über Telegram informiert, wenn der Baustein mit den Namen angeheftet ist.
Auch wenn ich nach dem Komma ein Leerzeichen setze ändert sich nichts.
Erst wenn der Textbaustein wieder vom Rest gelöst wird, werden alle angemeldeten Personen wieder angetextet.
Was habe ich falsch gemacht und was muss tun damit nur ausgewählte Pesonen über Telegram informiert werden?
Viele Grüße….
Christian
-
Kannst du mal schauen wie das Objekt telegram.0.communicate.users aussieht?
Da müssten alle Vornamen drin gespeichert sein..
Sieht dann ungefähr so aus:
{"404xxxx0":"Christian","412xxxx0":"Alexandra","424xxxx0":"Maximilian","434xxxx0":"Julia"}
Ist das bei dir der Fall? Oder ist das Objekt leer?
Gruß
-
Es steht an dieser Stelle tatsächlich so wie Du es beschrieben hast.
{"43xxxxxxx":"Julia","56xxxxxxx":"Alexandra","57xxxxxx":"Maximilian","57xxxxxxx":"Alexandra.B","61xxxxxxx ":"Christian"}
Die Ziffern habe ich zu Sicherheit ausge-x-t.
"Alexandra.B" ist das zweite Handy von meiner Frau, welches ich an dem Bot angemeldet habe.
-
Bitte führe noch einmal ein Update von Telegram über Github aus.
Habe gerade etwas am Code geändert.
Starte den telegram Adapter im iobroker danach bitte ein mal neu.
Danach versuch es noch einmal.
Am besten versuchst du es mal mit einem neuen Blockly Script welches ganz einfach aufgebaut ist und nur einen Telegram block enthält..
Dann wird jedes mal wenn du das Script startest eine Nachricht versendet. Das ist ganz gut zum Testen..
Gruß
-
Ich habe noch vor Deinem letzten Beitrag und ohne einen erneuten Update die Adapter neu gestartet und anschließend noch den Raspi vom Netz getrennt und neu gestartet. Jetzt kann ich beliebig die Empfänger im Text auswählen und nur die ausgewählten Personen bekommen die Nachricht per Telegram. Toll!!!
Mensch, war das ein Akt für mich und bin ich jetzt froh, stolz und happy, dass das jetzt so schön funktioniert.
Einen großen Dank an Dich BuZZy und das Ganze Team für eure großartige Arbeit, Geduld und Hilfsbereitschaft.
Soll ich jetzt noch, wie von Dir vorgeschlagen Updaten oder besser nicht mehr rumfummeln?
Mann ist das geil, dass es so schön läuft …..
-
Einen großen Dank an Dich BuZZy und das Ganze Team für eure großartige Arbeit, Geduld und Hilfsbereitschaft. `
Kein Problem, wir helfen wo wir können!
@Christian.B:Soll ich jetzt noch, wie von Dir vorgeschlagen Updaten oder besser nicht mehr rumfummeln? `
Brauchst Du theoretisch nicht, habe da nur minimale Änderungen gemacht..
Gruß
-
Hallo,
ich habe ebenfalls mehrere User an einem Bot Angemeldet.
Soweit läuft alles. Nur möchte ich auch gern einige Meldungen nur an einen User senden. Ich habe den User wie im Bild vorgegeben. Die Meldung kommt aber weiterhin an alle User.
Woran kann es noch liegen?
-
@Mento stelle mal das loglevel der Telegram-instanz auf debug und zeige die log Ausgabe aus dem iobroker wenn das Problem auftritt..
Gruß
-
@BuZZy ich habe den grund gefunden.
In der Variablen "foto senden hof" musste ich noch den jeweiligen user hinzufügen.