Wie steuer ich Hue mit Visual Basic (C#) an?

Kiboman  25.08.2021, 18:24

Was jetzt C# oder VB

2 Antworten

a) Für Hue gibt es schon einen Client Wrapper, der die Arbeit vereinfachen sollte.

https://github.com/Q42/Q42.HueApi

Ein Einstiegstutorial findest du hier.

Dies ist allerdings alles für C#. Solltest du nun VB nur für Hue lernen, würde ich dir empfehlen, doch eher zu C# zu wechseln. Das ist auch im Blick auf die Zukunft sinnvoller, da Microsoft mit dieser Sprache nicht mehr viel vorhat.

b) Mit der HttpClient-Klasse kannst du Requests mit unterschiedlichen Methoden (DELETE, GET, POST, PUT, ...) abschicken. Schau dazu in die von mir verlinkte Dokumentation, es gibt unterschiedliche VB-Implementationen dafür.

Hier ein Beispiel mit einem PUT-Request:

Dim client As HttpClient = New HttpClient()
Dim message As StringContent = new StringContent("YOUR MESSAGE")
Dim response As HttpResponseMessage = client.PutAsync("API URL", message).Result

Console.WriteLine(response.StatusCode)

Dim responseText As String = response.Content.ReadAsStringAsync().Result
Console.WriteLine(responseText)

Dies kannst du folgend auf die Hue API anwenden. An welche Adressen du deinen Request schicken musst, mit welcher Request-Methode und welche weiteren Daten verlangt werden (die Nachrichten sind meines Wissens stets im JSON-Format), kannst du in der offiziellen API Dokumentation nachlesen.

Ist Hue nicht irgendwas mit Farbe?

Wieso C# und VB? Musst dich entscheiden

IP und Nutzernahme, was willst du damit machen?


randomguy7282 
Beitragsersteller
 25.08.2021, 18:27

Ich programmiere mit VB und habe gelesen, dass man für die Hue Verbindung über eine WebRequest IP und einen Nutzernamen braucht. Müsste eigentlich nur wissen wie man eine Web Request mit Body sendet also API. Hoffe das ist verständlich.

0
randomguy7282 
Beitragsersteller
 25.08.2021, 18:30
@FaTech

Ne ich möchte eine Body Message über die Hue API senden

0
randomguy7282 
Beitragsersteller
 25.08.2021, 18:32
@FaTech

Ja fast ich muss ein PUT Signal über die Hue API senden

0