MQTT отправка команды ON и OFF

Стартовая страница Форумы Понять, как работает ПО MQTT отправка команды ON и OFF

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Автор
    Сообщения
  • #38099
    kuryshevilia
    Участник

    Здравствуйте, вопрос такого формата, в mqtt приходит значение ON и OFF конвертировать в 1 и 0 разобрался как, а есть ли возможность конвертировать команду 1 и 0 в ON и OFF.
    Заранее спасибо

    #38100
    manjey73
    Участник

    Нужна выходная формула, которая вместо Cmd отправит CmdString насколько понимаю.

    public string Bla-Bla (double cmd)
    {
    string s = «OFF»;
    if (cmd > 0)
    s = «ON»;
    retrurn s;
    }

    ну или что-то похожее. в выходной формуле Bla-Bla(Cmd)

    • Этот ответ был изменен 1 неделя, 5 дней назад от manjey73.
    #38105
    kuryshevilia
    Участник

    Да спасибо этот скрипт помог, но теперь вылез следующий момент, MQTT не понимает эту команду и выдает NAN, может кто то сталкивался с таким.

    #38109
    Mikhail
    Модератор

    Добрый день!
    Посмотрел по коду драйвера DrvMqttClient: попробуйте закодировать OFF или ON в 16-ричный вид и отправить через приложение Администратор как 16-ричные данные.
    Если заработает, тогда нужно будет под эти данные подогнать формулу.

    #38110
    kuryshevilia
    Участник

    Отправил
    4f 4e- ON
    4f 46 46- OFF
    В коммуникаторе команда отобразилась
    20 302- ON
    5 129 798- OFF

    #38111
    kuryshevilia
    Участник

    Так же если работать через скрипт а коммутаторе все отображается
    | 15.04.2025 16:41:11 | Code=11532_command.data1, Data=4F4E |
    | 15.04.2025 16:41:16 | Code=11532_command.data1, Data=4F4646 |
    Но в статистике линии пишет
    2025-04-15 16:41:16 Команда 11532_command.data1 устройству [4] Mqtt_client
    Ошибка: недопустимая команда

    #38115
    Mikhail
    Модератор

    Из выходной формулы (или скрипта) верните не строку, а массив байт:
    Cmd > 0 ? new byte[] {0x4f, 0x4e} : new byte[] {0x4f, 0x46, 0x46}
    Работает?

    #38117
    kuryshevilia
    Участник

    Выходная формула сработала при отправке 1 или 0, команды приходят в таком формате.
    | 16.04.2025 10:34:59 | Code=11532_command.data1, Data=4F4E |
    | 16.04.2025 10:36:19 | Code=11532_command.data1, Data=4F4646 |
    В MQTT эта команда определяется как NAN

    #38118
    kuryshevilia
    Участник

    Проблема была в топике MQTT выходная формула все правильно записывает
    Все заработало
    Спасибо большое.

Просмотр 9 сообщений - с 1 по 9 (из 9 всего)
  • Вы должны авторизироваться для ответа в этой теме.