Страница 8 из 8

Re: [Железо] Tion MagicAir - Интеграция с облаком (Неофициальное API)

Добавлено: Ср янв 01, 2020 5:12 pm
deemjd
VAD07 писал(а):
Пн дек 30, 2019 7:37 am
Я вам давал примеры куда копать чтобы все заработало. Прямо сейчас по этим примера написал себе код - все работает. Включается авторежим, включается ручной. Все срабатывает. У меня Tion O2 + MA.

Вот мой код для запроса данных:

Код: Выделить всё

$token = getGlobal('TionMagicAir.access_token');
$data = TionGetData($token);
echo '<pre>';
print_r($data);// выводим данные для диагностики;
echo '</pre>';
SetGlobal('TionMagicAir.CO2', $data['zones'][1]['devices'][0]['data']['co2']);
SetGlobal('TionMagicAir.temperature', $data['zones'][1]['devices'][0]['data']['temperature']);
SetGlobal('TionMagicAir.humidity', $data['zones'][1]['devices'][0]['data']['humidity']);
SetGlobal('TionMagicAir.t_in', $data['zones'][1]['devices'][1]['data']['t_in']);
SetGlobal('TionMagicAir.t_set', $data['zones'][1]['devices'][1]['data']['t_set']);
SetGlobal('TionMagicAir.t_out', $data['zones'][1]['devices'][1]['data']['t_out']);
SetGlobal('TionMagicAir.device_guid', $data['zones'][1]['devices'][1]['guid']);
SetGlobal('TionMagicAir.zone_guid', $data['zones'][1]['guid']);

SetGlobal('Sensor_general01.value', $data['zones'][1]['devices'][0]['data']['co2']);
SetGlobal('Sensor_temphum04.value', $data['zones'][1]['devices'][0]['data']['temperature']);
SetGlobal('Sensor_temphum04.valueHumidity', $data['zones'][1]['devices'][0]['data']['humidity']);
SetGlobal('Sensor_temp05.value', $data['zones'][1]['devices'][1]['data']['t_in']);
SetGlobal('Sensor_temp06.value', $data['zones'][1]['devices'][1]['data']['t_out']);
Код для управления:

Код: Выделить всё

$device_guid = getGlobal('TionMagicAir.device_guid');
$zone_guid = getGlobal('TionMagicAir.zone_guid');
$token = getGlobal('TionMagicAir.access_token');
$result_zone = TionSetMode($token, 'zone', $zone_guid, '{"mode":"auto","co2":750}');
$result_device = TionSetMode($token, 'device', $device_guid, '{"speed":3,"t_set":21,"is_on":true,"heater_enabled":true,"speed_min_set":1,"speed_max_set":4}');

echo '<pre>';
print_r($result_device); // выводим данные для диагностики;
echo 'Данные зоны<br>';
print_r($result_zone); // выводим данные для диагностики;
echo '</pre>';
Сначала в коде нужно управлятье зоной (контроллер MagicAir) затем бризером (device). Это нужно потому что если вы в зоне ставите manual, то нужно передать данные бризеру по каким конкретно настройкам работать.

Если написать "mode":"auto" то включается авто режим, если "mode":"manual" то ручной.
В авто режиме для device можно задавать настройки ограничения скорости, которые работают в авторежиме у бризера "speed_min_set":0,"speed_max_set":4

Re: [Железо] Tion MagicAir - Интеграция с облаком (Неофициальное API)

Добавлено: Ср янв 01, 2020 7:21 pm
VAD07
deemjd писал(а):
Ср янв 01, 2020 5:12 pm
VAD07 писал(а):
Пн дек 30, 2019 7:37 am
Я вам давал примеры куда копать чтобы все заработало. Прямо сейчас по этим примера написал себе код - все работает. Включается авторежим, включается ручной. Все срабатывает. У меня Tion O2 + MA.

Вот мой код для запроса данных:

Код: Выделить всё

