Wirenboard and Python and Paho_mqtt

Добрый день, Всем!

Руки дошли. Начал изучать Python применительно к Wirenboard.

Тестирую этот пример. Модифицировал его немного. Топики публикуются, все ото всюду подписывается. Все хорошо работает, ну, на мой ламерский взгляд.
Однако.


#!/usr/bin/env python3
import time
import random
import paho.mqtt.client as mqtt

BROKER = “localhost”
PORT = 1883

# Названия устройства и контрола по WB Convention
DEVICE = “test_device”
CONTROL = “value”

client = mqtt.Client(“test_publisher”)
client.connect(BROKER, PORT, 60)
client.loop_start()

# Опубликуем метаданные, чтобы устройство появилось в Home UI
client.publish(f"/devices/{DEVICE}/meta/name", “Тестовое устройство”, retain=True)
client.publish(f"/devices/{DEVICE}/controls/{CONTROL}/meta/type", “value”, retain=True)
client.publish(f"/devices/{DEVICE}/controls/{CONTROL}/meta/readonly", “1”, retain=True)

try:
while True:
value = random.randint(0, 100)
client.publish(f"/devices/{DEVICE}/controls/{CONTROL}“, value)
print(f"Опубликовано: {value}”)
time.sleep(1)
except KeyboardInterrupt:
print(“Остановка скрипта.”)
finally:
client.loop_stop()
client.disconnect()

```

# Опубликуем метаданные, чтобы устройство появилось в Home UI

т.е. эти данные должны создать устройство, которое должно появится в Устройствах (web) wirenboаrd, а топики в Каналах MQTT?

Я везде выловил эти топики и в mosquitto и MQTTexplorer, но в webинтерфейсе ничего не появилось.

Подскажите, что я очевидно упустил?

Добрый день.

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

На что обратить внимание

На самом деле это код одного из крутых участников WirenBord Team.

и комментарии к коду его. я просто этот код разбираю как урок

И все мне в этом уроке нравится и семантика этого примера не мутнее кристаллов солей гексафторида урана.

Вам тестировать код и не нужно. Нужно просто глянуть одним хозяйским взглядом…и просто пояснить. Почему этот коммент предписывает появление устройства в web Wirenbord, а в моем случае, оно там не появляется.

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

Добрый день!

Судя по описанному поведению, вероятно, есть ошибка из-за несоответствия конвенциям. Рекомендую сверить все MQTT-топики, а также проверить наличие и корректность всех обязательных свойств у каждого топика.

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

Добрый день.
Подскажите мне удалось вам помочь, может остались вопросы по теме?

Добрый день!
Да, спасибо! Поигрался с кавычками и топиками…и все заработало как надо.