Связи между виртуальными и реальными устройствами (Линки)

Материал из Sprut.hub Wiki
Версия от 21:40, 25 января 2023; Bigmanekb (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Между реальными и виртуальными устройствами, можно настраивать связи, которые будут управлять или виртуальным устройством из реального, или наоборот из реального виртуальным.

Обычно подобные связи, используются для объединения нескольких реальных лампочек в одно виртуальное устройство.

На примере виртуальной лампочки, которую можно создать аналогично выключателю из этой инструкции, мы объединим несколько реальных лампочек в одну виртуальную.

В настройках виртуальной лампочки заходим в линки характеристики Включен

Virtual 010 лампочка.png

Нажимаем кнопку добавления связей

Virtual 011 включение.png

Выбираем нужное устройство

Virtual 012 выбор устройств.png

Выбираем соответствующую характеристику

Virtual 013 выбор характеристики.png

Повторяем для остальных лампочек

Virtual 014 несколько устройств.png

и делаем то же самое для характеристики Яркость

Virtual 015 дополнительные характеристики.png

В итоге мы получаем одну виртуальную лампочку, которая управляет тремя реальными лампочками. При этом три реальных лампочки можно спокойно скрыть из интерфейса и показывать в веб-интерфейсе и в мостах только виртуальную лампочку

Способы обработки связей

Есть несколько вариантов обработки связей между устройствами

Линки 001 Способ обработки связей.png

Среднее значение - вычисляет среднее значение между всеми подключенными устройствами и присваивает его виртуальному

Минимальное значение - выбирает минимальное значение из всех связанных и присваивает его виртуальному

Максимальное значение - выбирает максимальное значение из всех связанных и присваивает его виртуальному

Последнее значение - лучше пояснить на примере. Возьмем три реальные лампочки и свяжем их в одну виртуальную. выключим все. При данном типе связей, если включить одну из реальных лампочек и установить ей яркость 10%, то включится только эта реальная лампочка на 10% и такое же значение примет виртуальная лампочка и сменит свою яркость на 10%. Остальные две реальные лампочки останутся выключенными. Это основной вариант связей для реальных и виртуальных лампочек.


Синхронизация - опять же лучше пояснить на примере трех реальных лампочек, связанных с одной виртуальной. При данном типе связей, если вы включите одну из реальных лампочек и установите ей яркость 10%, то все остальные реальные и виртуальная лампочка, постараются включиться и выставить яркость 10%. Но ввиду того, что реальные лампочки обладают обратной связью, если они в процессе изменения яркости, будут отдавать хабу свое текущее состояние, оно будет применяться для всех остальных лампочек, как реальных, так и виртуальной. В итоге мы получим непредсказуемый результат, так как все лампочки будут стремиться синхронизировать свое состояние. Именно поэтому, подобный тип связей - для устройств с обратной связью не подходит, если их больше одного.