Iot.Device.YeelightBlue.TYeelightBlue

Aus IoT
Wechseln zu: Navigation, Suche

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

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
YesSubscriptionFeature.png
Hardware Revision String (EN) HardwareRevision OnHardwareRevisionUpdate
YesSubscriptionFeature.png
IEEE 11073-20601 Regulatory Certification Data List (EN) IEEERegulatory OnIEEERegulatoryUpdate
YesSubscriptionFeature.png
Manufacturer Name String (EN) ManufacturerName OnManufacturerNameUpdate
YesSubscriptionFeature.png
Model Number String (EN) ModelNumber OnModelNumberUpdate
YesSubscriptionFeature.png
PnP ID (EN) PnPID OnPnPIDUpdate
YesSubscriptionFeature.png
Serial Number String (EN) SerialNumber OnSerialNumberUpdate
YesSubscriptionFeature.png
Software Revision String (EN) SoftwareRevision OnSoftwareRevisionUpdate
YesSubscriptionFeature.png
System ID (EN) SystemID OnSystemIDUpdate
YesSubscriptionFeature.png

Die Yeelight Blue Glühbirne unterstützt die folgenden benutzerdefinierten Dienste:

Dienst (EN) Eigenschaft Ereignis Lesen Abonnieren Schreiben Beschreibung
Benutzerdefinierter Dienst ControlCharacter OnControlCharacterUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 1 von Yeelight Blue: ControlCharacter

Gibt ein TControlCharacter zurück.

DelayOnOff OnDelayOnOffUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 2 von Yeelight Blue: DelayOnOff

Gibt ein TDelayOnOff zurück.

DelayOnOffStatusQuery OnDelayOnOffStatusQueryUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 3 von Yeelight Blue: DelayOnOffStatusQuery

Gibt ein TGenericQuery zurück.

OnDelayOnOffStatusResponseUpdate
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 4 von Yeelight Blue: DelayOnOffStatusResponse

Gibt ein TDelayOnOffStatusResponse zurück.

StatusQuery OnStatusQueryUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 5 von Yeelight Blue: StatusQuery

Gibt ein TGenericQuery zurück.

OnStatusQueryResponseUpdate
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 6 von Yeelight Blue: StatusQueryResponse

Gibt ein TStatusQueryResponse zurück.

ColorFlow OnColorFlowUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 7 von Yeelight Blue: ColorFlow

Gibt ein TColorFlow zurück.

LEDName OnLEDNameUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 8 von Yeelight Blue: LEDName

Gibt ein TLEDName zurück.

OnLEDNameResponseUpdate
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 9 von Yeelight Blue: LEDNameResponse

Gibt ein TLEDNameResponse zurück.

YeeLightCustomChar10 OnYeeLightCustomChar10Update
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 10 von Yeelight Blue

Gibt ein TYeeLightBlueCustomChar zurück.

OnYeeLightCustomChar11Update
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 11 von Yeelight Blue

Gibt ein TYeeLightBlueCustomChar zurück.

EffectSetting OnEffectSettingUpdate
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 12 von Yeelight Blue: EffectSetting

Gibt ein TGenericQuery zurück.

YeeLightCustomChar13 OnYeeLightCustomChar13Update
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 13 von Yeelight Blue

Gibt ein TYeeLightBlueCustomChar zurück.

YeeLightCustomChar14 OnYeeLightCustomChar14Update
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 14 von Yeelight Blue

Gibt ein TYeeLightBlueCustomChar zurück.

YeeLightCustomChar15 OnYeeLightCustomChar15Update
YesSubscriptionFeature.png
YesSubscriptionFeature.png
Benutzerdefiniertes Dienstmerkmal 15 von Yeelight Blue

Gibt ein TYeeLightBlueCustomChar zurück.

