Ну а всетаки будет ли когда нибудь заявленная в рекламе поддержка китайского 433 МГц оборудования?

Извиняюсь за свою “оперативность”. Не могу выделить время и добраться, на этой неделе постараюсь. Надо результат, т.к. rfsniffer мне кажется более перспективным.

Как я понял, rfsniffer - замена rfm69-linux. Так?
Я потихоньку правлю mqtt_devices.py для поддержки кнопок пультов noolite - изменение яркости, сценарии т.п. (сейчас поддерживается только включение/выключение?)
Проблема в том, что я ну совсем не из этой области, я .NET’чик :slight_smile:
Поэтому реализация идет довольно медленно и кривовато.
Есть смысл дальше этим заниматься (когда есть время) или забить и ждать?

Да, так. Можно не ждать, а брать и пользоваться: https://github.com/contactless/rfsniffer/releases

Спасибо!
Поставил. В /run/wb-homa-rfsniffer.log сообщения появляются.
например вот:

28/01 19:16:38 [2762] RF Received: nooLite:flip=1 cmd=2 addr=1a9f fmt=00 crc=10 __repeat=2 (parsed from 136 lirc_t). RSSI=-86 (-100)
28/01 19:16:39 [2762] RF Received: nooLite:flip=0 cmd=0 addr=1a9f fmt=00 crc=7c __repeat=2 (parsed from 141 lirc_t). RSSI=-84 (-100)
28/01 19:16:39 [2762] RF Received: nooLite:flip=1 cmd=2 addr=1a9f fmt=00 crc=10 __repeat=2 (parsed from 157 lirc_t). RSSI=-89 (-100)

или вот, другой пульт:

28/01 19:21:29 [2762] RF Received: nooLite:flip=0 cmd=4 addr=e19e fmt=00 crc=8d __repeat=2 (parsed from 151 lirc_t). RSSI=-65 (-100)
28/01 19:21:41 [2762] RF Received: nooLite:flip=1 cmd=4 addr=e19e fmt=00 crc=91 __repeat=2 (parsed from 142 lirc_t). RSSI=-68 (-100)
28/01 19:21:47 [2762] RF Received: nooLite:cmd=60 b0=3c type=1 addr=c33c fmt=01 crc=4a (parsed from 132 lirc_t). RSSI=-61 (-100)
28/01 19:21:47 [2762] Msg from nooLite cmd=60 b0=3c type=1 addr=c33c fmt=01 crc=4a

но в MQTT никаких изменений нет.

единственное исключение - датчик движения, он появился с параметром control = There is a movement

noolite_rx_0x1b1c There is a movement alarm (ro) /devices/noolite_rx_0x1b1c/controls/There is a movement 1

Open log file /run/wb-homa-rfsniffer.log
28/01 18:57:21 [31203] ************************************** started **********************************************
28/01 18:57:21 [31203] Using SPI device /dev/spidev32766.0, lirc device /dev/lirc0, mqtt on localhost
28/01 18:57:21 [31203] Error opening device /dev/lirc0
28/01 18:57:21 [31203]  Candidate is: /dev/lircd
28/01 18:57:21 [31203]  Candidate is: /dev/lirc1
28/01 18:57:21 [31203]  Candidate is: /dev/lirc0

unknown_devices_politics - не трогал, стоит show; use_devices_list = false

если я правильно понимаю ваши картинки, то у меня WB 5.6
Подскажите, в какую сторону копать?

Еще один баг. Кнопку можно нажать быстро - тогда в логах появляется сообщение типа

28/01 21:17:00 [5461] RF Received: nooLite:flip=0 cmd=4 addr=ab91 fmt=00 crc=ae __repeat=2 (parsed from 142 lirc_t). RSSI=-84 (-100)
а можно держать долго, тогда будет пара сообщений при нажатии, и еще несколько при отпускании.

Если держать кнопку не очень долго, скажем так треть секунды, тогда в логе появляется две-три записи:

28/01 21:10:44 [5461] RF Received: nooLite:flip=0 cmd=4 addr=ab91 fmt=00 crc=ae __repeat=2 (parsed from 134 lirc_t). RSSI=-85 (-100)
28/01 21:10:44 [5461] Msg from nooLite flip=0 cmd=4 addr=ab91 fmt=00 crc=ae __repeat=2
или вот:
28/01 21:12:12 [5461] RF Received: nooLite:flip=1 cmd=4 addr=ab91 fmt=00 crc=b2 __repeat=2 (parsed from 130 lirc_t). RSSI=-99 (-100)
28/01 21:12:12 [5461] RF Received: nooLite:flip=1 cmd=4 addr=ab91 fmt=00 crc=b2 __repeat=2 (parsed from 56 lirc_t). RSSI=-99 (-100)
28/01 21:12:12 [5461] Msg from nooLite flip=1 cmd=4 addr=ab91 fmt=00 crc=b2 __repeat=2

