Android'de basitleştirilmiş özellikler

Kullanım kolaylığı için bazı özelliklerin basitleştirilmiş sürümleri Android'de Automation API ile kullanılabilir.

Basitleştirilmiş bir özellik, cephe deseni ile benzer şekilde standart bir Home API özelliği yerine kullanılır. Basitleştirilmiş özellikler, belirli cihaz türlerinde yaygın görevleri kolaylaştıran komutlar sağlar. Basitleştirilmiş özellikler, Home API özellikleridir ve diğer Home API özellikleri gibi hem Matter hem de Cloud-to-cloud cihazlarda çalışır.

Basitleştirilmiş bir özellik, ilgili standart özelliğin özelliklerine ve komutlarına kıyasla cihaza daha özgü olan alternatif bir alt küme sunar. Örneğin, standart LevelControl<0xx0A>özelliği, bir dizi sayısal değer arasında sürekli olarak değişen bir ayara sahip tüm cihazlar için kullanılabilen genel bir özelliktir. Brightness, LevelControl yerine geçen ve yalnızca DimmableLight cihazının ihtiyaç duyduğu komutları ve özellikleri sağlayan basitleştirilmiş bir özelliktir. Brightness, tek bir brightnessPercent bağımsız değişkeni alan bir moveToBrightness komutuna sahipken LevelControl, çoğu daha geniş bir kullanım alanı yelpazesine uyum sağlamak için en az dört parametreye sahip olan birden fazla move komutuna sahiptir.

Aşağıdaki tabloda, her basitleştirilmiş özellik ve temel standart özellikler gösterilmektedir. Her özellik adı, ilgili API belgelerine bağlanır:

Tablo: Basitleştirilmiş özellikler
Basitleştirilmiş özellik Standart özellik
SimplifiedThermostat Thermostat
Brightness LevelControl
SimplifiedOnOff OnOff
Volume LevelControl
OnOff

Basitleştirilmiş özellikler ve Discovery API

Discovery API, her iki özellik de FactoryRegistry'ye kaydedildiği sürece basitleştirilmiş özelliklerin yanı sıra temel standart özelliklerini de raporlar. Örneğin, yapıda bir DimmableLight cihazı varsa ve geliştirici FactoryRegistry içinde hem LevelControl hem de Brightness özelliklerini kaydettiyse Discovery API, her iki özelliğin de bulunduğunu belirtir. Geliştirici, otomasyonunda bu özelliklerden birini kullanmayı tercih edebilir.

Daha fazla bilgi için Android'de Discovery API başlıklı makaleyi inceleyin.

Basitleştirilmiş bir özelliği destekleyen cihazı alma

SimplifiedThermostat gibi basitleştirilmiş bir özelliği destekleyen bir yapıda cihazları almak için Device API'yi kullanırken has(trait) yöntemini kullanamazsınız. Bunun yerine has(deviceType) yöntemini kullanın:

val thermostat = home.devices().list().first { device -> device.has(ThermostatDevice) }