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

Работа с конкретным оборудованием

Модераторы: immortal, newz20

Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Пн ноя 12, 2018 11:38 pm

Изображение

MagicAir — это система мониторинга качества воздуха и управления климатической техникой. Управляющий центр системы — базовая станция MagicAir. Компактный гаджет поможет сделать микроклимат комфортным и сэкономить ресурсы на работе климатических приборов.

Стоимость устройства - 9990 рублей.
Бризер не является обязательным.

----------------------------------------------------------------------

С помощью библиотеки вы сможете считывать данные переданные устройством из облака и управлять бризерами.
Работа реализована в 2 шага:
1. Получение SID-токена
2. Получение данных из облака или отправка команды

1 пункт не обязательно выполнять перед каждым запросом данных 2 пункта или отправки команды, это значительно ускорит выполнение и снизит нагрузку на сервер.

Получение токена и получение текущих данных о текущем уровне CO2:

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

$data = TionGetAuthToken('ЛОГИН', 'ПАРОЛЬ');
$token = $data['access_token'];

$data = TionGetData($token);
SetGlobal('tion.co2', $data['zones'][1]['devices'][0]['data']['co2']);
Информации возвращается очень много, просто подправьте путь, для вытаскивания нужной:
СпойлерПоказать

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

Array
(
    [guid] => a1349e39-44c5-4784-8e36-0e4b1823c5c8
    [name] => Дом
    [comment] =>
    [timezone] => 14400
    [type] => flat
    [access_level] => owner
    [repository] => production
    [mac] => 06:30:19:38:3A:51
    [connection] => Array
        (
            [state] => connected
            [is_online] => 1
            [last_seen_iso] => 2018-11-16T16:45:53.2973821Z
            [last_seen] => 1542386753
            [last_packet_time_iso] => 2018-11-16T16:45:53.2973821Z
            [last_packet_time] => 1542386753
            [data_state] => valid
            [last_seen_delta] => 0
        )

    [update] => Array
        (
            [state] => no
            [device_type] => unknown
            [mac] => 0
            [mac_human] => 00:00:00:00:00:00
            [progress] => 0
        )

    [unique_key] => 9a0883a4-0c56-443f-83ee-1c28f86d5069
    [replace_in_progress] =>
    [struct_received] => 1
    [order] => 0
    [zones] => Array
        (
            [0] => Array
                (
                    [guid] => 1294a178-5be4-456c-a2f1-5dedc1f877b8
                    [name] =>
                    [type] => unkown
                    [color] =>
                    [is_virtual] => 1
                    [mode] => Array
                        (
                            [current] => off
                            [auto_set] => Array
                                (
                                    [co2] => 0
                                    [temperature] => 0
                                    [humidity] => 0
                                    [noise] => 0
                                    [pm25] => 0
                                    [pm10] => 0
                                )

                        )

                    [schedule] => Array
                        (
                            [is_schedule_sync] => 1
                            [is_active] =>
                            [is_mode_sync] =>
                            [current_preset] => Array
                                (
                                )

                            [next_preset_starts_at] => 0
                            [next_starts_iso] => 1970-01-01T00:00:00.0000000Z
                        )

                    [sensors_average] => Array
                        (
                            [0] => Array
                                (
                                    [data_type] => co2th
                                    [have_sensors] => Array
                                        (
                                        )

                                    [data] => Array
                                        (
                                            [co2] => NaN
                                            [temperature] => NaN
                                            [humidity] => NaN
                                            [pm25] => NaN
                                            [pm10] => NaN
                                            [radon] => 0
                                            [measurement_time_iso] => 2018-11-16T16:45:55.0000000
                                            [measurement_time] => 1542386755
                                        )

                                )

                        )

                    [hw_id] => 0
                    [devices] => Array
                        (
                        )

                    [order] => 1
                    [creation_time_iso] => 2017-10-24T16:20:19.1922484Z
                    [creation_time] => 1508862019
                    [update_time_iso] => 2017-10-24T16:20:19.1922484Z
                    [update_time] => 1508862019
                )

            [1] => Array
                (
                    [guid] => d7c682ec-630e-4a54-89dd-09accfa84f60
                    [name] => Спальня
                    [type] => unkown
                    [color] => 00ccff
                    [is_virtual] =>
                    [mode] => Array
                        (
                            [current] => manual
                            [auto_set] => Array
                                (
                                    [co2] => 900
                                    [temperature] => 0
                                    [humidity] => 0
                                    [noise] => 0
                                    [pm25] => 0
                                    [pm10] => 0
                                )

                        )

                    [schedule] => Array
                        (
                            [is_schedule_sync] => 1
                            [is_active] => 1
                            [is_mode_sync] => 1
                            [current_preset] => Array
                                (
                                    [preset_id] => 7f984836-2ede-4464-aa4c-41183fff3088
                                    [name] => День
                                    [icon] => 1
                                    [starts_at] => 1542409200
                                )

                            [next_preset_starts_at] => 1542409200
                            [next_starts_iso] => 2018-11-16T23:00:00.0000000Z
                        )

                    [sensors_average] => Array
                        (
                            [0] => Array
                                (
                                    [data_type] => co2th
                                    [have_sensors] => Array
                                        (
                                            [0] => temperature
                                            [1] => humidity
                                            [2] => co2
                                        )

                                    [data] => Array
                                        (
                                            [co2] => 764
                                            [temperature] => 23.08
                                            [humidity] => 20.34
                                            [pm25] => NaN
                                            [pm10] => NaN
                                            [radon] => 0
                                            [measurement_time_iso] => 2018-11-16T16:45:55.0000000
                                            [measurement_time] => 1542386755
                                        )

                                )

                        )

                    [hw_id] => 65270552
                    [devices] => Array
                        (
                            [0] => Array
                                (
                                    [guid] => 4ee03733-aff6-46e2-acd4-5dccfdf72ec2
                                    [name] => MagicAir
                                    [type] => co2mb
                                    [subtype_d] => 32769
                                    [control_type] => self
                                    [mac] => 06:30:19:38:3A:51
                                    [mac_long] => 89310491127814
                                    [is_online] => 1
                                    [last_seen_delta] => 0
                                    [zone_hwid] => 65270552
                                    [serial_number] =>
                                    [order] => 0
                                    [data] => Array
                                        (
                                            [status] => application
                                            [wi-fi] => 120
                                            [pairing] => Array
                                                (
                                                    [stage] => off
                                                    [time_left] => 0
                                                    [pairing_result] =>
                                                    [mac] => 00:00:00:00:00:00
                                                    [device_type] => unknown
                                                    [subtype] => 0000
                                                    [subtype_d] => 0
                                                )

                                            [co2] => 764
                                            [temperature] => 23.08
                                            [humidity] => 20.34
                                            [pm25] => NaN
                                            [pm10] => NaN
                                            [signal_level] => 0
                                            [backlight] => 1
                                            [reliability_code] => 0x00000007
                                            [last_seen_iso] => 2018-11-16T16:45:55.0000000
                                            [last_seen] => 1542386755
                                            [measurement_time_iso] => 2018-11-16T16:45:55.0000000
                                            [measurement_time] => 1542386755
                                        )

                                    [firmware] => 03DC
                                    [hardware] => 0001
                                    [creation_time] => 1508862019
                                    [update_time] => 1534754659
                                )

                            [1] => Array
                                (
                                    [guid] => 72a07ff8-6f66-4bd6-9111-6347d1dabc89
                                    [name] => Tion Breezer 3S 1
                                    [type] => breezer3
                                    [subtype_d] => 0
                                    [control_type] => rf
                                    [mac] => 83:9F:7E:D1:16:01
                                    [mac_long] => 1197515644803
                                    [temperature_control] => absolute
                                    [is_online] => 1
                                    [last_seen_delta] => 0
                                    [zone_hwid] => 65270552
                                    [max_speed] => 6
                                    [serial_number] =>
                                    [order] => 1
                                    [data] => Array
                                        (
                                            [status] => application
                                            [is_on] => 1
                                            [data_valid] => 1
                                            [heater_installed] => 1
                                            [heater_enabled] => 1
                                            [speed] => 1
                                            [speed_m3h] => 30
                                            [speed_max_set] => 6
                                            [speed_min_set] => 0
                                            [speed_limit] => 6
                                            [t_in] => 2
                                            [t_set] => 10
                                            [t_out] => 10
                                            [gate] => 2
                                            [run_seconds] => 24322990
                                            [filter_time_seconds] => 30356094
                                            [rc_controlled] =>
                                            [filter_need_replace] =>
                                            [signal_level] => 161
                                            [measurement_time_iso] => 2018-11-16T16:45:55.0000000
                                            [measurement_time] => 1542386755
                                            [errors] => Array
                                                (
                                                    [code] => 0x00000000
                                                    [list] => Array
                                                        (
                                                        )

                                                )

                                        )

                                    [firmware] => 0033
                                    [hardware] => 0001
                                    [t_max] => 30
                                    [t_min] => 0
                                    [creation_time] => 1508863973
                                    [update_time] => 1532403239
                                )

                        )

                    [order] => 2
                    [creation_time_iso] => 2017-10-24T16:36:17.0540257Z
                    [creation_time] => 1508862977
                    [update_time_iso] => 2017-10-24T16:36:17.0540257Z
                    [update_time] => 1508862977
                )

        )

    [creation_time_iso] => 2017-10-24T16:17:24.0436868Z
    [creation_time] => 1508861844
    [update_time_iso] => 2017-10-24T16:51:43.8750983Z
    [update_time] => 1508863903
)
Включение режима автоматического поддержания уровня CO2:

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

