Еще на раз все проверил, и кажется нашел ошибку с типом самой переменной в клиенте (исходная переменная float в MQTT передается в string (utf-8), поменял переменную в клиенте со string на float и всё завелось на локальном брокере. Единственное, если сбросить подключение на клиенте при повторном запуске он не всегда удачно подключается к брокеру: лечится перезапуском брокера.
С уважением,
Андрей