реакция удивительна: в MQTT появляется топик

noolite_rx_0xab91 There is a movement /devices/noolite_rx_0xab91/controls/There is a movement 0

когда появляется значение 1, а когда 0 я пока не понял. В любом случае, я нажимаю кнопку :slight_smile: это не датчик движения. Баг легко повторяется с разными пультами.
Тем не менее устройства как кнопки в MQTT не появляются.

P.S. Я тут новенький, не все традиции знаю. :slight_smile: Может нужно баг-репорты оформлять отдельными топиками?

Нажатия кнопки посылают сообщения привязки и отвязки. Они принимаются, но никак не обрабатываются, это так и должно быть. В mqtt отправляются только сообщения с полезной информацией.
Возможно у вас датчик, который еще не не поддерживается. (cmd=60 - такого я еще не видел).
Я обновил файл пакета.


Там же описано как делать дамп приходящих пакетов.
Поэтому если есть проблемы именно с информационными пакетами, скиньте, пожалуйста, дамп (и название соответствующего устройства тоже).
Будет очень круто, если на каждый случай будет файлик-два, описание случая и название устройства.

Обновился.
Под кнопками я имел ввиду внешние кнопки для пультов к которым их можно подключить. В моем случае это PK311
Не знаю поменялась ли логика, или я ночью не совсем правильно описал как повторить баг.
В общем сейчас так: нажимаем кнопку 2-3 раза. Обычно хватает 2 нажатия меньше чем за секунду, логику не пойму до конца, вроде как первый раз нужно чуть дольше держать, а второй раз - очень кратко. Не глядя в MQTT сложно сказать получилось ли повторить этот баг или нет, но *.rcf в архив приложил.
https://dl.dropboxusercontent.com/u/61728590/Wb_2017_01_29.zip
Устройства достаточно старые им примерно 2 года.
Пульт PK311 (+внешняя механическая кнопка) адрес ab91,
адрес 1a9f - это сенсорный пульт PU212-1 (нажимал кнопку включения/увеличения яркости)

Исправлено ошибочное распознавание как датчика движения. Реакция на кнопку теперь должна быть адекватной. (контрол state со значениями 0, 1, меняется по нажатию кнопки).
Кстати, если у вас есть другие устройства, я был бы благодарен за дампы их сигналов и описания того, что должно происходить, это очень бы помогло в тестировании и избегании таких глупых ошибок, как определение кнопки датчиком движения).

Вечер добрый.
Спасибо за оперативность.
Вот еще немного логов https://dl.dropboxusercontent.com/u/61728590/Wb_2017_01_30.zip
Действия были такие:
пульт PU212-1, адрес 0x1a9f (две кнопки), адрес 0x1a9e (одна кнопка, вызов сценария)

  • долгое нажатие на кнопки увеличения/уменьшения яркости - нужно рулить диммером. Как я понимаю вначале идет команда 1 или 3 (вверх или вниз), при отпускании команда 10.
  • короткое и долгое нажатие на кнопку сценария. По идее ноолайтовые устройства должны учитывать сценарии, но нам проще - для этой команды - LoadPreset = 7 по идее нужен просто switch. Ну или на крайний случай pushbutton (но тогда придется самому делать из нее switch в жаваскрипте)

пульт PU312-1, адреса 0x0840, 0x0841, 0x0842 - по одной кнопке вызова сценария (команда 7).
видимо долгое нажатие на кнопки вызова сценария никак не отследить, жаль, ну пусть хоть обычными выключателями поработают.

еще есть PU111-1, но там вроде ничего интересного, один канал всего.

забыл еще уточнить. название MQTT топика содержит “State”, в rfsniffer с заглавной буквы, раньше было с маленькой. javaScript регистрозависимый. :slight_smile: предлагаю сделать “State” как везде, с маленькой буквы, чтобы не приходилось гадать - где как.

Простите, что вмешиваюсь в разговор, но, насколько я вижу, вы как раз поддерживаете работу с беспроводными устройствами 433mhz. Можно ли вас попросить обратить внимание на вот эту ветку Подключение датчиков Oregon 433 mhz. Никакого внятного совета, к сожалению, не дождался
Если коротко , то у меня сохраняется проблема с работой датчика oregon thn132n. Подскажите, пожалуйста, куда и как копать?
Прошу прощения за оффтопик.

