<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://mdminfo.ru/index.php?action=history&amp;feed=atom&amp;title=Modules%2Fdevices%2FhomebridgeSendUpdate_inc_php</id>
	<title>Modules/devices/homebridgeSendUpdate inc php - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://mdminfo.ru/index.php?action=history&amp;feed=atom&amp;title=Modules%2Fdevices%2FhomebridgeSendUpdate_inc_php"/>
	<link rel="alternate" type="text/html" href="https://mdminfo.ru/index.php?title=Modules/devices/homebridgeSendUpdate_inc_php&amp;action=history"/>
	<updated>2026-06-02T14:09:32Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://mdminfo.ru/index.php?title=Modules/devices/homebridgeSendUpdate_inc_php&amp;diff=2105&amp;oldid=prev</id>
		<title>Elmax в 19:07, 8 апреля 2024</title>
		<link rel="alternate" type="text/html" href="https://mdminfo.ru/index.php?title=Modules/devices/homebridgeSendUpdate_inc_php&amp;diff=2105&amp;oldid=prev"/>
		<updated>2024-04-08T19:07:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 22:07, 8 апреля 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Modules/devices/homebridgeSendUpdate_inc_php | homebridgeSendUpdate.inc.php&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]]&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Modules/devices/homebridgeSendUpdate_inc_php | homebridgeSendUpdate.inc.php]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Папки и файлы|ᐂ В корневой раздел]]  [[Modules/devices|ᐃ В директорию расположения файла]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Папки и файлы|ᐂ В корневой раздел]]  [[Modules/devices|ᐃ В директорию расположения файла]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Elmax</name></author>
	</entry>
	<entry>
		<id>https://mdminfo.ru/index.php?title=Modules/devices/homebridgeSendUpdate_inc_php&amp;diff=2103&amp;oldid=prev</id>
		<title>Elmax: + файл homebridgeSendUpdate.inc.php</title>
		<link rel="alternate" type="text/html" href="https://mdminfo.ru/index.php?title=Modules/devices/homebridgeSendUpdate_inc_php&amp;diff=2103&amp;oldid=prev"/>
		<updated>2024-04-08T18:58:49Z</updated>

		<summary type="html">&lt;p&gt;+ файл homebridgeSendUpdate.inc.php&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Modules/devices/homebridgeSendUpdate_inc_php | homebridgeSendUpdate.inc.php]]]]&lt;br /&gt;
