Absturz bei GET Befehl an FHEM

Alles was per HTTP gesteuert werden kann
Antworten
hanschris
Beiträge: 124
Registriert: Mi 1. Jun 2016, 11:19

Mo 7. Mai 2018, 17:21

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
Marioir
Beiträge: 632
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Di 8. Mai 2018, 09:30

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?
hanschris
Beiträge: 124
Registriert: Mi 1. Jun 2016, 11:19

Di 8. Mai 2018, 10:03

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.....
Marioir
Beiträge: 632
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Di 8. Mai 2018, 11:02

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
hanschris
Beiträge: 124
Registriert: Mi 1. Jun 2016, 11:19

Di 8. Mai 2018, 13:49

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!
Marioir
Beiträge: 632
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Di 8. Mai 2018, 14:18

Sollte eigentlich nicht so sein, da kann JBMedia bestimmt früher oder später nachhelfen.

Aber super das es geklappt hat.
Benutzeravatar
jbmedia
Administrator
Beiträge: 1321
Registriert: Mi 17. Feb 2016, 13:42

Di 8. Mai 2018, 14:37

Wir schauen uns das an!
Wir wünschen viel Spaß mit den Produkten und einen erfolgreichen Tag! Ihr jbmedia Team
Benutzeravatar
jbmedia
Administrator
Beiträge: 1321
Registriert: Mi 17. Feb 2016, 13:42

Di 15. Mai 2018, 14:27

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.
Wir wünschen viel Spaß mit den Produkten und einen erfolgreichen Tag! Ihr jbmedia Team
Benutzeravatar
BooosesThaSnipper
Beiträge: 243
Registriert: Mi 24. Feb 2016, 15:10

Di 15. Mai 2018, 19:02

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?
Marioir
Beiträge: 632
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Mi 16. Mai 2018, 07:51

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. ;)
Antworten