Задумка шевелить краны по расписанию, чтоб не закисли. Для этого завел виртуальный переключатель (устройство пустышка) чтобы включать по расписанию, Easy Scripting отслеживать его и дергать гидролоки в определенной последовательности
вот скрипт
Code: Select all
// 17-0-37 cold, 16-0-37 hot water hydrolocks
### DummyDevice_31 // гидролок v
if (vdev("DummyDevice_31").value() == "on") {
if (vdev("ZWayVDev_zway_17-0-37").value() == "off") {
vdev("ZWayVDev_zway_17-0-37").on()
setTimer("HC_off", () => {vdev("ZWayVDev_zway_17-0-37").off()}, 15)
}
else{
vdev("ZWayVDev_zway_17-0-37").off()
setTimer("HC_on", () => {vdev("ZWayVDev_zway_17-0-37").on()}, 15)
}
if (vdev("ZWayVDev_zway_16-0-37").value() == "off") {
vdev("ZWayVDev_zway_16-0-37").on()
setTimer("HH_off", () => {vdev("ZWayVDev_zway_16-0-37").off()}, 15)
}
else{
vdev("ZWayVDev_zway_16-0-37").off()
setTimer("HH_on", () => {vdev("ZWayVDev_zway_16-0-37").on()}, 15)
}
vdev("DummyDevice_31").off()
}
Code: Select all
[2022-01-02 17:45:46.479] [I] [core] --- DummyDevice_31 performCommand processing: {"0":"on","1":{}}
[2022-01-02 17:45:46.483] [I] [core] Notification: device-info (device-OnOff): {"dev":"гидролок v","l":"on","location":9}
[2022-01-02 17:45:46.498] [I] [core] [BaseModule-17] Set lastLevel to on for DummyDevice_31 (was off)
[2022-01-02 17:45:49.662] [I] [zway] Adding job: Get background noise level
[2022-01-02 17:45:49.666] [D] [zway] SENDING: ( 01 03 00 3B C7 )
[2022-01-02 17:45:49.668] [D] [zway] RECEIVED ACK
[2022-01-02 17:45:49.668] [D] [zway] RECEIVED: ( 01 05 01 3B AE A5 CB )
[2022-01-02 17:45:49.668] [D] [zway] SENT ACK
[2022-01-02 17:45:49.668] [D] [zway] SETDATA controller.data.statistics.backgroundRSSI.channel1 = 174 (0x000000ae)
[2022-01-02 17:45:49.668] [D] [zway] SETDATA controller.data.statistics.backgroundRSSI.channel2 = 165 (0x000000a5)
[2022-01-02 17:45:49.668] [D] [zway] SETDATA controller.data.statistics.backgroundRSSI.channel3 = 127 (0x0000007f)
[2022-01-02 17:45:49.668] [I] [zway] Job 0x3b (Get background noise level): RSSI Ch#1: -91 dBm, Ch#2: -91 dBm, Ch#3: not available
[2022-01-02 17:45:49.668] [D] [zway] Job 0x3b (Get background noise level): success
[2022-01-02 17:45:49.668] [I] [zway] Removing job: Get background noise level
[2022-01-02 17:46:02.163] [D] [zway] RECEIVED: ( 01 14 00 04 00 06 0A 71 05 00 00 00 FF 07 00 01 08 CA 00 01 10 BD )
[2022-01-02 17:46:02.163] [D] [zway] SENT ACK
[2022-01-02 17:46:02.163] [D] [zway] SETDATA devices.6.data.lastReceived = 0 (0x00000000)
[2022-01-02 17:46:02.163] [D] [zway] SETDATA devices.6.instances.0.commandClasses.113.data.7.eventParameters = byte[1]
[2022-01-02 17:46:02.164] [D] [zway] ( 08 )
[2022-01-02 17:46:02.164] [D] [zway] SETDATA devices.6.instances.0.commandClasses.113.data.7.event = 0 (0x00000000)
[2022-01-02 17:46:02.165] [D] [zway] SETDATA devices.6.instances.0.commandClasses.113.data.7.eventString = ""
[2022-01-02 17:46:02.165] [D] [zway] SETDATA devices.6.instances.0.commandClasses.113.data.7.status = 255 (0x000000ff)
[2022-01-02 17:46:02.165] [D] [zway] SETDATA devices.6.instances.0.commandClasses.113.data.7 = Empty
[2022-01-02 17:46:02.220] [D] [zway] RECEIVED: ( 01 0E 00 04 00 06 04 30 03 00 0C CA 00 01 10 13 )
[2022-01-02 17:46:02.221] [D] [zway] SENT ACK
[2022-01-02 17:46:02.221] [D] [zway] SETDATA devices.6.data.lastReceived = 0 (0x00000000)
[2022-01-02 17:46:02.221] [D] [zway] SETDATA devices.6.instances.0.commandClasses.48.data.12.level = False
[2022-01-02 17:46:02.222] [D] [zway] SETDATA devices.6.instances.0.commandClasses.48.data.12 = Empty
[2022-01-02 17:46:02.239] [I] [core] Notification: device-info (device-OnOff): {"dev":"Burglar Alarm (#6)","l":"off","location":6}
[2022-01-02 17:46:02.279] [I] [core] Notification: device-info (device-OnOff): {"dev":"Motion (#6)","l":"off","location":6}
[2022-01-02 17:46:02.289] [I] [core] [BaseModule-17] Set lastLevel to off for ZWayVDev_zway_6-0-113-7-8-A (was on)
[2022-01-02 17:46:02.313] [I] [core] [BaseModule-17] Set lastLevel to off for ZWayVDev_zway_6-0-48-12 (was on)
[2022-01-02 17:46:10.072] [D] [zway] Job 0x3b: deleted from queue
[2022-01-02 17:46:19.677] [I] [zway] Adding job: Get background noise level
[2022-01-02 17:46:19.682] [D] [zway] SENDING: ( 01 03 00 3B C7 )
[2022-01-02 17:46:19.684] [D] [zway] RECEIVED ACK
[2022-01-02 17:46:19.684] [D] [zway] RECEIVED: ( 01 05 01 3B AD A8 C5 )
[2022-01-02 17:46:19.684] [D] [zway] SENT ACK
[2022-01-02 17:46:19.684] [D] [zway] SETDATA controller.data.statistics.backgroundRSSI.channel1 = 173 (0x000000ad)
[2022-01-02 17:46:19.684] [D] [zway] SETDATA controller.data.statistics.backgroundRSSI.channel2 = 168 (0x000000a8)
[2022-01-02 17:46:19.684] [D] [zway] SETDATA controller.data.statistics.backgroundRSSI.channel3 = 127 (0x0000007f)
[2022-01-02 17:46:19.684] [I] [zway] Job 0x3b (Get background noise level): RSSI Ch#1: -88 dBm, Ch#2: -88 dBm, Ch#3: not available
[2022-01-02 17:46:19.684] [D] [zway] Job 0x3b (Get background noise level): success
[2022-01-02 17:46:19.684] [I] [zway] Removing job: Get background noise level
[2022-01-02 17:46:31.138] [I] [core] --- DummyDevice_31 performCommand processing: {"0":"off","1":{}}
[2022-01-02 17:46:31.142] [I] [core] Notification: device-info (device-OnOff): {"dev":"гидролок v","l":"off","location":9}
[2022-01-02 17:46:31.233] [I] [core] [BaseModule-17] Set lastLevel to off for DummyDevice_31 (was on)
[2022-01-02 17:46:40.063] [D] [zway] Job 0x3b: deleted from queue
вопрос к знатокам - где ошибка?
контролируемое событие выбрано, скрипт активен, событие происходит - ОТВЕТНОГО ДЕЙСТВИЯ НЕТ
пробовал и без условия (первое, в начале скрипта), и триггер ставить на физическое устройство, результат тот же
тренирую этот навык точнее пытаюсь "завести" срипт начиная с z-way 3.2.0, это просто точка отсчета времени, не багрепорт
кстати, piz2w меньше месяца стоит, до неё была pi0w - да, загрузка проца уменьшилась с 10 до 1%, новая заметно бодрее подгружает список кандидатов "выбрать файл описания устройства z-wave" на http://z-way-server.local:8083/expert/# ... ew/dev_num и "фильтр оповещений". и всего-то! на мои 24 устройства ХВАТАЕТ pi0w.