COBECTb пишет:
dnk пишет:

На данный момент у меня есть только пакеты, которые надо отправить как то на RM pro по http, а как это реализовать на JS я не знаю.

модуль request для nodejs легко может отправлять http запросы на RMpro через Bridge


Почитал про модуль request. Уважаемый COBECTb, приведите пожалуйста в качестве примера кусок кода, который читает из файла данные и отправляет их по http.
Я не программист sad
Но на основании какого либо примера смогу построить конструкцию.

COBECTb пишет:
dnk пишет:

На данный момент у меня есть только пакеты, которые надо отправить как то на RM pro по http, а как это реализовать на JS я не знаю.

модуль request для nodejs легко может отправлять http запросы на RMpro через Bridge

Спасибо, попробую.

COBECTb пишет:

Интересная штука, но она зависит HAP-nodejs! Так что проблемы с установкой те же.
Вообще у mqtt огромный потенциал и многие системы умного дома этот протокол поддерживают.

Она проще для понимания. Но да, только подумал что действительно, сначала надо установить HAP-nodejs smile
Сорри что запутал.
По mqtt, интересно, что придуман давным давно небезызвестной фирмой IBM, по моему на заре компьютеров, в 80 годы. И сейчас оказался очень востребован именно на ниве умных домов.
У меня вся периферия умного дома через него работает, все элементы пишут и читают через него. Очень удобно.

Admin пишет:
dnk пишет:

Смотрю тут куча вопросов по установке. Имхо надо создать отдельную ветку, тут вопрос настройки уже установленного и настройка самой системы в целом. Возможно неправ, но последнии две страницы вопрос по установке. Создайте ветку Win10 и nodejs + HAP, например. А тут обсуждать конфиг и настройку.


У вас есть доступ на создание темы.

Я не себя имел ввиду. С установкой приложений у меня нет проблем. Я имел ввиду остальным пользователям, у которых вопросы по установке, вынести их в отдельную тему, а не писать все в одной.

Смотрю тут куча вопросов по установке. Имхо надо создать отдельную ветку, тут вопрос настройки уже установленного и настройка самой системы в целом. Возможно неправ, но последнии две страницы вопрос по установке. Создайте ветку Win10 и nodejs + HAP, например. А тут обсуждать конфиг и настройку.
Совет: Для более быстрой установки воткните в виртуалку Убунту, потренируйтесь на ней, куча мануалов и примеров в сети, ответы есть на все вопросы. СОВЕСТЬ прав, на каждую конфигурацию инструкцию не напишешь в одной ветке.

Теперь по делу:
В процессе тестирования отказался от HAP-nodejs в пользу homekit2mqtt. Настраивается почти мгновенно, самое необходимое есть, инструкция понятна новичку. Попробуйте. Есть нюансы, но они всплывут уже при работе, так что кто дойдет до того, что у него устройства Apple увидят технику умного дома, задавайте вопросы, отвечу на что смогу.
Могу только прорекламировать, что Siri прекрасно работает (Сири, включи свет в детской; Сири выключи свет в спальне в 10 вечера), интерфейс "Дома" отличный, для пользователей. Есть скрипты (выключить весь свет, Я дома и т.п.), есть удаленное (не из дома) управление, все реализовано из коробки. У меня показывают датчики температуры, влажности, открытия/закрытия, управления вентиляторами, светом и т.п.
Единственно до чего не дошли руки, это как во все это интегрировать RM pro. Самое классно конечно снести ему прошивку и установить какую-нить с поддержкой mqtt, чтобы писал и читал оттуда и соответственно исполнял, тогда для кондиционера можно устройство термостат применить, для аудио/видео техники можно реализовать алгоритм одной кнопкой, множество последовательных команд. Но думаю это не реализуемо. А вот как его привязать к HAP или homekit2mqtt у меня идей нет, т.к. его там надо описать как устройство, а я не представляю как. Дилетант.
На данный момент у меня есть только пакеты, которые надо отправить как то на RM pro по http, а как это реализовать на JS я не знаю.

Вопрос решён.
В мобильный клиент надо отдавать целое значение, по крайней мере для этого аксессуара.
И приведу решение:

FAKE_SENSOR.currentTemperature = message.toString();

поменять на

FAKE_SENSOR.currentTemperature = parseInt(message.toString());

Спасибо EvgenyBoger с форума https://forums.contactless.ru за подсказку.

Ну немного поваял, чуть чуть получилось
Вообщем заменил в скрипте температуры блок, который отвечает за генерацию случайных значений. сам скрипт называется так "TemperatureSensor_accessory.js"
Вот что сделал:
Удалил полностью строки кода

 randomizeTemperature: function() {
    // randomize temperature to a value between 0 and 100
    FAKE_SENSOR.currentTemperature = Math.round(Math.random() * 100);
  }

и вместо

// randomize our temperature reading every 3 seconds
setInterval(function() {
  
  FAKE_SENSOR.randomizeTemperature();

вписал

var client = mqtt.connect({ port: 1883, host: '192.168.1.3', keepalive: 10000});
    client.subscribe('/devices/oregon_rx_1d20_d7_1/controls/temperature')
     client.on('message', function (topic, message) {
    console.log(topic, message.toString());          
     FAKE_SENSOR.currentTemperature = message.toString();
//    FAKE_SENSOR.currentTemperature = 55;

В итоге в лог выводит правильно значение температуры с mqtt топика, НО в мобильный клиент не отдает информацию, пишет нет ответа sad
если я закоментирую строку

 FAKE_SENSOR.currentTemperature = message.toString();

и расскоментирую

 FAKE_SENSOR.currentTemperature = 55;

то в мобильный клиент прилетит значение 55.

Что я сделал не так? Почему message.toString() в лог пишется верно, а мобильному не отдает. Какой формат надо сделать?

P.S. Не хватает знаний, помогите.

COBECTb пишет:

Это бесперспективно, я не писатель. я не напишу так чтоб было всем понятно. Кого-то надо учить файлы копировать, а кого-то программировать на javascript.


Установил, все работает, а вот с javascript проблемы sad. Но думаю меня уже не научить, точнее научить, но долго smile

Вопрос такой. в accessories есть шаблоны устройств (надеюсь правильно назвал), мне надо либо создать свои, либо изменить существующие. Что требуется:
Чтобы шаблон (устройство) мог читать и отправлять сообщения в mqtt broker и соответственно менять или принимать изменения от мобильного устройства, это если кратко. Для примера, опять же, если кто знает, OpenHAB может работать через mqtt, куда он отправляет нажатия кнопок и оттуда же считывает состояние датчиков и механизмов. Принцип похож.
Я такое точно на JS не реализую. Потому прошу помощи знающих и понимающих людей. Конечно, можем договорится о размере компенсации, на фриланс пока не пойду обращаться или я в свою очередь расскажу что и как работает у меня более подробно.

vanich пишет:

К стати. Вот еще универсальный вариант для сервера на PHP:

$ip = 'udp://192.168.1.20:80';
if($socket = stream_socket_client($ip, $errno, $errormsg)){
    $data = file_get_contents($file_name);
    fputs($socket, $data);
    fclose($socket);   
}

А можно привести пример данного кода на JavaScript (js), если не сложно. К сожалению правила на устройстве умного дома обрабатываются на этом языке и очень помог бы данный пример на JS.