YeeLightCustomChar16 OnYeeLightCustomChar16Update
YesSubscriptionFeature.png
YesSubscriptionFeature.png
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 den DelayOnOff-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 jeder LEDNameQuery mit 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 jeder LEDNameQuery zurü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 TControlCharacter mit einem vom Gerät empfangenen Byte-Array.
      • Parameter: AValue mit dem Typ TBytes.
    • Zweite überladene Methode: Schreibt die Farbkomponentenwerte in das Gerät.
    • Dritte überladene Methode: Schreibt den Ein-/Aus-Status für die Farbkomponente der LED.
      • Parameter: Command mit dem Typ TLEDCommand. Der Parameter Command lässt nur die Befehle ControlCharacterOn und ControlCharacterOff zu.
  • 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 TDelayOnOff mit einem vom Gerät empfangenen Byte-Array.
      • Parameter: AValue mit dem Typ TBytes.
    • Zweite überladene Methode: Schreibt den Status Ein oder Aus der Verzögerung in das Gerät.
      • Parameter: Time und Status mit dem Typ Integer.
  • 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 TGenericQuery mit einem vom Gerät empfangenen Byte-Array.
      • Parameter: AValue mit dem Typ TBytes.
    • Zweite überladene Methode: Als allgemeine Abfrage ist deren Funktion von der Eigentümereigenschaft abhängig. Mögliche Eigentümereigenschaften: DelayOnOffStatusQuery, StatusQuery und EffectSetting, mit denen der LED-Status und der Zeitverzögerungsstatus abgefragt bzw. die Effekteinstellungen festgelegt werden.
      • Parameter: Command mit dem Typ TLEDCommand. Der Parameter Command lässt abhängig von der Eigentümereigenschaft verschiedene Befehle zu:
        1. DelayOnOffStatusQuery – Lässt den Befehl DelayOnOffStatusQuery zu.
        2. StatusQuery – Lässt den Befehl StatusQuery zu.
        3. EffectSetting – Lässt die Befehle DefaultColor, Gradual und NonGradual zu.
  • CommandValue: Gibt einen TLEDCommand-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 von TDelayOnOffStatusResponse mit 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 von TStatusQueryResponse mit 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 TColorFlow mit einem vom Gerät empfangenen Byte-Array.
      • Parameter: AValue mit dem Typ TBytes.
    • Zweite überladene Methode: Schreibt die Farbflusswerte in das Gerät.
    • Dritte überladene Methode: Schreibt den Ein-/Aus-Status für den Farbfluss.
      • Parameter: Command mit dem Typ TLEDCommand. Der Parameter Command lässt nur die Befehle ColorFlowStart und ColorFlowStop zu.
  • 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 TLEDName mit einem vom Gerät empfangenen Byte-Array.
      • Parameter: AValue mit dem Typ TBytes.
    • Zweite überladene Methode: Schreibt den LED-Namen in das Gerät. Siehe Festlegen des Namens der Glühbirne.
      • Parameter: Sequence mit dem Typ Integer (Bereichswerte: 0 bis 5) und Name mit dem Typ String (bis zu 11 Zeichen).
    • 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: Command mit dem Typ TLEDCommand. Der Parameter Command lässt nur die Befehle LEDNameEnd und LEDNameQuery zu.
  • Value: Das vom Gerät empfangene Roh-Byte-Array.
  • QueryType: Gibt den Abfragetyp als TLEDCommand zurück. Für QueryType sind drei Werte möglich: LEDName, LEDNameEnd und LEDNameQuery.
  • 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 von TLEDNameResponse mit einem vom Gerät empfangenen Byte-Array.
  • Value: Das vom Gerät empfangene Roh-Byte-Array.
  • QueryType: Gibt den Abfragetyp als TLEDCommand zurück. Für QueryType sind drei Werte möglich: LEDName, LEDNameEnd und LEDNameQuery.
  • 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 von TYeeLightBlueCustomChar mit 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:

  1. Den ersten Befehl zum Angeben der Zeichen des Glühbirnennamens.
  2. Den Befehl LEDNameEnd zum 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.

Delphi:
YeelightBlue1.LEDName := TLEDName.Create(0, 'MyPretty');
YeelightBlue1.LEDName := TLEDName.Create(1, 'AndColorful');
YeelightBlue1.LEDName := TLEDName.Create(2, 'LightBulb');
YeelightBlue1.LEDName := TLEDName.Create(TLEDCommand.LEDNameEnd);
C++:
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:

Delphi:
YeelightBlue1.LEDName := TLEDName.Create(TLEDCommand.LEDNameQuery);
C++:
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.

Delphi:
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);
C++:
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:

Delphi:
YeelightBlue1.ColorFlow := TColorFlow.Create(TLEDCommand.ColorFlowStart);
// ...
YeelightBlue1.ColorFlow := TColorFlow.Create(TLEDCommand.ColorFlowStop);
C++:
YeelightBlue1->ColorFlow = TColorFlow(TLEDCommand::ColorFlowStart);
// ...
YeelightBlue1->ColorFlow = TColorFlow(TLEDCommand::ColorFlowStop);

Siehe auch