Плагин HTTP-Client



  • Добрый день, ответили в личку 😉



  • Добрый день, доступно обновление плагина, версия 0.0.14

    • исправлена отправка команды set


  • А как-нибудь можно выбрать кодировку запроса?

    Пытаюсь экспериментировать с отправкой SMS через SMS.RU, отправляю русский текст через HTTP-GET запрос, а получаю по SMS кракозябры



  • @dev:

    Добрый день, доступно обновление плагина, версия 0.0.14

    • исправлена отправка команды set

    Проверил - работает отлично!



  • @gis:

    @dev:

    Добрый день, доступно обновление плагина, версия 0.0.14

    • исправлена отправка команды set

    Проверил - работает отлично!

    Добрый день, отлично 😉



  • @dev:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    
    


  • @Alex_Jet:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    > OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    > 
    

    Попробуйте так: Регулярное выражение

    ([^\;]*)\;
    
    

    Флаг: gm

    Элемент массива: 9



  • @intrapro:

    @Alex_Jet:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    > > OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    > > 
    

    Попробуйте так: Регулярное выражение

    > ([^\;]*)\;
    > 
    

    Флаг: gm

    Элемент массива: 9

    Увы, но не вышло… почему-то разбирает всегда 0 канал (["OFF/128;","OFF/128"]) при разных значениях в поле "Элемент массива".

    Еще у меня есть два вопроса:

    1. Почему когда период опроса ставишь 0, то опрос не отключается?

    2. Вы не думали над идеей привязывать данные каналов не только к самим устройствам (dval), а к их возможным параметрам, которые будут отображаться на вкладке "Параметры" в боковом меню устройства?



  • @Alex_Jet:

    @intrapro:

    @Alex_Jet:

    Коллеги! Ради интереса расскажите какое регулярное выражение нужно для HTTP-плагина чтобы "распарсить", например, 8-й канал MegaD, имея строку вида, сам не смог его сделать…

    > > > OFF/91;OFF/41;OFF/23;OFF/20;OFF/247;OFF/28;OFF/0;OFF;OFF;ON;OFF;OFF;OFF;ON;OFF;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF/0;OFF;ON;OFF;OFF;OFF;OFF;OFF;OFF;temp:5.37;temp:2.12;OFF;;OFF;temp:26.50/hum:34.00;OFF;OFF
    > > > 
    

    Попробуйте так: Регулярное выражение

    > > ([^\;]*)\;
    > > 
    

    Флаг: gm

    Элемент массива: 9

    Увы, но не вышло… почему-то разбирает всегда 0 канал (["OFF/128;","OFF/128"]) при разных значениях в поле "Элемент массива".

    Еще у меня есть два вопроса:

    1. Почему когда период опроса ставишь 0, то опрос не отключается?

    2. Вы не думали над идеей привязывать данные каналов не только к самим устройствам (dval), а к их возможным параметрам, которые будут отображаться на вкладке "Параметры" в боковом меню устройства?

    Добрый день, мы добавим 4 тип парсера, где можно будет прописать произвольный код на JS 😉



  • @Alex_Jet:

    2. Вы не думали над идеей привязывать данные каналов не только к самим устройствам (dval), а к их возможным параметрам, которые будут отображаться на вкладке "Параметры" в боковом меню устройства?

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



  • А не научите как забирать данные о погоде отсюда - https://weather.com/ru-RU/weather/today?



  • @Alex_Jet:

    А не научите как забирать данные о погоде отсюда - https://weather.com/ru-RU/weather/today?

    Интересный ресурс.

    У них есть API. Сначала открываете карту: https://www.wunderground.com/wundermap?lat=37.769699&lon=-122.393303&zoom=10&type=terrain&tl.play=0&tl.spd=2&extremes=0&fault=0&femaflood=0&fire=0&firewfas=0&fissures=0&fronts=0&hurrevac=0&hur=0&lightning=0&livesurge=0&mm=0&ndfd=0&rad=1&rad.num=1&rad.spd=25&rad.opa=81&rad.type=00Q&rad.type2=&rad.smo=1&rad.stm=0&dir=1&dir.mode=driving&sst=0&sat=0&seismicrisk=0&svr=0&ski=0&snowfall=0&stormreports=0&tor=0&tfk=0&tsunami=0&riv=0&wxsn=1&wxsn.mode=temp&wxsn.opa=50&wxsn.bcdgtemp=0&wxsn.rf=1&cams=0&pix=0

    Выбираете ближайшую или интересующую погодную станцию: https://www.wunderground.com/dashboard/pws/IFIRSANO5

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

    https://api.weather.com/v2/pws/observations/current?apiKey=6532d6454b8aa370768e63d6ba5a832e&stationId=IFIRSANO5&format=json&units=e

    Судя по всему данные практически в реальном времени там обновляются



  • Интересный ресурс.

    У них есть API. Сначала открываете карту: https://www.wunderground.com/wundermap?

    Так интересный ресурс weather.com или wunderground.com? Первый показывает погоду для моего месторазмещения лучше всего, но как получить с него данные - вопрос! Второй показывает единственную станцию примерно в 15 км от моего месторасположения, поэтому не катит…



  • @Alex_Jet:

    Интересный ресурс.

    У них есть API. Сначала открываете карту: https://www.wunderground.com/wundermap?

    Так интересный ресурс weather.com или wunderground.com? Первый показывает погоду для моего месторазмещения лучше всего, но как получить с него данные - вопрос! Второй показывает единственную станцию примерно в 15 км от моего месторасположения, поэтому не катит…

    Так посмотрите API, он идет на weather.com это единый проект. Текущее местоположение скорее всего приравнивается к ближайшей станции. Они же не могут в каждом квартале иметь станцию



  • Здравствуйте.

    Повесил PTZ камеру, хочу реализовать управление.

    вариант 1, реализовать через NVR Shinobi.

    У него есть API, в котором такая информация.

    http://xxx.xxx.xxx.xxx/[API KEY]/control/[GROUP KEY]/[MONITOR ID]/[ACTION]

    center

    up

    down

    left

    right

    enable_nv

    disable_nv

    zoom_in

    zoom_out

    Как сделать при помощи плагина кнопки вправо=влево-вверх-вниз?

    Вариант 2. Стандартное управление через ONVIF.

    Вдруг вы умеете посылать нужные команды HTTP на порт Onvif?



  • @Erik:

    Здравствуйте.

    Повесил PTZ камеру, хочу реализовать управление.

    вариант 1, реализовать через NVR Shinobi.

    У него есть API, в котором такая информация.

    http://xxx.xxx.xxx.xxx/[API KEY]/control/[GROUP KEY]/[MONITOR ID]/[ACTION]

    center

    up

    down

    left

    right

    enable_nv

    disable_nv

    zoom_in

    zoom_out

    Как сделать при помощи плагина кнопки вправо=влево-вверх-вниз?

    Вариант 2. Стандартное управление через ONVIF.

    Вдруг вы умеете посылать нужные команды HTTP на порт Onvif?

    По первому варианту: создаете сценарий в котором только http-get запрос с нужной функцией, на мнемосхеме привязываете его к примитиву "кнопка". Единственная проблема - придется много раз в нее нажимать, чтобы двигать камеру. Не реализована функция "зажать и держать, чтобы нажатие повторялось". Может разработчики с этим что-то придумают? У меня такая же беда при управлении громкостью по ИК



  • @homa:

    По первому варианту: создаете сценарий в котором только http-get запрос с нужной функцией, на мнемосхеме привязываете его к примитиву "кнопка". Единственная проблема - придется много раз в нее нажимать, чтобы двигать камеру. Не реализована функция "зажать и держать, чтобы нажатие повторялось". Может разработчики с этим что-то придумают? У меня такая же беда при управлении громкостью по ИК

    Спасибо. Длительность нажатия в шиноби регулируется. Можно одним нажатием на 90 градусов поворот сделать. 🙂



  • Добрый вечер! Для создания погодного виджета решил воспользоваться Яндекс.Погода API. Они отдают данные в JSON формате. Создал несколько разных датчиков, разместил на страничке, привязал к каналам. Все замечательно. Но возникла одна проблемка. Данные о направлении ветра и погодных условиях приходят на английском или абревиатурой. Например, n - северный ветер, ne - северо-восточный, или cloudy - облачно. Как можно в зависимости от приходящих данных выводить значение на русском?



  • @int144:

    Добрый вечер! Для создания погодного виджета решил воспользоваться Яндекс.Погода API. Они отдают данные в JSON формате. Создал несколько разных датчиков, разместил на страничке, привязал к каналам. Все замечательно. Но возникла одна проблемка. Данные о направлении ветра и погодных условиях приходят на английском или абревиатурой. Например, n - северный ветер, ne - северо-восточный, или cloudy - облачно. Как можно в зависимости от приходящих данных выводить значение на русском?

    Добрый день, к сожалению для JSON нет предварительной обработки значения, мы обязательно учтем в следующих версиях ваше пожелание, спасибо.



  • А можно из сценария дать команду плагину чтобы он обратился к устройству и callback-ом вернул в переменную сценария значение из body?

    Также как это можно сделать в плагине megad (правда тут всегда ответ done…):

    this.pluginCommand({ unit:"megad4", command:{url:"/sec/?cmd=15:2", onResponse:[{id:"15",value:"TOGGLE"}]} });
    
    

Авторизуйтесь, чтобы ответить