تتيح لك عوامل التشغيل التحقّق من قيمة سمات السمات مقارنةً بقيمة
معيّنة، ومقارنتها ببعضها، ودمج التعبيرات المستخدَمة في عُقد
condition
.
تتوفّر عوامل التشغيل من خلال عبارات import
التالية:
import com.google.home.automation.and
import com.google.home.automation.between
import com.google.home.automation.contains
import com.google.home.automation.equals
import com.google.home.automation.greaterThan
import com.google.home.automation.greaterThanOrEquals
import com.google.home.automation.lessThan
import com.google.home.automation.not
import com.google.home.automation.notEquals
import com.google.home.automation.or
عوامل تشغيل المقارنة
بين
يتم تقييمها على أنّها true
عندما تكون قيمة التعبير 1 بين قيمة التعبير
2 والتعبير 3 (شاملة). يتم ترتيب التعبيرات بشكل مختلف استنادًا إلى نوع بياناتها. يتم ترتيب أنواع البيانات البسيطة، مثل الأرقام والسلاسل، بالطريقة
نفسها في Kotlin.
التعبير 1 | التعبير 2 | التعبير 3 | النتيجة |
---|---|---|---|
6 |
1 |
3 |
false |
2 |
1 |
3 |
true |
مثال على لغة وصف البيانات
val time = stateReader<_>(structure, Time)
condition() {
expression = time.currentTime
.between(
time.sunsetTime,
time.sunriseTime)
}
يساوي
يتم تقييمها على أنّها true
عندما يساوي التعبير 1 التعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
false |
2 |
2 |
true |
مثال على لغة وصف البيانات
washer.operationalState equals STOPPED
greaterThan
يتم تقييمها على أنّها true
عندما يكون التعبير 1 أكبر من التعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
true |
1 |
6 |
false |
مثال على لغة وصف البيانات
( blindsPosition.currentPositionLift greaterThan 0u )
greaterThanOrEquals
يتم تقييمها على أنّها true
عندما يكون التعبير 1 أكبر من أو يساوي التعبير
2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
8 |
6 |
true |
6 |
6 |
true |
1 |
6 |
false |
مثال على لغة وصف البيانات
( starterNode.measuredValue greaterThanOrEquals 50 )
lessThan
يتم تقييمها على أنّها true
عندما تكون العبارة 1 أقل من العبارة 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
false |
1 |
6 |
true |
مثال على لغة وصف البيانات
time.currentTime lessThan LocalTime.of(22,0,0,0)
lessThanOrEquals
يتم تقييمها على أنّها true
عندما يكون التعبير 1 أقل من أو يساوي التعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
8 |
6 |
false |
6 |
6 |
true |
1 |
6 |
true |
مثال على لغة وصف البيانات
( starterNode.measuredValue lessThanOrEquals 25 )
notEquals
يتمّ تقييمها على أنّها true
عندما لا يكون التعبير 1 مساويًا للتعبير 2.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
6 |
1 |
true |
1 |
6 |
true |
2 |
2 |
false |
مثال على لغة وصف البيانات
occupancyStateChange.occupied notEquals 0
عوامل التشغيل الحسابية
إضافة
عامل التشغيل "الإضافة" ( +
).
مثال على لغة وصف البيانات
var totalCount = 0
...
totalCount = totalCount + 1
طرح
عامل الطرح ( -
).
مثال على لغة وصف البيانات
var countdown = 10
...
countdown = countdown - 1
ضرب
عامل الضرب ( *
).
مثال على لغة وصف البيانات
val millis = seconds * 1000
قسمة
عامل القسمة ( /
).
مثال على لغة وصف البيانات
val rpm = revolutions / minutes
العوامل المنطقية
و
يجمع بين تعبيرَين في تعبير منطقي "و"، ويُقيّم بـ true
عندما يكون كلا التعبيرَين true
.
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
false |
false |
false |
true |
false |
false |
false |
true |
false |
true |
true |
true |
مثال على لغة وصف البيانات
((device.occupied notEquals 0) and
time.currentTime.between(time.sunriseTime, time.sunsetTime))
ليس
ينفي القيمة المنطقية لتعبير معيّن.
التعبير | النتيجة |
---|---|
true |
false |
false |
true |
مثال على لغة وصف البيانات
time.currentTime not (between(time.sunriseTime, time.sunsetTime))
أو
تجمع بين تعبيرَين في تعبير منطقي "أو".
التعبير 1 | التعبير 2 | النتيجة |
---|---|---|
false |
false |
false |
true |
false |
true |
false |
true |
true |
مثال على لغة وصف البيانات
(time.currentTime equals LocalTime.of(10,0,0,0)) or
(time.currentTime equals LocalTime.of(22,0,0,0))