diff --git a/esphome/components/modbus_controller/number/modbus_number.cpp b/esphome/components/modbus_controller/number/modbus_number.cpp index 23e276a23ab..21682d25fa6 100644 --- a/esphome/components/modbus_controller/number/modbus_number.cpp +++ b/esphome/components/modbus_controller/number/modbus_number.cpp @@ -55,7 +55,8 @@ void ModbusNumber::control(float value) { char hex_buf[format_hex_pretty_size(MODBUS_NUMBER_MAX_LOG_BYTES)]; #endif ESP_LOGV(TAG, "Modbus Number write raw: %s", - format_hex_pretty_to(hex_buf, sizeof(hex_buf), data.data(), data.size())); + format_hex_pretty_to(hex_buf, sizeof(hex_buf), reinterpret_cast(data.data()), + data.size() * sizeof(uint16_t))); write_cmd = ModbusCommandItem::create_custom_command( this->parent_, data, [this, write_cmd](ModbusRegisterType register_type, uint16_t start_address, const std::vector &data) {