MQTT v3 конектор
Публикувайте текущите данни на устройствата и стратегиите в собствен MQTT брокер и приемайте команди от него.
→ Общ преглед
Конекторът MQTT v3 свързва контролера като клиент към MQTT брокер по ваш избор, например брокера на система за управление на сгради, SCADA или платформа за домашна автоматизация. След това контролерът публикува текущите стойности на всички устройства и стратегии, цените на електроенергията и съобщение keep-alive, и слуша за команди като зададени стойности на устройства, включване и изключване на стратегии, графици на External EMS и настройки на мрежата.
Конекторът е изключен, докато не въведете Host. Той не зависи от връзката с Reduxi Cloud; двете могат да работят едновременно.
Всеки, който може да публикува в командните topic на контролера във вашия брокер, може да променя зададените стойности на устройствата, да изключва стратегии, да променя лимитите на мрежата и да рестартира контролера. Използвайте брокер с автентикация на потребителите, дайте на контролера собствен акаунт и разрешавайте достъп за запис до controllers/<Unit ID>/…/set и controllers/<Unit ID>/commands/… само на доверени клиенти.
1 Свързване към брокер
2 Параметри
Състояние
| Параметър | Какво прави | Единица / по подразбиране |
|---|---|---|
| Client | MQTT client ID, който използва контролерът. Това е Unit ID на контролера и той образува всеки topic: controllers/<Unit ID>/…. Само за четене. |
текст |
| Host | Брокерът, към който сочи запазената конфигурация. Празно = конекторът е изключен. Само за четене. | текст |
| Connected | Зелена отметка = свързан с брокера; червен кръст = не е свързан. Само за четене. | — |
| Икона за обновяване | Чете състоянието отново. | — |
Mqtt connection
| Параметър | Какво прави | Единица / по подразбиране |
|---|---|---|
| Host | Име на хост или IP адрес на брокера. Оставете празно, за да изключите конектора. | текст · празно = изключен |
| Port | TCP портът на брокера. | число · по подразбиране 1883 |
| Username | Потребителско име в брокера. По избор. | текст |
| Password | Паролата в брокера. Използва се само заедно с Username. Полето показва паролата в открит вид. | текст |
| Use SSL | Yes отваря връзката с TLS криптиране. Ако никога не сте го задавали, то се включва автоматично, когато е записана верига на сървърния CA или клиентски сертификат. | Yes / No · по подразбиране No |
| Verify server cert | Yes проверява сертификата на брокера спрямо Server CA chain (или спрямо вградените доверени удостоверяващи органи на контролера, ако не е качена верига). No приема всеки сертификат: връзката е криптирана, но контролерът не проверява с кого комуникира. Използва се само при Use SSL = Yes. | Yes / No · по подразбиране No |
| Server CA chain (PEM format) | Сертификатът (веригата) на удостоверяващия орган, подписал сертификата на брокера. Щракнете върху Choose File и изберете PEM файл. След като е записан, полето показва вместо това бутон Download. | PEM файл |
| Client public certificate (PEM format) | Собственият клиентски сертификат на контролера, за брокери, които автентикират клиентите със сертификат (mutual TLS). Изисква съответния частен ключ. | PEM файл |
| Client private key (PEM format) | Частният ключ на клиентския сертификат. | PEM файл |
Частният ключ на клиента и паролата за брокера дават достъп до вашия брокер. Съхранявайте файловете на сигурно място, не ги изпращайте по имейл и не оставяйте копия на споделени компютри. Всеки, който има достъп до тази страница на Configurator, може да изтегли записаните сертификати и да види паролата.
Записаният сертификат показва само бутон Download. За да качите друг, щракнете върху Clear connection configuration, после въведете цялата връзка отново с новите файлове.
Additional topics
| Параметър | Какво прави | Единица / по подразбиране |
|---|---|---|
| Name or path | Topic за публикуване, спрямо controllers/<Unit ID>/. Например site/name се публикува като controllers/<Unit ID>/site/name. Редовете с празно име се пропускат. |
текст |
| Payload | Фиксиран текст, публикуван в този topic. | текст |
| Add | Добавя празен ред. | — |
| Икона на кошче | Премахва реда. Влиза в сила след Save. | — |
Additional topics се публикуват заедно с метаданните на контролера: при всяко свързване на конектора към брокера и при всяко изпращане на commands/refresh от брокера.
Публикуване и бутони
| Параметър | Какво прави | Единица / по подразбиране |
|---|---|---|
| Readout interval | Колко често контролерът публикува отчитането и зададената стойност на всяко устройство, както и отчитането, състоянието и стойностите на параметрите на всяка стратегия. По-ниските стойности дават по-актуални данни, но повече трафик. | s · празно = 60 s · минимум 0.25 s |
| Запазете | Запазва настройките и рестартира конектора. Записва се в Audit log като CONNECTOR_EDIT. |
— |
| Clear connection configuration | След потвърждението Are you sure to clear MQTT settings? (Yes / Cancel) изтрива host, порт, потребителско име, парола, настройките за SSL и всички сертификати. Конекторът се изключва. Readout interval и Additional topics се запазват. | — |
След Clear connection configuration контролерът вече не публикува данни и не приема команди през MQTT. Система, която разчита на данните или изпраща графици на External EMS, спира да ги получава или да ги доставя. Трябва да въведете паролата отново и да качите сертификатите отново, за да се свържете пак.
3 Topics
Всички topic започват с controllers/<Unit ID>/. Контролерът публикува с QoS 0 и без флаг retain и се абонира за командните topic с QoS 1. Съдържанието (payload) е JSON или обикновени стойности; пълните формати на payload са в статията от помощния център "Reduxi Controller - MQTT API".
Публикувани от контролера:
| Topic | Съдържание | Кога |
|---|---|---|
identifier |
Идентификация на контролера (unit ID, версии, …) | При свързване и при commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Текущи интервали в ms | При свързване и при обновяване |
devices/list, devices/types, devices/<id>/info
|
Конфигурирани устройства и техните типове | При свързване и при обновяване |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Конфигурирани стратегии и техните параметри | При свързване и при обновяване |
<additional topic> |
Payload от Additional topics | При свързване и при обновяване |
devices/<id>/readout |
Текущи стойности на устройство | На всеки интервал на отчитане |
devices/<id>/setpoint |
Текуща зададена стойност на устройство | На всеки интервал на отчитане |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Включване/изключване на стратегия, текущи стойности, стойности на параметри | На всеки интервал на отчитане |
prices |
Цени на електроенергията за днес и утре | При свързване, при промяна на цените, при prices/refresh
|
strategies/<id>/externalEMS/<type> |
Записан график на External EMS (battery, evse, hvac, pv) |
При …/externalEMS/<type>/refresh
|
keepAlive |
Текущо време (Unix ms) | На всеки интервал keep-alive, по подразбиране 60 s |
Команди, които контролерът приема:
| Topic | Ефект |
|---|---|
commands/refresh |
Публикува отново topic с метаданни. |
commands/reboot |
Рестартира контролера около 5 s по-късно. |
prices/refresh |
Публикува отново prices. |
settings/interval/readout/set |
Променя интервала на отчитане (ms) и го записва. |
settings/interval/keepAlive/set |
Променя интервала keep-alive (ms) и го записва. |
devices/<id>/setpoint/set |
Задава зададена стойност на устройство. |
strategies/<id>/parameters/<id>/value/set |
Задава параметър на стратегия. |
strategies/<id>/active/set |
Включва или изключва стратегия. |
strategies/<id>/externalEMS/<type>/set |
Зарежда график на External EMS за battery, evse, hvac или pv. Игнорира се, освен ако стратегията няма режим на оптимизация External EMS. |
strategies/<id>/externalEMS/<type>/refresh |
Публикува записания график на External EMS. |
settings/grid/set |
Променя настройките на мрежата (местоположение, предпазители, лимит на внос и износ), по избор и в избрани стратегии. |
settings/grid/set презаписва стойностите в Settings → Grid и, ако е поискано, лимитите на стратегиите — същият ефект като при запазване на страницата Grid settings. devices/<id>/setpoint/set записва зададената стойност директно в устройството. Не изпращайте зададени стойности за устройство, което се управлява и от стратегия, защото двете ще се презаписват взаимно.
4 Отстраняване на проблеми
| Симптом | Какво да проверите |
|---|---|
| Connected остава червено | Host и Port са верни; контролерът може да достигне брокера (TCP port test към хоста и порта на брокера); потребителско име и парола; при TLS веригата на CA съответства на сертификата на брокера или опитайте Verify server cert = No, за да стесните проблема. |
| Свързан, но няма данни в брокера | Абонирайте се за controllers/# и проверете стойността на Client: topic използват Unit ID точно както е показан там. |
| Командите нямат ефект | Клиентът, който ги изпраща, има права за публикуване в брокера; topic използва правилния ID на устройство или стратегия (вижте devices/list, strategies/list). |
5 Контролен списък
- Host и Port съответстват на брокера, а Connected показва зелена отметка след обновяване.
- На производствени обекти: Use SSL = Yes, веригата на CA е качена и Verify server cert = Yes.
- Данните пристигат в
controllers/<Unit ID>/с зададения Readout interval. - Достъпът за запис до командните topic е ограничен до доверени клиенти в брокера.
- Файловете със сертификати и паролите се съхраняват безопасно извън контролера.