$zone_guid = 'd7c622ec-630e-4a54-86dd-09accfa84f60';
TionSetMode($token, 'zone', $zone_guid, '{"mode":"auto","co2":900}');
Ручное управление бризером:

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

$device_guid = '72a17ff8-6f66-4bd6-9111-6947d1dabc89';
$result = TionSetMode($token, 'device', $device_guid, '{"speed":2,"t_set":10,"is_on":true,"heater_enabled":true,"speed_min_set":0,"speed_max_set":6,"gate":2}');
Вложения
tion.zip
(687 байт) 323 скачивания
Последний раз редактировалось Aven Пт ноя 16, 2018 7:51 pm, всего редактировалось 1 раз.
За это сообщение автора Aven поблагодарили (всего 5):
skysilver (Пн ноя 12, 2018 11:47 pm) • Albert (Вт ноя 13, 2018 6:50 am) • directman66 (Чт ноя 15, 2018 6:42 am) • nicusor (Чт мар 14, 2019 1:52 am) • ZeD (Пн мар 01, 2021 10:32 pm)
Рейтинг: 5.81%
Albert
Сообщения: 57
Зарегистрирован: Чт янв 26, 2017 7:08 pm
Благодарил (а): 40 раз
Поблагодарили: 4 раза

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

Сообщение Albert » Вт ноя 13, 2018 6:51 am

