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:
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) }