LIFX Lampen ansteuern +++ Rückgabe

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

netspider
Beiträge: 35
Registriert: 09.04.2018, 10:43
Hat sich bedankt: 1 Mal

LIFX Lampen ansteuern +++ Rückgabe

Beitrag von netspider » 03.08.2019, 14:48

Guten Tag,

ich habe drei LIFX Lampen bei mir im Haus. Normalerweise habe ich diese über die HomeMatic angesteuert (ein/aus).
Seit neusten kann ich die Lampen nicht mehr ansteuern - wohl aber über einen anderen Server. Nur über das HomeMatic Skript scheint es nicht mehr zu klappen:

Code: Alles auswählen

string nachricht = '{"power": "on","brightness": 1.0}';
string json = "Content-Type: application/json";
string token = "Authorization: Bearer ABCDABCDABCBSADAKJSHDKJAHSKLDHLKASHDLKHASDJSKJDH";
system.Exec("curl -k -H '"#json#"' -H '"#token#"' -X PUT -d '"#nachricht#"' https://api.lifx.com/v1/lights/all/state");
Ich erhalte keine Fehlermeldung es wird scheinbar nicht ausgeführt. Gibt es eine Möglichkeit zu "sehen" was als Rückgabe vom System zurückgegeben wird?

Normalerweise erwarte ich so eine Rückmeldung (im Erfolgsfall):

Code: Alles auswählen

{
  "results": [
    {
      "id": "d123456789",
      "status": "ok",
      "label": "Esszimmer Lampe"
    },
    {
      "id": "d123456789",
      "status": "ok",
      "label": "Flur Lampe"
    },
    {
      "id": "d123456789",
      "status": "ok",
      "label": "Wohnzimmer Lampe"
    }
  ]

Ich habe die Version 3.47.10.20190713 im Einsatz.

Vielen Dank für eure Hilfe!

jp112sdl
Beiträge: 3050
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 7 Mal
Danksagung erhalten: 32 Mal
Kontaktdaten:

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von jp112sdl » 03.08.2019, 15:57

netspider hat geschrieben:
03.08.2019, 14:48
Gibt es eine Möglichkeit zu "sehen" was als Rückgabe vom System zurückgegeben wird?

Code: Alles auswählen

string nachricht = '{"power": "on","brightness": 1.0}';
string json = "Content-Type: application/json";
string token = "Authorization: Bearer ABCDABCDABCBSADAKJSHDKJAHSKLDHLKASHDLKHASDJSKJDH";
string stdout;
string stderr;
system.Exec("curl -k -H '"#json#"' -H '"#token#"' -X PUT -d '"#nachricht#"' https://api.lifx.com/v1/lights/all/state", &stdout, &stderr);
WriteLine("stdout: "#stdout);
WriteLine("stderr: "#stderr);

VG,
Jérôme

Benutzeravatar
jmaus
Beiträge: 4812
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Danksagung erhalten: 35 Mal
Kontaktdaten:

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von jmaus » 03.08.2019, 17:22

jp112sdl hat geschrieben:
03.08.2019, 15:57
netspider hat geschrieben:
03.08.2019, 14:48
Gibt es eine Möglichkeit zu "sehen" was als Rückgabe vom System zurückgegeben wird?

Code: Alles auswählen

string nachricht = '{"power": "on","brightness": 1.0}';
string json = "Content-Type: application/json";
string token = "Authorization: Bearer ABCDABCDABCBSADAKJSHDKJAHSKLDHLKASHDLKHASDJSKJDH";
string stdout;
string stderr;
system.Exec("curl -k -H '"#json#"' -H '"#token#"' -X PUT -d '"#nachricht#"' https://api.lifx.com/v1/lights/all/state", &stdout, &stderr);
WriteLine("stdout: "#stdout);
WriteLine("stderr: "#stderr);
Hier nur der kurze Hinweis, das wenn es dann funktionieren sollte du den curl System.Exec() aufruf mit einem "&" zeichen am schluss in den Hintergrund schieben solltest weil es sonst dazu kommen kann, wenn das gerät an den du das curl kommando schicken willst nicht online/erreichbar ist dazu führt das die gesamte ReGHss Ligokengine und dann damit die ganze HomeMatic Engine für den Zeitraum blockiert bis der curl aufruf durchgelaufen bzw zurückgekehrt ist.
RaspberryMatic 3.47.10.20190713 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

netspider
Beiträge: 35
Registriert: 09.04.2018, 10:43
Hat sich bedankt: 1 Mal

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von netspider » 04.08.2019, 13:38

Hallo zusammen,

leider reagieren weder die Lampen noch erhalten ich eine Rückmeldung vom System (siehe Anhang).
2019-08-04 13_35_48-HomeMatic WebUI.png
Habt ihr noch weitere Ideen wo ich nach dem "Bug" suchen kann?

Ich habe auch noch eine andere Abfrage Möglichkeit ausprobiert (leider selbes Ergebnis):
2019-08-04 13_51_25-HomeMatic WebUI.png
Auf meinem anderen Server kann ich den Request ohne Probleme absenden und die Lampen schalten sich ein:
2019-08-04 13_53_54 - PuTTY.png
2019-08-04 13_53_54 - PuTTY.png (15.69 KiB) 545 mal betrachtet
Im CUxD Daemon taucht die Abfrage auch auf:
2019-08-04 13_55_05-HomeMatic CUxD.png
Andere API Anfragen (z.B. Telegram) aus Homematic funktionieren.

Auf dem System selber (SSH) passiert folgendes wenn ich den Befehl absetze:
2019-08-04 14_41_05- root - PuTTY.png
2019-08-04 14_41_05- root - PuTTY.png (9.88 KiB) 539 mal betrachtet
Meine Vermutung: Die Implementierung von CURL ist fehlerhaft. Alle anderne APIs die ich ansteuere gehen über WGET.
Egal welche Parameter ich bei CURL auf dem Homematic nutze erhalte ich ein "Segmentation Fault"

Gruß

jp112sdl
Beiträge: 3050
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 7 Mal
Danksagung erhalten: 32 Mal
Kontaktdaten:

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von jp112sdl » 04.08.2019, 15:07

Hmm... bei mir gehts... natürlich klappt die Auth mit dem Fake-Token nicht, aber ich bekomme keinen generellen Segmentation Fault.
Bildschirmfoto 2019-08-04 um 15.05.25.png

VG,
Jérôme

netspider
Beiträge: 35
Registriert: 09.04.2018, 10:43
Hat sich bedankt: 1 Mal

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von netspider » 04.08.2019, 16:01

Hast du die gleiche Version im Einsatz? Mag es an dem CUdX Daemon liegen? Welche Version Nutz du da?

jp112sdl
Beiträge: 3050
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 7 Mal
Danksagung erhalten: 32 Mal
Kontaktdaten:

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von jp112sdl » 04.08.2019, 16:14

RaspberryMativ 3.47.10.20190713
Curl Version ist die mitgelieferte:

Code: Alles auswählen

# curl --version
curl 7.65.1 (arm-buildroot-linux-gnueabihf) libcurl/7.65.1 OpenSSL/1.1.1c zlib/1.2.11 c-ares/1.15.0 nghttp2/1.37.0
Release-Date: 2019-06-05
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM SSL TLS-SRP UnixSockets
CUxD habe ich auf diesem System gar nicht installiert.

VG,
Jérôme

netspider
Beiträge: 35
Registriert: 09.04.2018, 10:43
Hat sich bedankt: 1 Mal

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von netspider » 04.08.2019, 16:45

Also ich habe alles exakt gleich zu dir. Aber leider erhalte ich immer ein "Segmentation fault".
Langsam weiß ich auch nicht mehr weiter :shock:

Neustart oder ähnliches hat bisher auch nicht geklappt.

Benutzeravatar
jmaus
Beiträge: 4812
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Danksagung erhalten: 35 Mal
Kontaktdaten:

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von jmaus » 04.08.2019, 17:21

netspider hat geschrieben:
04.08.2019, 16:45
Also ich habe alles exakt gleich zu dir. Aber leider erhalte ich immer ein "Segmentation fault".
Langsam weiß ich auch nicht mehr weiter :shock:

Neustart oder ähnliches hat bisher auch nicht geklappt.
Wenn du ein "Segmentation fault" bei curl erhälst tippe och stark darauf das du irgendeine alte version von curl zusätzlich irgendwo installiert hast oder eine alte libcurl irgendwo in die quere kommt. Mach mal ein "which curl" um herauszufinden welches curl binary du da genau aufrufst.
RaspberryMatic 3.47.10.20190713 @ TinkerS mit ~160 HomeMatic Geräten + ioBroker – GitHubPayPalTwitter

netspider
Beiträge: 35
Registriert: 09.04.2018, 10:43
Hat sich bedankt: 1 Mal

Re: LIFX Lampen ansteuern +++ Rückgabe

Beitrag von netspider » 04.08.2019, 18:31

Hallo Jens,

ich habe folgendes probiert. Komplette neue SD-Karte aufgesetzt OHNE einspielen des Backups -> Curl funktioniert :D
Backup eingespielt -> Curl erzeugt "Segmentation Fault". :(

Hier das Ergebnis deiner Frage:

Code: Alles auswählen

# which curl
/usr/bin/curl
Gruß

Antworten

Zurück zu „RaspberryMatic“