Iot.Device.YeelightBlue.TYeelightBlue
Inhaltsverzeichnis
- 1 Demoprojektbeispiele
- 2 Unterstützte Dienste
- 3 Benutzerdefinierte Datentypen
- 3.1 Yeelight Blue Glühbirne: Befehle
- 3.2 Yeelight Blue Glühbirne: Steuerzeichen
- 3.3 Yeelight Blue Glühbirne: Verzögerung ein/aus
- 3.4 Yeelight Blue Glühbirne: Allgemeine Abfrage
- 3.5 Yeelight Blue Glühbirne: Antwort des Verzögerungsstatus ein/aus
- 3.6 Yeelight Blue Glühbirne: Antwort auf Statusabfrage
- 3.7 Yeelight Blue Glühbirne: Farbfluss
- 3.8 Yeelight Blue Glühbirne: LED-Name
- 3.9 Yeelight Blue Glühbirne: Antwort des LED-Namens
- 3.10 Yeelight Blue Glühbirne: Benutzerdefinierte Merkmale
- 4 Gerätedetails
- 5 Bekannte Probleme
- 6 Gerätespezifische Informationen
- 7 Siehe auch
Go Up to ThingConnect-Geräte
Die Yeelight Blue Glühbirne ist ein Bluetooth LED-Leuchtmittel mit über 16 Millionen Farben sowie hellen und warmen Schattierungen von weißem Licht.
Mit der Komponente TYeelightBlue kommunizieren Sie mit der Yeelight Blue Glühbirne.
Demoprojektbeispiele
Das Beispielprojekt für die Yeelight Blue Glühbirne befindet sich nach der Installation der Komponente in den folgenden IoT-Demoverzeichnissen:
- Start | Programme | Embarcadero RAD Studio Berlin | Beispiele und navigieren Sie dann zu:
- Delphi:
Internet of Things\Object Pascal\Thing Connect\Yeelight Bulb - C++:
Internet of Things\CPP\Thing Connect\Yeelight Bulb
- Delphi:
Unterstützte Dienste
Die Yeelight Blue Glühbirne unterstützt die folgenden Dienste und Merkmale von Bluetooth LE:
| Dienst (EN) | Merkmal (EN) | Eigenschaft | Ereignis | Lesen | Abonnieren | Schreiben |
|---|---|---|---|---|---|---|
| Device Information (EN) | Firmware Revision String (EN) | FirmwareRevision
|
OnFirmwareRevisionUpdate
|
|||
| Hardware Revision String (EN) | HardwareRevision
|
OnHardwareRevisionUpdate
|
||||
| IEEE 11073-20601 Regulatory Certification Data List (EN) | IEEERegulatory
|
OnIEEERegulatoryUpdate
|
||||
| Manufacturer Name String (EN) | ManufacturerName
|
OnManufacturerNameUpdate
|
||||
| Model Number String (EN) | ModelNumber
|
OnModelNumberUpdate
|
||||
| PnP ID (EN) | PnPID
|
OnPnPIDUpdate
|
||||
| Serial Number String (EN) | SerialNumber
|
OnSerialNumberUpdate
|
||||
| Software Revision String (EN) | SoftwareRevision
|
OnSoftwareRevisionUpdate
|
||||
| System ID (EN) | SystemID
|
OnSystemIDUpdate
|
Die Yeelight Blue Glühbirne unterstützt die folgenden benutzerdefinierten Dienste:
| Dienst (EN) | Eigenschaft | Ereignis | Lesen | Abonnieren | Schreiben | Beschreibung |
|---|---|---|---|---|---|---|
| Benutzerdefinierter Dienst | ControlCharacter
|
OnControlCharacterUpdate
|
Benutzerdefiniertes Dienstmerkmal 1 von Yeelight Blue: ControlCharacter Gibt ein TControlCharacter zurück. | |||
DelayOnOff
|
OnDelayOnOffUpdate
|
Benutzerdefiniertes Dienstmerkmal 2 von Yeelight Blue: DelayOnOff Gibt ein TDelayOnOff zurück. | ||||
DelayOnOffStatusQuery
|
OnDelayOnOffStatusQueryUpdate
|
Benutzerdefiniertes Dienstmerkmal 3 von Yeelight Blue: DelayOnOffStatusQuery Gibt ein TGenericQuery zurück. | ||||
OnDelayOnOffStatusResponseUpdate
|
Benutzerdefiniertes Dienstmerkmal 4 von Yeelight Blue: DelayOnOffStatusResponse Gibt ein TDelayOnOffStatusResponse zurück. | |||||
StatusQuery
|
OnStatusQueryUpdate
|
Benutzerdefiniertes Dienstmerkmal 5 von Yeelight Blue: StatusQuery Gibt ein TGenericQuery zurück. | ||||
OnStatusQueryResponseUpdate
|
Benutzerdefiniertes Dienstmerkmal 6 von Yeelight Blue: StatusQueryResponse Gibt ein TStatusQueryResponse zurück. | |||||
ColorFlow
|
OnColorFlowUpdate
|
Benutzerdefiniertes Dienstmerkmal 7 von Yeelight Blue: ColorFlow Gibt ein TColorFlow zurück. | ||||
LEDName
|
OnLEDNameUpdate
|
Benutzerdefiniertes Dienstmerkmal 8 von Yeelight Blue: LEDName Gibt ein TLEDName zurück. | ||||
OnLEDNameResponseUpdate
|
Benutzerdefiniertes Dienstmerkmal 9 von Yeelight Blue: LEDNameResponse Gibt ein TLEDNameResponse zurück. | |||||
YeeLightCustomChar10
|
OnYeeLightCustomChar10Update
|
Benutzerdefiniertes Dienstmerkmal 10 von Yeelight Blue Gibt ein TYeeLightBlueCustomChar zurück. | ||||
OnYeeLightCustomChar11Update
|
Benutzerdefiniertes Dienstmerkmal 11 von Yeelight Blue Gibt ein TYeeLightBlueCustomChar zurück. | |||||
EffectSetting
|
OnEffectSettingUpdate
|
Benutzerdefiniertes Dienstmerkmal 12 von Yeelight Blue: EffectSetting Gibt ein TGenericQuery zurück. | ||||
YeeLightCustomChar13
|
OnYeeLightCustomChar13Update
|
Benutzerdefiniertes Dienstmerkmal 13 von Yeelight Blue Gibt ein TYeeLightBlueCustomChar zurück. | ||||
YeeLightCustomChar14
|
OnYeeLightCustomChar14Update
|
Benutzerdefiniertes Dienstmerkmal 14 von Yeelight Blue Gibt ein TYeeLightBlueCustomChar zurück. | ||||
YeeLightCustomChar15
|
OnYeeLightCustomChar15Update
|
Benutzerdefiniertes Dienstmerkmal 15 von Yeelight Blue Gibt ein TYeeLightBlueCustomChar zurück. | ||||
YeeLightCustomChar16
|
OnYeeLightCustomChar16Update
|
Benutzerdefiniertes Dienstmerkmal 16 von Yeelight Blue Gibt ein TYeeLightBlueCustomChar zurück. |
Benutzerdefinierte Datentypen
Die benutzerdefinierten Datentypen der Yeelight Blue Glühbirne sind in der folgenden Unit definiert:
- Iot.Device.YeeLightBlueTypes
Yeelight Blue Glühbirne: Befehle
Der Typ TLEDCommand zählt die verschiedenen Befehle zur Steuerung der verfügbaren Funktionen der Yeelight Glühbirne auf. Folgende Befehle stehen zur Verfügung:
ControlCharacterOn– Schaltet die Glühbirne ein.ControlCharacterOn– Schaltet die Glühbirne aus.DelayOnOffStatusQuery– Fragt denDelayOnOff-Status ab.StatusQuery– Fragt den Status der Glühbirne ab (Farbe, Helligkeit, Farbfluss).ColorFlowStart– Startet den vordefinierten Farbfluss.ColorFlowStop– Stoppt den Farbfluss.LEDName– Dieser Befehl wird bei jederLEDNameQuerymit der Nummer der Sequenz und den Zeichen des Namens zurückgegeben. Weitere Informationen finden Sie unter Festlegen des Namens der Glühbirne.LEDNameEnd– Verwenden Sie diesen Befehl beim Festlegen des Namens der Glühbirne, um das Ende des Namens anzugeben. Dieser Befehl wird auch bei jederLEDNameQueryzurückgegeben, um das Ende des zurückgegebenen Namens zu kennzeichnen. Weitere Informationen finden Sie unter Festlegen des Namens der Glühbirne.LEDNameQuery– Fragt den Namen der Glühbirne ab. Weitere Informationen finden Sie unter Abfragen des Namens der Glühbirne.DefaultColor– Legt die aktuelle Farbe als Standardfarbe fest, wenn die LED angeschaltet ist.Gradual– Legt den stufenlosen Modus für die Farbe fest. Daher wird beim Ändern der Farbe der LED ein allmählicher Übergang von einer Farbe zur anderen vorgenommen.NonGradual– Legt den stufenweisen Modus für die Farbe fest. Daher wird beim Ändern der Farbe der LED ein plötzlicher Wechsel von einer Farbe zur anderen vorgenommen.
Yeelight Blue Glühbirne: Steuerzeichen
Der Typ TControlCharacter enthält das Bitfeld des YeeLight-Steuerzeichenmerkmals der LED (UUID: FFF1). Mit TControlCharacter wird der Status für Ein, Aus, Farbe und Helligkeit der LED festgelegt.
Create: Der Konstruktor hat drei überladene Methoden.- Erste überladene Methode: Initialisiert eine Instanz von
TControlCharactermit einem vom Gerät empfangenen Byte-Array.- Parameter:
AValuemit dem Typ TBytes.
- Parameter:
- Zweite überladene Methode: Schreibt die Farbkomponentenwerte in das Gerät.
- Parameter:
Colormit dem Typ TAlphaColor undIntensitymit dem Typ Integer.
- Parameter:
- Dritte überladene Methode: Schreibt den Ein-/Aus-Status für die Farbkomponente der LED.
- Parameter:
Commandmit dem TypTLEDCommand. Der ParameterCommandlässt nur die BefehleControlCharacterOnundControlCharacterOffzu.
- Parameter:
- Erste überladene Methode: Initialisiert eine Instanz von
Value: Das vom Gerät empfangene Roh-Byte-Array.ColorValue: Gibt einen TAlphaColor zurück, der die Farbsteuerung angibt.Brightness: Gibt einen Int8 zurück, der die Helligkeitssteuerung angibt.
Yeelight Blue Glühbirne: Verzögerung ein/aus
Der Typ TDelayOnOff enthält das Bitfeld des YeeLight-Merkmals für "Verzögerung ein/aus" der LED (UUID: FFF2). Mit TDelayOnOff wird der Status Ein oder Aus für die Verzögerung der LED festgelegt.
Create: Der Konstruktor hat zwei überladene Methoden.- Erste überladene Methode: Initialisiert eine Instanz von
TDelayOnOffmit einem vom Gerät empfangenen Byte-Array.- Parameter:
AValuemit dem Typ TBytes.
- Parameter:
- Zweite überladene Methode: Schreibt den Status Ein oder Aus der Verzögerung in das Gerät.
- Parameter:
TimeundStatusmit dem Typ Integer.
- Parameter:
- Erste überladene Methode: Initialisiert eine Instanz von
Value: Das vom Gerät empfangene Roh-Byte-Array.DelayTime: Gibt einen Int32 mit der Verzögerung in Minuten zurück.DelayOnOff: Gibt einen Int8 mit dem Verzögerungsstatus (Ein/Aus) zurück.
Yeelight Blue Glühbirne: Allgemeine Abfrage
Der Typ TGenericQuery enthält das Bitfeld der drei YeeLight-Merkmale (UUID: FFF3, UUID: FFF5 und UUID:FFFC). Mit TGenericQuery wird der LED- und Zeitverzögerungsstatus abgefragt und Effekteinstellungen festgelegt.
Create: Der Konstruktor hat zwei überladene Methoden.- Erste überladene Methode: Initialisiert eine Instanz von
TGenericQuerymit einem vom Gerät empfangenen Byte-Array.- Parameter:
AValuemit dem Typ TBytes.
- Parameter:
- Zweite überladene Methode: Als allgemeine Abfrage ist deren Funktion von der Eigentümereigenschaft abhängig. Mögliche Eigentümereigenschaften:
DelayOnOffStatusQuery,StatusQueryundEffectSetting, mit denen der LED-Status und der Zeitverzögerungsstatus abgefragt bzw. die Effekteinstellungen festgelegt werden.- Parameter:
Commandmit dem TypTLEDCommand. Der ParameterCommandlässt abhängig von der Eigentümereigenschaft verschiedene Befehle zu:DelayOnOffStatusQuery– Lässt den BefehlDelayOnOffStatusQueryzu.StatusQuery– Lässt den BefehlStatusQueryzu.EffectSetting– Lässt die BefehleDefaultColor,GradualundNonGradualzu.
- Parameter:
- Erste überladene Methode: Initialisiert eine Instanz von
CommandValue: Gibt einenTLEDCommand-Typ mit dem entsprechenden Befehlswert der Eigentümereigenschaft zurück.Value: Das vom Gerät empfangene Roh-Byte-Array.
Yeelight Blue Glühbirne: Antwort des Verzögerungsstatus ein/aus
Der Typ TDelayOnOffStatusResponse enthält das Bitfeld des YeeLight-Merkmals für die Antwort des Verzögerungsstatus der LED (UUID: FFF4). Mit TDelayOnOffStatusResponse wird der Status der Verzögerungszeit gemeldet.
Create: Initialisiert eine Instanz vonTDelayOnOffStatusResponsemit einem vom Gerät empfangenen Byte-Array.Value: Das vom Gerät empfangene Roh-Byte-Array.DelayStatusQueryResponse: Gibt einen String mit dem Status der Benachrichtigung zurück.DelayStatusResponseTime: Meldet die Minuten der Verzögerung für Ein/Aus als Int32.DelayStatusResponseOnOff: Meldet den Status der Verzögerung für Ein/Aus als Int8.
Yeelight Blue Glühbirne: Antwort auf Statusabfrage
Der Typ TStatusQueryResponse enthält das Bitfeld des YeeLight-Merkmals für die Antwort auf die Statusabfrage (UUID: FFF6). Mit TStatusQueryResponse wird der Status der LED gemeldet.
Create: Initialisiert eine Instanz vonTStatusQueryResponsemit einem vom Gerät empfangenen Byte-Array.Value: Das vom Gerät empfangene Roh-Byte-Array.Color: Meldet die Farbkomponente der LED als TAlphaColor.Brightness: Meldet die Helligkeit der LED als Int8.ColorFlow: Meldet den Farbfluss der LED als Int8.Delay: Meldet die Verzögerung der LED als Int8.
Yeelight Blue Glühbirne: Farbfluss
Der Typ TColorFlow enthält das Bitfeld des YeeLight-Farbflussmerkmals (UUID: FFF7). Mit TColorFlow wird der Farbfluss der LED festgelegt/gestartet/gestoppt.
Create: Der Konstruktor hat drei überladene Methoden.- Erste überladene Methode: Initialisiert eine Instanz von
TColorFlowmit einem vom Gerät empfangenen Byte-Array.- Parameter:
AValuemit dem Typ TBytes.
- Parameter:
- Zweite überladene Methode: Schreibt die Farbflusswerte in das Gerät.
- Parameter:
Sequencemit dem Typ Integer,AColormit dem Typ TAlphaColor,Intensitymit dem Typ Integer undTimemit dem Typ Integer.
- Parameter:
- Dritte überladene Methode: Schreibt den Ein-/Aus-Status für den Farbfluss.
- Parameter:
Commandmit dem TypTLEDCommand. Der ParameterCommandlässt nur die BefehleColorFlowStartundColorFlowStopzu.
- Parameter:
- Erste überladene Methode: Initialisiert eine Instanz von
Value: Das vom Gerät empfangene Roh-Byte-Array.ColorSequence: Gibt die Farbflusssequenz für die LED als Int8 zurück.ColorValue: Gibt die Farbe für die LED zurück.ColorBrightness: Gibt einen Int8 mit der Helligkeit für die LED zurück.ColorTime: Gibt die Farbflussänderungszeit in Sekunden für die LED als Int8 zurück.
Yeelight Blue Glühbirne: LED-Name
Der Typ TLEDName enthält das Bitfeld des YeeLight-Merkmals "LED-Name" (UUID: FFF8). Mit TLEDName wird der Name der LED festgelegt/abgefragt.
Create: Der Konstruktor hat drei überladene Methoden.- Erste überladene Methode: Initialisiert eine Instanz von
TLEDNamemit einem vom Gerät empfangenen Byte-Array.- Parameter:
AValuemit dem Typ TBytes.
- Parameter:
- Zweite überladene Methode: Schreibt den LED-Namen in das Gerät. Siehe Festlegen des Namens der Glühbirne.
- Parameter:
Sequencemit dem Typ Integer (Bereichswerte: 0 bis 5) undNamemit dem Typ String (bis zu 11 Zeichen).
- Parameter:
- Dritte überladene Methode: Mit dieser Überladung kann angegeben werden, ob das Einfügen des Namens abgeschlossen ist, oder der Name des Geräts abgefragt werden. Siehe Festlegen des Namens der Glühbirne und Abfragen des Namens der Glühbirne.
- Parameter:
Commandmit dem TypTLEDCommand. Der ParameterCommandlässt nur die BefehleLEDNameEndundLEDNameQueryzu.
- Parameter:
- Erste überladene Methode: Initialisiert eine Instanz von
Value: Das vom Gerät empfangene Roh-Byte-Array.QueryType: Gibt den Abfragetyp alsTLEDCommandzurück. FürQueryTypesind drei Werte möglich:LEDName,LEDNameEndundLEDNameQuery.LEDNameSequence: Gibt die Sequenznummer des LED-Namens als Int8 zurück, falls der LED-Name größer als 11 Zeichen ist.LEDName: Gibt einen String mit dem LED-Namen zurück.
Yeelight Blue Glühbirne: Antwort des LED-Namens
Der Record TLEDNameResponse enthält das Bitfeld des YeeLight-Merkmals "LED-Name" (UUID: FFF9).
Create: Initialisiert eine Instanz vonTLEDNameResponsemit einem vom Gerät empfangenen Byte-Array.Value: Das vom Gerät empfangene Roh-Byte-Array.QueryType: Gibt den Abfragetyp alsTLEDCommandzurück. FürQueryTypesind drei Werte möglich:LEDName,LEDNameEndundLEDNameQuery.LEDNameSequence: Meldet die Sequenznummer des LED-Namens als Int8, falls der LED-Name größer als 11 Zeichen ist.LEDName: Gibt einen String mit dem LED-Namen zurück.
Yeelight Blue Glühbirne: Benutzerdefinierte Merkmale
Der Typ TYeeLightBlueCustomChar enthält ein Bitfeld anderer benutzerdefinierter YeeLight-Merkmale.
Create: Initialisiert eine Instanz vonTYeeLightBlueCustomCharmit einem vom Gerät empfangenen Byte-Array.Value: Das vom Gerät empfangene Roh-Byte-Array.
Gerätedetails
- Gerät:
Yeelight Blue II - Modell:
BUL22BL0101 - Firmware:
1.0
Bekannte Probleme
- Die Yeelight Blue Glühbirne kann nicht mit Windows-Computern gekoppelt werden. Wenn Ihre Anwendung auf der Zielplattform 32-Bit-Windows oder 64-Bit-Windows ausgeführt wird, kann sie nicht mit der Yeelight Blue Glühbirne gekoppelt werden.
Gerätespezifische Informationen
Festlegen des Namens der Glühbirne
Verwenden Sie zum Festlegen des Namens der Glühbirne die Eigenschaft LEDName und mindestens zwei Befehle:
- Den ersten Befehl zum Angeben der Zeichen des Glühbirnennamens.
- Den Befehl
LEDNameEndzum Festlegen des Endes des Namens.
Für diese Glühbirne können Sie lange Namen verwenden, indem Sie den Namen in unterschiedlichen Zeichensequenzen festlegen. Sie können bis zu 6 Sequenzen mit maximal 11 Zeichen verwenden. Jede Zeichensequenz wird mit einem Integerwert, der die Nummer der Sequenz angibt, und einem String gebildet, der die Zeichen des Namens enthält (siehe die zweite überladene Create-Methode der Eigenschaft TLEDName). Das folgende Codefragment legt den Namen der Glühbirne mit 4 Zeichensequenzen fest.
YeelightBlue1.LEDName := TLEDName.Create(0, 'MyPretty');
YeelightBlue1.LEDName := TLEDName.Create(1, 'AndColorful');
YeelightBlue1.LEDName := TLEDName.Create(2, 'LightBulb');
YeelightBlue1.LEDName := TLEDName.Create(TLEDCommand.LEDNameEnd);
YeelightBlue1->LEDName = TLEDName(0, "MyPretty");
YeelightBlue1->LEDName = TLEDName(1, "AndColorful");
YeelightBlue1->LEDName = TLEDName(2, "LightBulb");
YeelightBlue1->LEDName = TLEDName(TLEDCommand::LEDNameEnd);
Abfragen des Namens der Glühbirne
Verwenden Sie die folgende Anweisung, um den Namen der Glühbirne abzufragen:
YeelightBlue1.LEDName := TLEDName.Create(TLEDCommand.LEDNameQuery);
YeelightBlue1->LEDName = TLEDName(TLEDCommand::LEDNameQuery);
Verwenden des Farbflussmerkmals
Verwenden Sie für das Farbflussmerkmal den Konstruktor TColorFlow, um einen bestimmten Farbfluss festzulegen. Starten und stoppen Sie anschließend den Farbfluss mit dem Befehl ColorFlowStart bzw. ColorFlowStop.
Im folgenden Codefragment wird mit dem zweiten Konstruktor von TColorFlow ein Farbfluss mit den folgenden drei Farben festgelegt: rot, gelb und grün. Die erste Farbe ist rot, die mit einer Intensität von 50 % und einer Dauer von 1 Sekunde festgelegt wird. Die zweite Farbe ist gelb, die mit einer Intensität von 70 % und einer Dauer von 3 Sekunden festgelegt wird. Die dritte Farbe ist grün, die mit einer Intensität von 90 % und einer Dauer von 2 Sekunden festgelegt wird.
YeelightBlue1.ColorFlow := TColorFlow.Create(0, TAlphaColorRec.Red, 50, 1);
YeelightBlue1.ColorFlow := TColorFlow.Create(1, TAlphaColorRec.Yellow, 70, 3);
YeelightBlue1.ColorFlow := TColorFlow.Create(2, TAlphaColorRec.Green, 90, 2);
YeelightBlue1->ColorFlow = TColorFlow(0, TAlphaColorRec::Red, 50, 1);
YeelightBlue1->ColorFlow = TColorFlow(1, TAlphaColorRec::Yellow, 70, 3);
YeelightBlue1->ColorFlow = TColorFlow(2, TAlphaColorRec::Green, 90, 2);
Nachdem der Farbfluss definiert ist, starten und stoppen Sie den Farbfluss mit dem Befehl ColorFlowStart bzw. ColorFlowStop. Siehe die folgenden Codefragmente:
YeelightBlue1.ColorFlow := TColorFlow.Create(TLEDCommand.ColorFlowStart);
// ...
YeelightBlue1.ColorFlow := TColorFlow.Create(TLEDCommand.ColorFlowStop);
YeelightBlue1->ColorFlow = TColorFlow(TLEDCommand::ColorFlowStart);
// ...
YeelightBlue1->ColorFlow = TColorFlow(TLEDCommand::ColorFlowStop);