[[Папки и файлы|ᐂ В корневой раздел]]  [[Modules/devices|ᐃ В директорию расположения файла]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
// Создание пустого массива под названием $payload&lt;br /&gt;
$payload = array();&lt;br /&gt;
// Добавление в массив $payload элемента 'name' со значением из $device1['LINKED_OBJECT']&lt;br /&gt;
$payload['name'] = $device1['LINKED_OBJECT'];&lt;br /&gt;
// Добавление в массив $payload элемента 'service_name' со значением из $device1['TITLE']&lt;br /&gt;
$payload['service_name'] = $device1['TITLE'];&lt;br /&gt;
&lt;br /&gt;
// Создание второго пустого массива под названием $payload2&lt;br /&gt;
$payload2 = array();&lt;br /&gt;
// Добавление в массив $payload2 элемента 'name' со значением из $device1['LINKED_OBJECT']&lt;br /&gt;
$payload2['name'] = $device1['LINKED_OBJECT'];&lt;br /&gt;
// Добавление в массив $payload2 элемента 'service_name' со значением из $device1['TITLE']&lt;br /&gt;
$payload2['service_name'] = $device1['TITLE'];&lt;br /&gt;
&lt;br /&gt;
// Закомментированный код, который, вероятно, должен был выводить сообщение об обновлении Homebridge&lt;br /&gt;
//DebMes(&amp;quot;Homebridge Update &amp;quot;.$device1['LINKED_OBJECT'].&amp;quot; (&amp;quot;.$device1['TYPE'].&amp;quot;): &amp;quot;.gg($device1['LINKED_OBJECT'] . '.status').&amp;quot; / &amp;quot;.gg($device1['LINKED_OBJECT'] . '.value'),'homebridge');&lt;br /&gt;
&lt;br /&gt;
// Выбор типа устройства&lt;br /&gt;
switch ($device1['TYPE']) {&lt;br /&gt;
        // Если тип устройства - реле&lt;br /&gt;
    case 'relay':&lt;br /&gt;
        // Получение типа нагрузки для реле&lt;br /&gt;
        $load_type = gg($device1['LINKED_OBJECT'] . '.loadType');&lt;br /&gt;
        // Если тип нагрузки - свет&lt;br /&gt;
        if ($load_type == 'light') $payload['service'] = 'Lightbulb';&lt;br /&gt;
        // Если тип нагрузки - вентилятор&lt;br /&gt;
        elseif ($load_type == 'vent') $payload['service'] = 'Fan';&lt;br /&gt;
        // Если тип нагрузки - переключатель&lt;br /&gt;
        elseif ($load_type == 'switch') $payload['service'] = 'Switch';&lt;br /&gt;
        // Если тип нагрузки не указан, считаем его выходом&lt;br /&gt;
        else $payload['service'] = 'Outlet';&lt;br /&gt;
        // Установка характеристики для реле&lt;br /&gt;
        $payload['characteristic'] = 'On';&lt;br /&gt;
        // Проверка статуса устройства&lt;br /&gt;
        if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
            // Если устройство включено, устанавливаем значение true&lt;br /&gt;
            $payload['value'] = true;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если устройство выключено, устанавливаем значение false&lt;br /&gt;
            $payload['value'] = false;&lt;br /&gt;
        }&lt;br /&gt;
        // Прерывание выполнения кода для данного случая&lt;br /&gt;
        break;&lt;br /&gt;
&lt;br /&gt;
        // Если тип устройства - датчик температуры&lt;br /&gt;
    case 'sensor_temp':&lt;br /&gt;
        // Установка сервиса для датчика температуры&lt;br /&gt;
        $payload['service'] = 'TemperatureSensor';&lt;br /&gt;
        // Установка характеристики для текущей температуры&lt;br /&gt;
        $payload['characteristic'] = 'CurrentTemperature';&lt;br /&gt;
        // Получение значения температуры&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.value');&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик CO2&lt;br /&gt;
    case 'sensor_co2':&lt;br /&gt;
        // Установка сервиса для датчика CO2&lt;br /&gt;
        $payload['service'] = 'CarbonDioxideSensor';&lt;br /&gt;
        // Установка характеристики для уровня CO2&lt;br /&gt;
        $payload['characteristic'] = 'CarbonDioxideLevel';&lt;br /&gt;
        // Получение значения уровня CO2&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.value');&lt;br /&gt;
&lt;br /&gt;
        // Получение максимального уровня CO2&lt;br /&gt;
        $max_level = gg($device1['LINKED_OBJECT'] . '.maxValue');&lt;br /&gt;
        if (!$max_level) {&lt;br /&gt;
            // Если максимальный уровень не указан, устанавливаем значение по умолчанию&lt;br /&gt;
            $max_level = 1200;&lt;br /&gt;
        }&lt;br /&gt;
        // Установка сервиса для датчика CO2 во втором массиве&lt;br /&gt;
        $payload2['service'] = 'CarbonDioxideSensor';&lt;br /&gt;
        // Установка характеристики для обнаружения CO2&lt;br /&gt;
        $payload2['characteristic'] = 'CarbonDioxideDetected';&lt;br /&gt;
        if ($payload['value'] &amp;gt;= $max_level) {&lt;br /&gt;
            // Если уровень CO2 превышает максимальный, устанавливаем значение обнаружения&lt;br /&gt;
            $payload2['value'] = &amp;quot;1&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если уровень CO2 не превышает максимальный, устанавливаем значение отсутствия обнаружения&lt;br /&gt;
            $payload2['value'] = &amp;quot;0&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик влажности&lt;br /&gt;
    case 'sensor_humidity':&lt;br /&gt;
        // Установка сервиса для датчика влажности&lt;br /&gt;
        $payload['service'] = 'HumiditySensor';&lt;br /&gt;
        // Установка характеристики для текущей относительной влажности&lt;br /&gt;
        $payload['characteristic'] = 'CurrentRelativeHumidity';&lt;br /&gt;
        // Получение значения относительной влажности&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.value');&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик движения&lt;br /&gt;
    case 'motion':&lt;br /&gt;
        // Установка сервиса для датчика движения&lt;br /&gt;
        $payload['service'] = 'MotionSensor';&lt;br /&gt;
        // Установка характеристики для обнаружения движения&lt;br /&gt;
        $payload['characteristic'] = 'MotionDetected';&lt;br /&gt;
        if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
            // Если обнаружено движение, устанавливаем значение true&lt;br /&gt;
            $payload['value'] = true;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если движение не обнаружено, устанавливаем значение false&lt;br /&gt;
            $payload['value'] = false;&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик дыма&lt;br /&gt;
    case 'smoke':&lt;br /&gt;
        // Установка сервиса для датчика дыма&lt;br /&gt;
        $payload['service'] = 'SmokeSensor';&lt;br /&gt;
        // Установка характеристики для обнаружения дыма&lt;br /&gt;
        $payload['characteristic'] = 'SmokeDetected';&lt;br /&gt;
        if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
            // Если обнаружен дым, устанавливаем значение true&lt;br /&gt;
            $payload['value'] = true;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если дым не обнаружен, устанавливаем значение false&lt;br /&gt;
            $payload['value'] = false;&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик утечки&lt;br /&gt;
    case 'leak':&lt;br /&gt;
        // Установка сервиса для датчика утечки&lt;br /&gt;
        $payload['service'] = 'LeakSensor';&lt;br /&gt;
        // Установка характеристики для обнаружения утечки&lt;br /&gt;
        $payload['characteristic'] = 'LeakDetected';&lt;br /&gt;
        if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
            // Если обнаружена утечка, устанавливаем значение true&lt;br /&gt;
            $payload['value'] = true;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если утечка не обнаружена, устанавливаем значение false&lt;br /&gt;
            $payload['value'] = false;&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик освещенности&lt;br /&gt;
    case 'sensor_light':&lt;br /&gt;
        // Установка сервиса для датчика освещенности&lt;br /&gt;
        $payload['service'] = 'LightSensor';&lt;br /&gt;
        // Установка характеристики для текущего уровня освещенности&lt;br /&gt;
        $payload['characteristic'] = 'CurrentAmbientLightLevel';&lt;br /&gt;
        // Получение значения уровня освещенности&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.value');&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - датчик открытия/закрытия&lt;br /&gt;
    case 'openclose':&lt;br /&gt;
        // Установка сервиса для датчика открытия/закрытия&lt;br /&gt;
        $payload['service'] = 'ContactSensor';&lt;br /&gt;
        // Установка характеристики для состояния датчика открытия/закрытия&lt;br /&gt;
        $payload['characteristic'] = 'ContactSensorState';&lt;br /&gt;
        // Проверка типа датчика (NO/NC)&lt;br /&gt;
        $nc = gg($device1['LINKED_OBJECT'] . '.ncno') == 'nc';&lt;br /&gt;
        // Установка значения в зависимости от типа датчика&lt;br /&gt;
        $payload['value'] = $nc ? 1 - gg($device1['LINKED_OBJECT'] . '.status') : gg($device1['LINKED_OBJECT'] . '.status');&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - открываемое устройство&lt;br /&gt;
    case 'openable':&lt;br /&gt;
        // Получение типа открываемого устройства&lt;br /&gt;
        $open_type = gg($device1['LINKED_OBJECT'] . '.openType');&lt;br /&gt;
        if ($open_type == 'gates') {&lt;br /&gt;
            // Установка сервиса для открывателя гаражных дверей&lt;br /&gt;
            $payload['service'] = 'GarageDoorOpener';&lt;br /&gt;
        } elseif ($open_type == 'door') {&lt;br /&gt;
            // Установка сервиса для двери&lt;br /&gt;
            $payload['service'] = 'Door';&lt;br /&gt;
        } elseif ($open_type == 'window') {&lt;br /&gt;
            // Установка сервиса для окна&lt;br /&gt;
            $payload['service'] = 'Window';&lt;br /&gt;
        } elseif ($open_type == 'curtains') {&lt;br /&gt;
            // Установка сервиса для жалюзи&lt;br /&gt;
            $payload['service'] = 'WindowCovering';&lt;br /&gt;
        } elseif ($open_type == 'shutters') {&lt;br /&gt;
            // Установка сервиса для штор&lt;br /&gt;
            $payload['service'] = 'WindowCovering';&lt;br /&gt;
        }&lt;br /&gt;
        if ($payload['service']) {&lt;br /&gt;
            if ($open_type == 'gates') {&lt;br /&gt;
                if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
                    // Если дверь открыта, устанавливаем значение 1&lt;br /&gt;
                    $payload['value'] = &amp;quot;1&amp;quot;;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Если дверь закрыта, устанавливаем значение 0&lt;br /&gt;
                    $payload['value'] = &amp;quot;0&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                // Установка характеристики для текущего состояния двери&lt;br /&gt;
                $payload['characteristic'] = 'CurrentDoorState';&lt;br /&gt;
                if ($debug_sync) {&lt;br /&gt;
                    // Вывод сообщения для отладки&lt;br /&gt;
                    DebMes(&amp;quot;MQTT to_set : &amp;quot; . json_encode($payload), 'homebridge');&lt;br /&gt;
                }&lt;br /&gt;
                // Отправка данных в Homebridge&lt;br /&gt;
                sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
                /*&lt;br /&gt;
            if ($debug_sync) {&lt;br /&gt;
            // Вывод сообщения для отладки&lt;br /&gt;
                DebMes(&amp;quot;MQTT to_set : &amp;quot; . json_encode($payload), 'homebridge');&lt;br /&gt;
            }&lt;br /&gt;
            // Установка характеристики для целевого состояния двери&lt;br /&gt;
            $payload['characteristic'] = 'TargetDoorState';&lt;br /&gt;
            */&lt;br /&gt;
&lt;br /&gt;
                // Удаление сервиса из массива&lt;br /&gt;
                unset($payload['service']);&lt;br /&gt;
                // Если тип открываемого устройства - дверь, окно, жалюзи или шторы&lt;br /&gt;
            } elseif ($open_type == 'door' || $open_type == 'window' || $open_type == 'curtains' || $open_type == 'shutters') {&lt;br /&gt;
                // Установка характеристики для текущей позиции&lt;br /&gt;
                $payload['characteristic'] = 'CurrentPosition';&lt;br /&gt;
                if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
                    // Если устройство закрыто, устанавливаем значение 0&lt;br /&gt;
                    $payload['value'] = &amp;quot;0&amp;quot;;&lt;br /&gt;
                } else {&lt;br /&gt;
                    // Если устройство открыто, устанавливаем значение 100&lt;br /&gt;
                    $payload['value'] = &amp;quot;100&amp;quot;;&lt;br /&gt;
                }&lt;br /&gt;
                if ($debug_sync) {&lt;br /&gt;
                    // Вывод сообщения для отладки&lt;br /&gt;
                    DebMes(&amp;quot;MQTT to_set : &amp;quot; . json_encode($payload), 'homebridge');&lt;br /&gt;
                }&lt;br /&gt;
                // Отправка данных в Homebridge&lt;br /&gt;
                sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
                // Установка характеристики для целевой позиции&lt;br /&gt;
                $payload['characteristic'] = 'TargetPosition';&lt;br /&gt;
                // Отправка данных в Homebridge&lt;br /&gt;
                sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
                // Удаление сервиса из массива&lt;br /&gt;
                unset($payload['service']);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - RGB лампа&lt;br /&gt;
    case 'rgb':&lt;br /&gt;
        // Установка сервиса для лампы&lt;br /&gt;
        $payload['service'] = 'Lightbulb';&lt;br /&gt;
        // Добавление лампы в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_add', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для включения/выключения&lt;br /&gt;
        $payload['characteristic'] = 'On';&lt;br /&gt;
        if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
            // Если лампа включена, устанавливаем значение true&lt;br /&gt;
            $payload['value'] = true;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если лампа выключена, устанавливаем значение false&lt;br /&gt;
            $payload['value'] = false;&lt;br /&gt;
        }&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для оттенка&lt;br /&gt;
        $payload['characteristic'] = 'Hue';&lt;br /&gt;
        // Получение значения оттенка&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.hue');&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для насыщенности&lt;br /&gt;
        $payload['characteristic'] = 'Saturation';&lt;br /&gt;
        // Получение значения насыщенности&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.saturation');&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для яркости&lt;br /&gt;
        $payload['characteristic'] = 'Brightness';&lt;br /&gt;
        // Получение значения яркости&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.brightness');&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
        // Удаление сервиса из массива&lt;br /&gt;
        unset($payload['service']);&lt;br /&gt;
        break;&lt;br /&gt;
        // Если тип устройства - LED лампа&lt;br /&gt;
    case 'ledlamp':&lt;br /&gt;
        // Установка сервиса для лампы&lt;br /&gt;
        $payload['service'] = 'Lightbulb';&lt;br /&gt;
        // Добавление лампы в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_add', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для включения/выключения&lt;br /&gt;
        $payload['characteristic'] = 'On';&lt;br /&gt;
        if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
            // Если лампа включена, устанавливаем значение true&lt;br /&gt;
            $payload['value'] = true;&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если лампа выключена, устанавливаем значение false&lt;br /&gt;
            $payload['value'] = false;&lt;br /&gt;
        }&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для яркости&lt;br /&gt;
        $payload['characteristic'] = 'Brightness';&lt;br /&gt;
        // Получение значения яркости&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.brightness');&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
        // Удаление сервиса из массива&lt;br /&gt;
        unset($payload['service']);&lt;br /&gt;
        break;&lt;br /&gt;
&lt;br /&gt;
        // Если тип устройства - термостат&lt;br /&gt;
    case 'thermostat':&lt;br /&gt;
        // Установка характеристики для текущей температуры&lt;br /&gt;
        $payload['characteristic'] = 'CurrentTemperature';&lt;br /&gt;
        // Получение значения текущей температуры&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.value');&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
&lt;br /&gt;
        // Установка характеристики для целевой температуры&lt;br /&gt;
        $payload['characteristic'] = 'TargetTemperature';&lt;br /&gt;
        // Получение значения целевой температуры&lt;br /&gt;
        $payload['value'] = gg($device1['LINKED_OBJECT'] . '.currentTargetValue');&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', json_encode($payload));&lt;br /&gt;
        // Установка характеристики для текущего состояния обогрева/охлаждения&lt;br /&gt;
        $payload['characteristic'] = 'CurrentHeatingCoolingState'; //off = 0, heat = 1, and cool = 2, auto = 3&lt;br /&gt;
        if (!gg($device1['LINKED_OBJECT'] . '.disabled')) {&lt;br /&gt;
            if (gg($device1['LINKED_OBJECT'] . '.status')) {&lt;br /&gt;
                // Если термостат включен, устанавливаем значение 1 (нагрев)&lt;br /&gt;
                $payload['value'] = 1;&lt;br /&gt;
            } else {&lt;br /&gt;
                // Если термостат выключен, устанавливаем значение 2 (охлаждение)&lt;br /&gt;
                $payload['value'] = 2;&lt;br /&gt;
            }&lt;br /&gt;
        } else {&lt;br /&gt;
            // Если термостат отключен, устанавливаем значение 0 (выключено)&lt;br /&gt;
            $payload['value'] = 0;&lt;br /&gt;
        }&lt;br /&gt;
        break;&lt;br /&gt;
        /*&lt;br /&gt;
    // Если тип устройства - датчик батареи&lt;br /&gt;
case 'sensor_battery':&lt;br /&gt;
    // Установка сервиса для датчика батареи&lt;br /&gt;
    $payload['service']='BatteryService'; &lt;br /&gt;
    // Добавление датчика батареи в Homebridge&lt;br /&gt;
    sg('HomeBridge.to_add',json_encode($payload)); &lt;br /&gt;
    // Характеристика для уровня заряда батареи&lt;br /&gt;
    // Characteristic.BatteryLevel; &lt;br /&gt;
    // Характеристика для состояния зарядки&lt;br /&gt;
    // Characteristic.ChargingState; 0 - NOT_CHARGING, 1 - CHARGING, 2 - NOT_CHARGEABLE &lt;br /&gt;
    // Характеристика для состояния низкого уровня батареи&lt;br /&gt;
    // Characteristic.StatusLowBattery; &lt;br /&gt;
    // Установка характеристики для уровня заряда батареи&lt;br /&gt;
    $payload['characteristic'] = 'BatteryLevel'; &lt;br /&gt;
    // Получение значения уровня заряда батареи&lt;br /&gt;
    $payload['value']=gg($device1['LINKED_OBJECT'].'.value'); &lt;br /&gt;
    // Отправка данных в Homebridge&lt;br /&gt;
    sg('HomeBridge.to_set',json_encode($payload)); &lt;br /&gt;
&lt;br /&gt;
    // Установка характеристики для состояния зарядки&lt;br /&gt;
    $payload['characteristic'] = 'ChargingState'; &lt;br /&gt;
    // Установка значения для состояния зарядки (2 - NOT_CHARGEABLE)&lt;br /&gt;
    $payload['value']=2; &lt;br /&gt;
    // Отправка данных в Homebridge&lt;br /&gt;
    sg('HomeBridge.to_set',json_encode($payload)); &lt;br /&gt;
&lt;br /&gt;
    // Установка характеристики для состояния низкого уровня батареи&lt;br /&gt;
    $payload['characteristic'] = 'StatusLowBattery'; &lt;br /&gt;
    // Установка значения в зависимости от нормального значения батареи&lt;br /&gt;
    $payload['value']=gg($device1['LINKED_OBJECT'].'.normalValue') ? 0 : 1; &lt;br /&gt;
    // Отправка данных в Homebridge&lt;br /&gt;
    sg('HomeBridge.to_set',json_encode($payload)); &lt;br /&gt;
&lt;br /&gt;
    break;&lt;br /&gt;
    */&lt;br /&gt;
        // Если тип устройства не соответствует ни одному из предыдущих случаев&lt;br /&gt;
    default:&lt;br /&gt;
        // Формирование пути к дополнению для обработки данного типа устройства&lt;br /&gt;
        $addon_path = dirname(__FILE__) . '/addons/' . $device1['TYPE'] . '_homebridgeSendUpdate.php';&lt;br /&gt;
        // Проверка существования файла дополнения&lt;br /&gt;
        if (file_exists($addon_path)) {&lt;br /&gt;
            // Подключение файла дополнения для обработки данного типа устройства&lt;br /&gt;
            require($addon_path);&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
// Проверка наличия сервиса в массиве $payload&lt;br /&gt;
if (isset($payload['service'])) {&lt;br /&gt;
    // Формирование имени ключа для кэша&lt;br /&gt;
    $hmName = 'hmb:' . $payload['name'];&lt;br /&gt;
    // Кодирование данных $payload в формате JSON&lt;br /&gt;
    $payload_encoded = json_encode($payload);&lt;br /&gt;
    // Вычисление хеш-кода данных $payload&lt;br /&gt;
    $hmValue = md5($payload_encoded);&lt;br /&gt;
    // Сравнение хеш-кода данных $payload с хеш-кодом из кэша&lt;br /&gt;
    if (checkFromCache($hmName) != $hmValue) {&lt;br /&gt;
        // Если хеш-коды не совпадают, сохраняем новый хеш-код в кэш&lt;br /&gt;
        saveToCache($hmName, $hmValue);&lt;br /&gt;
        // Если включена отладка, выводим сообщение для отладки&lt;br /&gt;
        if ($debug_sync) {&lt;br /&gt;
            DebMes(&amp;quot;MQTT to_set : &amp;quot; . $payload_encoded, 'homebridge');&lt;br /&gt;
        }&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', $payload_encoded);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
// Проверка наличия сервиса во втором массиве $payload2&lt;br /&gt;
if (isset($payload2['service'])) {&lt;br /&gt;
    // Формирование имени ключа для кэша&lt;br /&gt;
    $hmName = 'hmb:' . $payload2['name'];&lt;br /&gt;
    // Кодирование данных $payload2 в формате JSON&lt;br /&gt;
    $payload2_encoded = json_encode($payload2);&lt;br /&gt;
    // Вычисление хеш-кода данных $payload2&lt;br /&gt;
    $hmValue = md5($payload2_encoded);&lt;br /&gt;
    // Сравнение хеш-кода данных $payload2 с хеш-кодом из кэша&lt;br /&gt;
    if (checkFromCache($hmName) != $hmValue) {&lt;br /&gt;
        // Если хеш-коды не совпадают, сохраняем новый хеш-код в кэш&lt;br /&gt;
        saveToCache($hmName, $hmValue);&lt;br /&gt;
        // Если включена отладка, выводим сообщение для отладки&lt;br /&gt;
        if ($debug_sync) {&lt;br /&gt;
            DebMes(&amp;quot;MQTT to_set : &amp;quot; . $payload2_encoded, 'homebridge');&lt;br /&gt;
        }&lt;br /&gt;
        // Отправка данных в Homebridge&lt;br /&gt;
        sg('HomeBridge.to_set', $payload2_encoded);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Elmax</name></author>
	</entry>
</feed>