$token = getGlobal('TionMagicAir.access_token');
$data = TionGetData($token);
echo '<pre>';
print_r($data);// выводим данные для диагностики;
echo '</pre>';
SetGlobal('TionMagicAir.CO2', $data['zones'][1]['devices'][0]['data']['co2']);
SetGlobal('TionMagicAir.temperature', $data['zones'][1]['devices'][0]['data']['temperature']);
SetGlobal('TionMagicAir.humidity', $data['zones'][1]['devices'][0]['data']['humidity']);
SetGlobal('TionMagicAir.t_in', $data['zones'][1]['devices'][1]['data']['t_in']);
SetGlobal('TionMagicAir.t_set', $data['zones'][1]['devices'][1]['data']['t_set']);
SetGlobal('TionMagicAir.t_out', $data['zones'][1]['devices'][1]['data']['t_out']);
SetGlobal('TionMagicAir.device_guid', $data['zones'][1]['devices'][1]['guid']);
SetGlobal('TionMagicAir.zone_guid', $data['zones'][1]['guid']);

SetGlobal('Sensor_general01.value', $data['zones'][1]['devices'][0]['data']['co2']);
SetGlobal('Sensor_temphum04.value', $data['zones'][1]['devices'][0]['data']['temperature']);
SetGlobal('Sensor_temphum04.valueHumidity', $data['zones'][1]['devices'][0]['data']['humidity']);
SetGlobal('Sensor_temp05.value', $data['zones'][1]['devices'][1]['data']['t_in']);
SetGlobal('Sensor_temp06.value', $data['zones'][1]['devices'][1]['data']['t_out']);
Код для управления:

Код: Выделить всё

$device_guid = getGlobal('TionMagicAir.device_guid');
$zone_guid = getGlobal('TionMagicAir.zone_guid');
$token = getGlobal('TionMagicAir.access_token');
$result_zone = TionSetMode($token, 'zone', $zone_guid, '{"mode":"auto","co2":750}');
$result_device = TionSetMode($token, 'device', $device_guid, '{"speed":3,"t_set":21,"is_on":true,"heater_enabled":true,"speed_min_set":1,"speed_max_set":4}');

echo '<pre>';
print_r($result_device); // выводим данные для диагностики;
echo 'Данные зоны<br>';
print_r($result_zone); // выводим данные для диагностики;
echo '</pre>';
Сначала в коде нужно управлятье зоной (контроллер MagicAir) затем бризером (device). Это нужно потому что если вы в зоне ставите manual, то нужно передать данные бризеру по каким конкретно настройкам работать.

Если написать "mode":"auto" то включается авто режим, если "mode":"manual" то ручной.
В авто режиме для device можно задавать настройки ограничения скорости, которые работают в авторежиме у бризера "speed_min_set":0,"speed_max_set":4
С наступившим новым годом. Спасибо все получилось. еще не подскажете за что отвечает "gate":2 у Aven в примерах пробовал с ним и без него вроде ничего не меняется!?

Код: Выделить всё

//$result = TionSetMode($token, 'device', $device_guid, '{"speed":6,"t_set":20,"is_on":true,"heater_enabled":true,"speed_min_set":0,"speed_max_set":6,"gate":2}');

Re: [Железо] Tion MagicAir - Интеграция с облаком (Неофициальное API)

Добавлено: Ср янв 01, 2020 7:25 pm
VAD07
VAD07 писал(а):
Ср янв 01, 2020 7:21 pm
deemjd писал(а):
Ср янв 01, 2020 5:12 pm
VAD07 писал(а):
Пн дек 30, 2019 7:37 am
Я вам давал примеры куда копать чтобы все заработало. Прямо сейчас по этим примера написал себе код - все работает. Включается авторежим, включается ручной. Все срабатывает. У меня Tion O2 + MA.

Вот мой код для запроса данных:

Код: Выделить всё

