Hallo,
wie bekommt man ein Array mit den Namen von allen Lampen in einem Raum bei der phue-API.
ich nutze ein Lichtsystem von Phillips hue und möchte eine Sprachsteuerung dafür in Python schreiben.
ich habe folgende 2 Klassen bereits geschrieben.
def lamp_on(lamps):
for item in lamps:
b.set_light(item, 'on', True)
"lamps" ist eine Liste mit allen Namen der Lampen, die Sie ausschalten möchten. Jetzt möchte ich eine Funktion wie die folgende:
def room_off(room):
for light in room:
b.set_light(light, 'on', False)
"room" ist der Name als Zeichenfolge des Raums, in dem alle Lichter ausgeschaltet werden sollen.
Vielen Dank für eure Hilfe!
Liebe Grüße,
Jakob
phu-API: Namen aller Lampen in einem Raum bekommen
`b´ ist nicht nur ein schlechter Name, sondern kommt in beiden Funktionen auch noch aus dem Nichts; alles was eine Funktion (außer Konstanten) braucht, sollte sie über ihre Argumente bekommen. Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht mal 3 und mal 4.
Warum heißt das Licht mal lamp, mal item und mal light? Entscheide Dich für einen Namen.
Die Bibliothek sollte Dir eigentlich das Arbeiten mit json abnehmen:
Warum heißt das Licht mal lamp, mal item und mal light? Entscheide Dich für einen Namen.
Die Bibliothek sollte Dir eigentlich das Arbeiten mit json abnehmen:
Code: Alles auswählen
def room_off(bridge, room):
for light in bridge.get_group(room, 'lights'):
bridge.set_light(light, 'on', False)
Hallo,Sirius3 hat geschrieben: ↑Montag 13. Juli 2020, 06:28 `b´ ist nicht nur ein schlechter Name, sondern kommt in beiden Funktionen auch noch aus dem Nichts; alles was eine Funktion (außer Konstanten) braucht, sollte sie über ihre Argumente bekommen. Eingerückt wird immer mit 4 Leerzeichen pro Ebene, nicht mal 3 und mal 4.
Warum heißt das Licht mal lamp, mal item und mal light? Entscheide Dich für einen Namen.
Die Bibliothek sollte Dir eigentlich das Arbeiten mit json abnehmen:Code: Alles auswählen
def room_off(bridge, room): for light in bridge.get_group(room, 'lights'): bridge.set_light(light, 'on', False)
Danke für deine Hilfe!
Mit den unterschiedlichen Namen hast du recht, das muss ich unbedingt ändern. "b" ist am Anfang festgelegt worden: b = Bridge('192.168.178.8') (So wurde es auch im GIthub-Projekt zur Bubliothek beschrieben)
Mit den Einrückungen habe ich nur im Forum probleme, bei copy-paste wird das irgendwie immer falsch übernommen. Bei meinem Programm passt das soweit alles, aber danke für den Tipp.
Kann ich in deiner Funktion room als String übergeben?
Liebe Grüße,
Jakob
Ich denke, room muß ein String sein, kann es aber selbst nicht testen.
Einrückungen werden im Forum korrekt angezeigt, wenn man die Code-Tags benutzt </>.
Und dass Beispiele in irgendwelchen Projekten nicht so toll sind, heißt ja nicht, dass man das bei sich selbst auch so machen muß.
Einrückungen werden im Forum korrekt angezeigt, wenn man die Code-Tags benutzt </>.
Und dass Beispiele in irgendwelchen Projekten nicht so toll sind, heißt ja nicht, dass man das bei sich selbst auch so machen muß.