Между реальными и виртуальными устройствами, можно настраивать связи, которые будут управлять:
- из виртуального устройства - реальным (для виртуального тип связи "входящая", для реального "исходящая")
- из реального устройства - виртуальным (для реального тип связи "входящая", для виртуального "исходящая")
Обычно подобные связи, используются для объединения нескольких реальных лампочек в одно виртуальное устройство.
На примере виртуальной лампочки, которую можно создать аналогично выключателю из этой инструкции, мы объединим несколько реальных лампочек в одну виртуальную.
В настройках виртуальной лампочки заходим в линки характеристики Включен
Нажимаем кнопку добавления связей
Выбираем нужное устройство
Выбираем соответствующую характеристику
Повторяем для остальных лампочек
и делаем то же самое для характеристики Яркость
В итоге мы получаем одну виртуальную лампочку, которая управляет тремя реальными лампочками. При этом три реальных лампочки можно спокойно скрыть из интерфейса и показывать в веб-интерфейсе и в мостах только виртуальную лампочку
Способы обработки связей
Есть несколько вариантов обработки связей между устройствами
Среднее значение - вычисляет среднее значение между всеми подключенными устройствами и присваивает его виртуальному
Минимальное значение - выбирает минимальное значение из всех связанных и присваивает его виртуальному
Максимальное значение - выбирает максимальное значение из всех связанных и присваивает его виртуальному
Последнее значение - лучше пояснить на примере. Возьмем три реальные лампочки и свяжем их в одну виртуальную. выключим все. При данном типе связей, если включить одну из реальных лампочек и установить ей яркость 10%, то включится только эта реальная лампочка на 10% и такое же значение примет виртуальная лампочка и сменит свою яркость на 10%. Остальные две реальные лампочки останутся выключенными. Это основной вариант связей для реальных и виртуальных лампочек.
Синхронизация - опять же лучше пояснить на примере трех реальных лампочек, связанных с одной виртуальной. При данном типе связей, если вы включите одну из реальных лампочек и установите ей яркость 10%, то все остальные реальные и виртуальная лампочка, постараются включиться и выставить яркость 10%. Но ввиду того, что реальные лампочки обладают обратной связью, если они в процессе изменения яркости, будут отдавать хабу свое текущее состояние, оно будет применяться для всех остальных лампочек, как реальных, так и виртуальной. В итоге мы получим непредсказуемый результат, так как все лампочки будут стремиться синхронизировать свое состояние. Именно поэтому, подобный тип связей - для устройств с обратной связью не подходит, если их больше одного.