Релиз wb-2108

Ой, тут что-то очень старое, ещё и умерло.

Дайте вывод команд:

wb-release
dpkg -s wb-rules

После этого можно попробовать сделать service wb-rules restart

root@wirenboard-ARFURJBR:/etc# wb-release
Wirenboard release wb-2108 (as stable), target wb5/stretch

You can get this info in scripts from /usr/lib/wb-release.
root@wirenboard-ARFURJBR:/etc# dpkg -s wb-rules
Package: wb-rules
Status: install ok installed
Priority: optional
Section: misc
Installed-Size: 5854
Maintainer: Ivan Shvedunov ivan4th@gmail.com
Architecture: armel
Version: 1.7.1
Depends: libc6 (>= 2.13)
Breaks: wb-mqtt-confed (<< 1.0.2)
Conffiles:
/etc/init.d/wb-rules f8002cf028f5e2d3331a99aa18b53aed
/etc/wb-configs.d/13wb-rules 1236e2e4343d949e0a21de865706c00b
/etc/wb-rules/alarms.conf 2051dd214a6232c5e778c50e52d5fb6a
/etc/wb-rules/rules.js 926c30d0fd63e272f6f9ad370dffb1b0
Description: Wiren Board Rule Engine

на странице после вращения цветка пишет вот такую ошибку
Error listing the scripts: MQTT RPC request timed out MqttTimeoutError

Ага, у вас WB5, окей. service wb-rules restart не помогает?
Что пишет?

ничего не пишет(( просто выполняет и появляется приглашение #

Помогла перезагрузка и сброс сервиса))) сейчас там старые правила доступны!! спасибо!

E: Не удалось получить http://deb.wirenboard.com/wb6/stretch/pool/main/w/wb-release-info/wb-release-info_1.0-stable~wb6+stretch~20210901130752_all.deb  404  Not Found
E: Невозможно получить некоторые архивы, вероятно надо запустить apt-get update или попытаться повторить запуск с ключом --fix-missing

Возможно, у вас это идеально совпало с моментом обновления нашего репозитория. Можете ещё раз попробовать?

с удовольствием ))

Изменения wb-hardware.conf стоит сделать или оставить можно свою измененную версию?

Можно оставить

Обновился и теперь мои правила не видят глобальный файл, указанный в etc/default/wb-rules

WB_RULES_MODULES="/mnt/data/etc/wb-rules-modules:/etc/wb-rules-modules:/usr/share/wb-rules-modules"

#service wb-rules status
wb-rules.service - MQTT Rule engine for Wiren Board
   Loaded: loaded (/lib/systemd/system/wb-rules.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-09-01 17:10:25 +03; 11s ago
 Main PID: 14044 (wb-rules)
   CGroup: /system.slice/wb-rules.service
           └─14044 /usr/bin/wb-rules -syslog -editdir /etc/wb-rules/ /usr/share/wb-rules-system/rules/ /etc/wb-rules/ /usr/share/wb-rules/

сен 01 17:10:31 wirenboard-ATNO6FBW wb-rules[14044]: ERROR: error requiring module globals, not found
сен 01 17:10:31 wirenboard-ATNO6FBW wb-rules[14044]: WARNING: couldn't load /etc/wb-rules/light.js: Error: error error (rc -100)

Я не искал верный вариант, просто сделал дополнительно 2 записи:

127.0.0.1 wirenboard-AFMIIQX7
127.0.0.1 localhost

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

После обновления стабильным релизом возникает регулярно ошибка
Sep 1 19:39:30 wirenboard-AFMIIQX7 wb-rules[1585]: Device "ppp0" does not exist.

При этом я не пользуюсь GSM, конфигурации о ppp0 нет в /etc/network/interfaces
Еще вопрос - почему у меня в рутах не явно указан ip шлюза?

root@wirenboard-AN3PDYLU:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router.lan      0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0
root@wirenboard-AN3PDYLU:~# service wb-rules status
● wb-rules.service - MQTT Rule engine for Wiren Board
   Loaded: loaded (/lib/systemd/system/wb-rules.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-09-01 16:16:16 UTC; 26min ago
 Main PID: 3183 (wb-rules)
   CGroup: /system.slice/wb-rules.service
           └─3183 /usr/bin/wb-rules -syslog -editdir /etc/wb-rules/ /usr/share/wb-rules-system/rules/ /etc/wb-rules/ /usr/share/wb-rules/

Sep 01 16:32:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:33:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:34:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:35:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:36:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:37:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:38:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:39:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:40:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.
Sep 01 16:41:30 wirenboard-AN3PDYLU wb-rules[3183]: Device "ppp0" does not exist.

Еще вопрос - почему у меня в рутах не явно указан ip шлюза?

root@wirenboard-AN3PDYLU:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router.lan      0.0.0.0         UG    0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

Ну как-де не указан? “default router.lan” - это оно. Просто DNS на Вашем роутере сопоставляет адрес роутера с именем router.lan
Что-бы получить в “числах” без DNS-распознавания - надо к команде route добавить ключ “-n”, т.е. “route -n

Device "ppp0" does not exist. - это из-за системных правил, находятся в /usr/share/wb-rules-system/rules/network.js

есть функция для обновления адресов интерфейсов,

  function _system_update_ip_all() {
     _system_update_ip("Ethernet IP", "eth0");
     _system_update_ip("Ethernet 2 IP", "eth1");
     _system_update_ip("Wi-Fi IP", "wlan0");
     _system_update_ip("Wi-Fi 2 IP", "wlan1");
     _system_update_ip("GPRS IP", "ppp0");
  };

которая без оглядки на существование интерфейса выполняет ip addr show <interface>
т.к. ppp0 не существует, выводится ошибка. А если отключить WiFi, то будет ругаться и на wlan0, wlan1.

Причем, такой частый опрос (5 вызовов внешней команды в сек) оправдан только для GPRS/3G/LTE, хотя и там, можно обновлять IP где-то в недрах ifup при его изменении…

1 лайк

Приношу извинения, это уже было исправлено даже, просто не доехало в релиз. Через 10 минут в репозиторий загрузится исправление

Также после обновления столкнулся с тем, что ранее топики у WB-DI-WD14 были

wb-gpio/EXT2_IN8

теперь стали
wb-gpio/EXT2_DR8

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

Мы этого не меняли, не должно было поменяться. Проверьте на всякий случай, что в /etc/wb-hardware.conf порядок устройств сохранился

Спасибо, обновлюсь. Но вот уже вижу, что все выключатели стали у mr6c кнопками. Теперь в регистры всех модулей вносить свои значения для выключателей? прикольно

Теперь в mr6c input расположены выше K1-K6 в web ui. Можно как было наоборот?

Можно подробней об этом? Если не сложно, приложите сюда ваш /etc/wb-mqtt-serial.conf

wb-mqtt-serial.conf (13.0 КБ)