Forum: Mikrocontroller und Digitale Elektronik Philips Hue Bridge anpsrechen / Benutzer anlegen


von petrus (Gast)


Lesenswert?

Hallo Zusammen,

ich habe mir eine Klasse geschrieben um mit meiner Philips Hue Bridge zu 
kommunizieren.
Alle Methoden funktionieren wunderbar, bis auf das anlegen eines neuen 
Nutzers. Ich fürchte, ich habe den Request falsch zusammengebaut, finde 
aber den Fehler nicht.

Könnt ihr bitte mal schauen, ob ihr den Fehler seht?
Die Methode:
1
  
2
String HueControl::registerUser(String userName) {
3
  String endpoint = "/api/newdeveloper";
4
  String body = "{\"devicetype\":\"";
5
  body += userName;
6
  body += "\"}";
7
  
8
  String requestString = "POST ";
9
  requestString += endpoint;
10
  requestString += " HTTP/1.1\r\nHost: ";
11
  requestString += _host;
12
  requestString += "\r\nConnection: close\r\n";
13
  requestString += "Content-Length: ";
14
  requestString += body.length();
15
  requestString += "\r\nContent-Type: ";
16
  requestString += "application/x-www-form-urlencoded";
17
  requestString += "\r\n\r\n";
18
  requestString += body;
19
20
  requestString += "\r\n\r\n";
21
  _client->print(requestString);
22
23
  String line = "keine Antwort";
24
  while( _client->available() == 0 ); //wait until client sends
25
  //while(!skipResponseHeaders());      //skip HTTP Header
26
  if (_client->available()){
27
    line = _client->readString();
28
  }
29
30
  return line;
31
}

Und der Aufruf mit:
1
String userToRegister = "TestSteuerApp";
2
Serial.println( Huelampe.registerUser(userToRegister) );
Ich bekomme einfach keine Antwort von der Bridge.
Vielleicht irgendwas mit dem Body der Anfrage verdreht?

Über Hilfe wäre ich sehr dankbar!
Viele Grüße, Petrus

von Pete P. (nomispetrus)


Lesenswert?

Sollte eigentlich mit
1
requestString += "\r\nAccept: application/json\r\n\r\n";
funktionieren...
Damit klappt es bei mir.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.