$token = getGlobal('TionMagicAir.access_token');
$data = TionGetData($token);
echo '<pre>';
print_r($data);// выводим данные для диагностики;
echo '</pre>';
SetGlobal('TionMagicAir.CO2', $data['zones'][1]['devices'][0]['data']['co2']);
SetGlobal('TionMagicAir.temperature', $data['zones'][1]['devices'][0]['data']['temperature']);
SetGlobal('TionMagicAir.humidity', $data['zones'][1]['devices'][0]['data']['humidity']);
SetGlobal('TionMagicAir.t_in', $data['zones'][1]['devices'][1]['data']['t_in']);
SetGlobal('TionMagicAir.t_set', $data['zones'][1]['devices'][1]['data']['t_set']);
SetGlobal('TionMagicAir.t_out', $data['zones'][1]['devices'][1]['data']['t_out']);
SetGlobal('TionMagicAir.device_guid', $data['zones'][1]['devices'][1]['guid']);
SetGlobal('TionMagicAir.zone_guid', $data['zones'][1]['guid']);

SetGlobal('Sensor_general01.value', $data['zones'][1]['devices'][0]['data']['co2']);
SetGlobal('Sensor_temphum04.value', $data['zones'][1]['devices'][0]['data']['temperature']);
SetGlobal('Sensor_temphum04.valueHumidity', $data['zones'][1]['devices'][0]['data']['humidity']);
SetGlobal('Sensor_temp05.value', $data['zones'][1]['devices'][1]['data']['t_in']);
SetGlobal('Sensor_temp06.value', $data['zones'][1]['devices'][1]['data']['t_out']);
Код для управления:

Код: Выделить всё

$device_guid = getGlobal('TionMagicAir.device_guid');
$zone_guid = getGlobal('TionMagicAir.zone_guid');
$token = getGlobal('TionMagicAir.access_token');
$result_zone = TionSetMode($token, 'zone', $zone_guid, '{"mode":"auto","co2":750}');
$result_device = TionSetMode($token, 'device', $device_guid, '{"speed":3,"t_set":21,"is_on":true,"heater_enabled":true,"speed_min_set":1,"speed_max_set":4}');

echo '<pre>';
print_r($result_device); // выводим данные для диагностики;
echo 'Данные зоны<br>';
print_r($result_zone); // выводим данные для диагностики;
echo '</pre>';
Сначала в коде нужно управлятье зоной (контроллер MagicAir) затем бризером (device). Это нужно потому что если вы в зоне ставите manual, то нужно передать данные бризеру по каким конкретно настройкам работать.

Если написать "mode":"auto" то включается авто режим, если "mode":"manual" то ручной.
В авто режиме для device можно задавать настройки ограничения скорости, которые работают в авторежиме у бризера "speed_min_set":0,"speed_max_set":4
С наступившим новым годом. Спасибо все получилось. еще не подскажете за что отвечает "gate":2 у Aven в примерах пробовал с ним и без него вроде ничего не меняется!?

Код: Выделить всё

//$result = TionSetMode($token, 'device', $device_guid, '{"speed":6,"t_set":20,"is_on":true,"heater_enabled":true,"speed_min_set":0,"speed_max_set":6,"gate":2}');
нашел "gate" отвечает за режим забора воздуха 0 из комнаты, 1 смешанный, 2 с улицы.
если нагреватель включен он не дает включать режимы забора воздуха 0 и 1

Re: [Железо] Tion MagicAir - Интеграция с облаком (Неофициальное API)

Добавлено: Ср янв 01, 2020 11:21 pm
VAD07
мало ли кому пригодится: run_seconds Время наработки в секундах, filter_time_seconds до замены фильтра осталось в секундах.
перевел в дни с помощью кода

Код: Выделить всё

$run_seconds = $this->getProperty('run_seconds');
$second="87840";
$run_day1 = ($run_seconds/$second);
$run_day = round($run_day1);
$this->setProperty('run_day',$run_day);
не ругайте еще учусь)))