Вот попробуйте rfsniffer, который в этой ветке обсуждается.

так уже пробовал, самое интересное, что периодически ( собственно как и должно быть) вижу:

24/01 15:32:48 [16050] RF Recieved: Oregon:type=EC40 id=58 ch=1 t=-8.9. RSSI=-105 (-105)
24/01 15:32:48 [16050] Msg from Oregon type=EC40 id=58 ch=1 t=-8.9
24/01 15:33:27 [16050] RF Recieved: Oregon:type=EC40 id=58 ch=1 t=-8.9. RSSI=-105 (-105)
24/01 15:33:27 [16050] Msg from Oregon type=EC40 id=58 ch=1 t=-8.9

Но это неправдивые данные! ( метеостанция видит совершенно другую температуру)

Вот выше коллега написал, что нужно сделать в таком случае, чтобы мы могли разобраться:

Здравствуйте.
Пытаюсь установить rfsniffer
root@wirenboard-#: dpkg -i wb-homa-rfsniffer_1.0.4-2_armel.deb
Получаю

dpkg: regarding wb-homa-rfsniffer_1.0.4-2_armel.deb containing wb-homa-rfsniffer:
wb-homa-rfsniffer conflicts with wb-homa-ism-radio
wb-homa-ism-radio (version 1.17.1) is present and installed.

dpkg: error processing wb-homa-rfsniffer_1.0.4-2_armel.deb (–install):
conflicting packages - not installing wb-homa-rfsniffer
Errors were encountered while processing:
wb-homa-rfsniffer_1.0.4-2_armel.deb

Т.Е. насколько я понимаю мне необходимо удалить пакет wb-homa-ism-radio?

Да, все правильно. Эти пакеты логически не совместимы. Если хотите запускать rfsniffer без удаления ism-radio, то это можно сделать вручную: wb-homa-rfsniffer -c wb-homa-rfsniffer.conf (предварительно остановив сервис ism-radio). Файлы можно получить распаковав пакет.

Решил тоже попробовать и посмотреть. Сразу после установки заметил что rfsniffer сильно грузит процессор. По snmp до 100, top:

Как-то оно сильно подозрительно… пока остановил сей новый сервис без дальнейших действий.

И еще вопрос: с помощью rfsniffer реально использовать китайский радиобрелок на 433 мгц? C ism-radio видел приходящие с него пакеты, но толку от этого не было. Если и с rfsniffer прогнозируется такой же результат, то просто забуду про эту тему, поскольку кроме брелка я не планирую использовать что-либо радиоканальное на 433.

Странно. У меня эпизодически по top’у использование процессора у rfsniffer подскакивает до 20%, а обычно его не видно вообще.

Да, но это потребует некоторых усилий.

  1. Нужен дамп для каждой из кнопок. Юрий выше писал, как его сделать
  2. Нужно сделать декодер для брелка. Тут вариантов 3: сделать самому (исходники доступны), попросить команду Wirenboard, могу сделать я (если будут дампы и нет подвоха с кодировкой).

И да, точно работают брелки:

Возможно сильно загаженый эфир. Ради интереса посмотрел у себя - в простое меньше 1%, если быстро нажимать кнопки на 3х пультах сразу - подскакивает до 20-25, один раз видел 29%.
Думаю проверить эту версию очень просто - отключите антенну, нагрузка должна упасть.

Приболел вчера. Сегодня попробовал еще раз. Удалил пакет и поставил заново. Подождал минут 5. С загрузкой все то же самое. Видно, что rfsniffer отжирает процессор ровно на ту долю, чтобы загрузить его полностью. Эфир не загажен, с ism-radio такого не было. Если есть мысли как провести диагностику - пишите, сделаю. Никаких настроек я не делал, может надо что-то делать? Перед установкой удалил из mqtt все пульты noolight и wb-homa-rcd. Пока этот вопрос не решен, говорить о дампах преждевременно.

Теперь о пультах… Можно глянуть ТУТ. У меня есть пульты на чипе HCS301. Используются давно вместе с приемником-декодером, подключенным к дискретным входам. Управляет сигнализацией. Как я понимаю, их использовать нереально, там плавающий код, раньше искал - вроде никому не удалось его вскрыть. Есть еще пульт на чипе EV1527, взял для пробы в надежде что его удастся привязать в WB. Вот с ним может и можно что-то сделать, но я пока не понимаю как.