noant / Lazurite

Home automation software
https://noant.github.io/Lazurite/
Apache License 2.0
55 stars 4 forks source link

Сценарии без привязки к устройствам (функции) #5

Open heX16 opened 5 years ago

heX16 commented 5 years ago

Можно создать сценарий не привязанный к какимто конкретно устройствам? Ну и чтобы потом создать "экземпляры" сценария связанные с разными устройствами. Ну или просто создать функцию в сценарии. (например в OpenHab2 весьма неприятные сложности с этим...)

User Case: У меня есть примерно 10 датчиков движения. Алгоритм их поведения весьма не тривиален (там сложные "отношения" с включателями, временем, тревогами). Насколько я понял сейчас у каждого датчика нужно держать свою копию кода? И при добавлении датчика копировать повторно? А при изменении алгоритма пробегать по всем датчикам и обновлять код у каждого?

noant commented 5 years ago

Вообще, создавать сценарии, не привязанные к устройству, можно, но это не поможет. Функцию к сценариям создать нельзя, сейчас возможности ограничены только сценариями и триггерами. Т.е. к каждому датчику нужно создавать свой сценарий. Как вариант решения можно создать сценарий с типом данных "Статус", где каждый статус будет означать название определенного датчика, затем, в сценарии создать условия, где и получить значение с нужного датчика, а затем уже его обработать в этом-же сценарии. Это жесткий колстыль. Вообще, конечно нужно ввести переменные и функции, так будет удобнее намного.

Попробуйте поиграться с триггерами, часто они помогаю сократить код.