Seite 1 von 2

Absturz bei GET Befehl an FHEM

Verfasst: Mo 7. Mai 2018, 17:21
von hanschris
Guten Abend zusammen:
ich habe ein Problem mit einem bestimmten Get Befehl, den ich vom Lightmanager an meinen FHEM Server absetzen will. Und zwar handelt es sich um einen Befehl um eine Nachricht auf die App Telegram zu schicken.
Zum Erstellen des Befehls habe ich mich an die Anleitung von meintechblog.de gehalten (https://www.meintechblog.de/2018/05/mus ... alisieren/).
Den Befehl um eine Nachricht zu schicken lautet wie folgt:

Code: Alles auswählen

192.168.178.52:8083/fhem?cmd=set ChatBot message @H_S Nachricht
Wenn ich diese Zeile bei mir in den Browser eintippe, wird der Befehl ganz normal ausgeführt und die Nachricht an mein Smartphone geschickt.
Setze ich nun aber den Befehl als GET Befehl im Lightmanager ab, stürzt dieser komplett ab. Wenn ich in AirStudio auf "Test" klicke passiert lange gar nicht und dann erhalte ich in einem Fester die Nachricht:
Verbindung zum Lightmanager fehlgeschlagen! Zeitüberschreitung bei der Verbindung
Andere Befehle an FHEM funktionieren wunderbar, wie z.B. Befehle an Sonos:

Code: Alles auswählen

192.168.178.52:8083/fhem?cmd.Sonos=set Sonos_Kinderzimmer MakeStandaloneGroup
Hat jemand eine Idee woran das liegen könnte?

Viele Grüße
Hans

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 8. Mai 2018, 09:30
von Marioir
Also ich schicke meine Befehle folgendermaßen

Code: Alles auswählen

192.168.1.123:8083/fhem?cmd.teleBot=set teleBot message Da morgen ein Feiertag ist, wurde der LM auf Feiertagsmodus gestellt
hatte noch nie Probleme damit gehabt, vielleicht Groß und Klein Schreibung nicht beachtet?

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 8. Mai 2018, 10:03
von hanschris
Danke für die Nachricht.
Ich habe das nun einmal nachgestellt und es ist wohl das ´@´ Zeichen, das den Absturz verursacht. Wenn ich im Telegram Modul in FHEM den user H_S über „Attribut: defaultPeer“ als Standarduser setze und dann die Nachricht ohne „@„ schicke, funktioniert alles.
Hier scheint der Lightmanager das @-Zeichen wohl nicht verarbeiten zu können.
Es wäre schön, wenn das möglich wäre, da ich eigentlich vor hatte über FHEM Nachrichten an verschiedene User zu schicken.....

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 8. Mai 2018, 11:02
von Marioir
Versuche mal das @ Zeichen mit %40 zu ersetzen

Code: Alles auswählen

192.168.178.52:8083/fhem?cmd=set ChatBot message %40H_S Nachricht
oder
192.168.178.52%3A8083%2Ffhem%3Fcmd%3Dset%20ChatBot%20message%20%40H_S%20Nachricht

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 8. Mai 2018, 13:49
von hanschris
Hallo,
das @-Zeichen mit %40 zu ersetzen hat geklappt.
Generell scheinen Sonderzeichen Probleme zu machen. Ich konnte die Meldung „Bewegung außen“ nicht rausschicken. Sende ich nun aber „Bewegung au%C3%9Fen“ klappt es wunderbar!

Vielen Dank für die Hilfe!

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 8. Mai 2018, 14:18
von Marioir
Sollte eigentlich nicht so sein, da kann JBMedia bestimmt früher oder später nachhelfen.

Aber super das es geklappt hat.

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 8. Mai 2018, 14:37
von jbmedia
Wir schauen uns das an!

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 15. Mai 2018, 14:27
von jbmedia
Der Fehler wurde gefunden. Das Problem war i.d.T., dass Sonderzeichen nicht codiert wurden. Dies wird mit dem kommenden Update behoben. Die manuelle Codierung ist dann nicht mehr erforderlich.

Re: Absturz bei GET Befehl an FHEM

Verfasst: Di 15. Mai 2018, 19:02
von BooosesThaSnipper
Kurze Frage zur Kodierung, ist nicht mehr notwendig, oder geht es mit Kodierung danach nicht mehr?
Der Grund warum ich frage, ich hab für den Logitech Media Server verschiedene Dinge für meine Chromecasts konfiguriert und dort musste ich auch bereits das "+" (Plus-Zeichen) kodieren. Geht das dann in Zukunft auch ohne oder nur noch ohne?

Re: Absturz bei GET Befehl an FHEM

Verfasst: Mi 16. Mai 2018, 07:51
von Marioir
Ich wäre ja dafür das der Logitech Media Server komplett im LightManager aufgenommen wird :D
Vielleicht erbarmt sich JBMedia irgendwann mal und es gibt die gleiche Unterstützung wie bei den Sonos Playern, die API ist ja vorhanden.
Und statt IP Adresse muss man einfach die MAC Adresse vom Player angeben. ;)