Спасибо! Главное чтоб тионовцы не зарубили эту возможность.
И если можно поподробнее куда и что вводить и как.
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Ср ноя 14, 2018 8:08 pm

Распаковать библиотеку в папку lib. Создать класс, объект - tion, свойство - co2
Создать скрипт ReceiveTionData, поместить в него код, исправив учетные данные:

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

$data = TionGetAuthToken('ЛОГИН', 'ПАРОЛЬ');
$token = $data['access_token'];

$data = TionGetData($token);
SetGlobal('tion.co2', $data['zones'][1]['devices'][0]['data']['co2']);
Что бы скрипт запрашивал данные каждую минуту в onNewMinute вписать:

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

RunScript('ReceiveTionData'); 
За это сообщение автора Aven поблагодарил:
Albert (Чт ноя 15, 2018 9:45 pm)
Рейтинг: 1.16%
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Пн янв 21, 2019 7:18 am

Нужно модулем оформить. Пользуется кто-нибудь?
За это сообщение автора directman66 поблагодарил:
kas5858 (Вт ноя 17, 2020 7:34 pm)
Рейтинг: 1.16%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Albert
Сообщения: 57
Зарегистрирован: Чт янв 26, 2017 7:08 pm
Благодарил (а): 40 раз
Поблагодарили: 4 раза

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

Сообщение Albert » Пн янв 21, 2019 12:21 pm

Конечно пользуются и удобно было бы с модулем. Только запрашивать надо не очень часто SID-токена. Так как он активен более 2 недель. У себя настроил раз в неделю. И если часто его запрашивать, то Тион блокирует временно учетную запись.
ПавелГ
Сообщения: 16
Зарегистрирован: Вс ноя 26, 2017 2:26 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение ПавелГ » Чт сен 12, 2019 12:44 am

Модуль надо конечно, классно завязать с герконом на окне
Aven
Сообщения: 529
Зарегистрирован: Сб мар 12, 2016 6:33 pm
Откуда: Ухта, Россия
Благодарил (а): 3 раза
Поблагодарили: 154 раза

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

Сообщение Aven » Чт сен 12, 2019 8:01 am

И без модуля за 5 минут все делается
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Чт сен 12, 2019 9:57 am

Возможно будет модуль. Есть запрос на коммерческую инсталляцию.
За это сообщение автора directman66 поблагодарил:
nicusor (Чт сен 12, 2019 10:16 am)
Рейтинг: 1.16%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
ПавелГ
Сообщения: 16
Зарегистрирован: Вс ноя 26, 2017 2:26 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение ПавелГ » Сб сен 14, 2019 4:57 pm

directman66 писал(а):
Чт сен 12, 2019 9:57 am
Возможно будет модуль. Есть запрос на коммерческую инсталляцию.
что это значит?
ПавелГ
Сообщения: 16
Зарегистрирован: Вс ноя 26, 2017 2:26 pm
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение ПавелГ » Сб сен 14, 2019 5:59 pm

пацаны а $token = $data['access_token']; в ответе нет access_token
Ответить